A2osX is an operating, programming and execution environment for the 128K Enhanced Apple //e and Apple //gs series of computers. While layered atop of ProDOS, taking advantage of all ProDOS block devices and MLI calls; A2osX is much more than an application or command shell. Written in 65C02 assembly for speed of execution and efficient memory management; A2osX is a multitasking and yes multi-user development environment bringing many of today's server operating system features to our venerable vintage 8-bit systems.
The foundation of A2osX enabling its multi-user multitasking capabilities is a reusable set of APIs and LIBs (written in Assembly) that all programs can and do use which make them very lean and fast. For instance, there is one network API that any program can call which in turn handles the I/O to different brands of LAN cards via a set of drivers. In addition, multiple programs can be using the network at the same time such as the TELNETD server and the TELNET client. A key benefit is that code for each program is smaller because the network API is doing a great deal of the work. With CORE APIs like printf and LIBs such as Network loaded only once (much like a DLL in Windows) memory is conserved, providing more resources to support your A2osX programs.
A2osX is designed to work on any 128k Enhanced Apple //e or newer computer. Specifically, A2osX relies on the enhanced instruction set found in the 65C02 processor (this includes the 65C816 found in the //GS). A2osX will not run on an Apple ][ or ][+, an unenhanced //e or on systems without at least 128K of memory. A2osX does not require any special hardware cards, but does support and its operation can be enhanced with the presence of a mass storage devices (any ProDOS block device), a network card, Super Serial Card and/or a Time Card.
Consult the **[documentation](#documentation)** section below to find other resources available to you for learning how to install, use, develop and test A2osX. The Hardware section of the User Guide contains more information on supported hardware.
Major updates have occurred to the kernel and many of the A2osX API's to support a greatly enhanced shell that boasts significant new scripting capabilities since 0.92. Also added is the the ability to redirect input and output, including errors, and the ability to pipe (|) the output of one command or operation to another (i.e. **ls \* | more** ). A2osX now provides for multiple virtual terminals as well as users/terminals via TCP (through TELNETD) and serial devices (through a SSC driver).
As great as the changes to A2osX itself, we are also please to report that great strides have been made in terms of documentation. While much of it is in draft form, there is a new **[Users Guide](.Docs/User%20Guide.md)**, **[Developers Guide](.Docs/Developers%20Guide.md)**, **[Shell Developers Guide](.Docs/Shell%20Developers%20Guide.md)**, **[Technical Spec](.Docs/Technical%20Spec.md)** and **[Command Guide](.Docs/Command%20Guide.md)**. See the **[Documentation](#documentation)** Section below for more details.
This is just a place holder and plug for our A2osx internet site. Stay tuned here for news about this site. We have also created a Page to discuss A2osX on **[Facebook](https://www.facebook.com/A2osx-372512896625840/)**. He also have a new **[Twitter](https://twitter.com/A2Osx)** handle that we have been using to test new A2osX features but will soon be using as a messaging channel, so please follow.
You can use and/or install A2osX from the media in our Media directory found **[here](.Floppies)**. Provided media includes **Release**, **RC** (Release Candidate), **Stable** and **Bleed** (Cutting Edge) editions in 140K, 800K and 32MB images. Please consult our **[Media Guide](.Docs/Media%20Guide.md)** for more information.
A lot of work has been done to expand and enhance the documentation for A2osX. Some of this documentation is still in the rough draft stage, provided to bring you as much information about A2osX as quickly as possible. We happily welcome any help and contributions from others to this or any area of the A2osX project.
The repository all A2osX documentation can be found **[here](.Docs)**. This directory includes the system generated specifications for all the A2osX APIs as well as all our other documentation.
There are two types of Technical Documentation available. First there is the Automatically Generated Documentation that is created from the source code of A2osX. These documents capture all the internal A2osX APIs and system calls available to the A2osX programmer. Developers should scan through these documents before beginning any A2osX project. In addition, please make sure you look at the programming template file that is the best start to any A2osX program; it can be found **[here](.Docs/.TEMPLATE.S.txt)**.
In addition, there is the developer generated Technical Specifications that document the internal and external A2osX commands, utilities and shell language. The master technical spec file can be found **[here](.Docs/Technical%20Spec.md)**.