A2osX/README.md

81 lines
4.8 KiB
Markdown
Raw Normal View History

2019-03-15 17:44:45 +00:00
# A2osX (0.93) Multi-Tasking OS for Apple II
## Introduction...
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 multiuser development environment bringing many of today's server operating system features to our venerable vintage 8-bit systems.
2019-03-15 17:44:45 +00:00
The foundation of A2osX enabling its multiuser 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 brand LAN cards via a set of drivers. Key here is that multiple programs can be using the network at the same time such as the TELNETD server and the TELNET client. One of the key benefits is code for doing 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 only loaded once (much like a DLL in Windows) memory is conserved, providing more resources to support your A2osX programs.
2019-03-15 17:44:45 +00:00
A2osX is designed to work on any "stock" 128k Apple //e, with no additional hardware with a 65C02 or newer processor.
See the **[documentation](#documentation)** section below to find the other resources available for learning how to install, use, develop and test A2osX.
2019-03-15 17:44:45 +00:00
## Latest News 2019-02-19
Major updates have occured to the kernel and many of the APIs to support an enhanced shell with support of many new scripting capabilities, the ability to redirect and eventually piping output. Current kernel also supports multiple virtual terminals as well as TCP (via TELNETD) and serial (SSC driver) terminals.
If you would like to read all the past news articles for A2osX, you can read the news article found **[here](.Docs/News.md)**.
2019-03-15 17:44:45 +00:00
# **Visit us at [A2osX](http://www.a2osx.com)**
2017-08-23 11:31:35 +00:00
This is just a place holder and plug for our A2osx internet site. Stay tuned here for news about this site.
## Disk images :
2018-07-20 17:26:34 +00:00
+ **A2OSX.BOOT.po** : **(0.92)** 140k BOOT disk image with all binaries
2018-09-07 20:23:47 +00:00
+ **A2OSX.DEV.po** : **(0.92)** 140k disk image with ASM binaries, Debug Tools & INClude files
2018-07-20 14:10:10 +00:00
+ **A2OSX.BUILD.po** : **(0.92)** 800k BOOT disk image with S-C MASM 3.0 and all binaries (BOOT+DEV)
+ **A2OSX.SRC.po** : **(0.92)** 800k disk image with all sources
2017-04-02 21:50:20 +00:00
## Requires :
Enhanced IIe (65c02 cpu) with 128k, //c, IIgs
2019-03-15 17:44:45 +00:00
## Documentation
Much work being done to expand and enhance the documentation for A2osX. Some of this documentations are still in the rough draft stage but are being provided to bring you as much information about A2osX as soon as possible. We happily welcome any help and contributions from others to this or any area of the A2osX project.
### User Guide
A draft of the first A2osX User Guide can be found on GitHub **[here](.Docs/User%20Guide.md)**.
2017-04-02 21:50:20 +00:00
2017-04-02 22:03:38 +00:00
__A new attempt using Mouse card VBL IRQ is targeted in 0.9.1.__
2017-04-02 22:03:38 +00:00
2017-04-02 21:50:20 +00:00
Kernel, loading in Aux LC on top of ProDOS provide API inspired from Linux/Unix World to allow writing applications & command line tools on top of it.
This kernel provides an advanced "Memory Manager" able to relocate 65c02 code.
"Event Manager" makes TCPIP stack able to listen on several ports, manage ARP,DNS...cache expiration and any background processes.
"Task Manager" is responsible to "distribute" CPU time to several loaded processes.
2017-04-02 22:03:38 +00:00
"Device Manager" handles event collected from builtin devices as well as devices added by loadable drivers.
If you're 65c02 or Z80 code writer, how to contribute ?
Several subprojects are now indentified :
+ Hardware Support : adding drivers to support more & more hardware (RAM cards, storage....)
2016-11-14 10:21:46 +00:00
+ Z80 support : Kernel could pass control to any Z80 detected on the system.
+ TCP/IP stack
2017-04-02 22:03:38 +00:00
+ AppleTalk Support
+ GUI & Printing
+ Archive, Disk Image transfer tools (ADT client!)...
+ Question : Pascal or C Compiler?
+ --> Answer : C compiler....Next version of Kernel API will be closer to STDLIBC, Genralize the use of C-Strings
2017-04-02 22:03:38 +00:00
+ ...sure there is some more!
## General Information:
Kernel API is confined in Aux LC Bank 1 & 2 to leave enough room at $EOOO for Drivers.
2017-04-02 22:03:38 +00:00
Network drivers, Mouse, DHGR.DRV can load and fit in Aux LC.
Now it's time to make all external BINs use new API, then GUI development will resume.
OApple+1,OApple+2,OApple+3 to switch between screens : Kernel Log, text, DHGR.
(OApple+shift+1,OApple+shift+2,OApple+shift+3 on FR keyboard)
2016-03-13 22:05:10 +00:00
2017-04-02 22:03:38 +00:00
## Misc
### S-C MASM color scheme for Notepad++
...drop _Tools/userDefineLang.xml in %APPDATA%\Notepad++
2016-01-25 19:48:22 +00:00
;-)