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.
Major updates have occurred 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.
My loneliness has been cured, new resources have signed onto the project. I welcome Patrick Kloepfer who is helping with product management, recruitment, testing and feedback.
It defaults to cooperative mode ('P'olling mode). For this, no particular hardware needed (except 65c02 and 128k, of course!)
If you want to enable preemptive mode, all you need is a "tick" source to get 'V'BL or 'C'lock Mode.
(see below for supported hardware)
Then you must explicitly ENABLE it using KCONFIG utility. (see screenshot below)
You can monitor the kernel state on the 'SYS' screen (OA-1, or SHIFT-OA-1 on french keyboards) and look at the upper right corner, you should see a blincking 'P', 'V' or 'C', showing you the current kernel state..
If you enabled preemptive mode, you should see an additional blinking 'S', each time the kernel switch from one PS to another.
Reminder :
+ (SHIFT)-OA-1 : Kernel SYS Screen
+ (SHIFT)-OA-2 : Console Screen (Shell...)
+ (SHIFT)-OA-3 : DHGR Screen (if loaded)
For now, only SBIN/BIN executables are "switcheable".
Roadmap is as follow:
+ Check all BIN/SBIN sources to make them preemptive compliant, most of them are NOT.
+ Add a way to make LIB also interruptible and reentrant.
+ Add more supported hardware for system clock.
+ ...and still hoping finding few contributors.... :-(
## News 2017-11-08
Kernel 0.9.1 stable enough to resume building.
+ KM.APPLETALK module not crashing anymore
(Undocummented AtInit function, had to go further in official ATINIT disassembly)
+ Improved Command Line editing and history.
(SUPPR key is emulated with Ctrl-X using //e keyboard)
+ New DevMgr enumeration strategy, now including /RAM and other virtual Block Devices
+ Math API (Hacked from APPLESOFT ROM ;-)
+ CSH Script engine within Shell (In progress)
## News 2017-09-22
(once Kernel 0.9.1 stable enough, BOOT & DEV will be updated) __(done!)__
**0.9 has been archived, next Kernel Version is 0.9.1**
+ More Standard C API compliance __(done!)__
+ API Cleanup, many functions still use shared space __(done!)__
| //c,//c+,IIgs Mouse port | 50/60 Hz | Working | Supported at Kernel level, no conflict with GUI's Mouse.DRV (not required to be loaded), requires setting "Machine Timing" properly in KConfig Utility |
| IIe Mouse Card | 50/60 Hz | Working | (same as above) |
| ThunderClock Plus | 64 Hz | Working | gave up fixing this faulty H/W, thanx to JACE emulator! |
| Super Serial Card | ? | Idea, from EtchedPixels | #31 |
| MockingBoard | ? | Idea, from Michael | |
| GOES Irq Card | ? | Idea, from Oliver | #34 |
| ... Any Other suggestion ? | | | |
## !!!HELP NEEDED!!!
Thanx a lot for all positive comments i read here and there, but i definitively need contributors & testers.
Anybody wants to join this project ?
If you're interested on contributing, please send a message with your skills and in which area you are interested to work on (Network, Kernel, device drivers for additional hardware support, GUI, graphical resourses, command line tools....)
This is some sort of "last hope call", some of you were right, this project is really huge!!!
Anyway, i'm convinced that a small team of developers could reach "version 1.0" with GUI & network support in few months....i'm working on it for...4 years now, spending the most of my free time fixing hardware to test this code instead of...writing it!
Well, let me know if you can bring "fresh blood" to this stuff...