# A2osX (0.92) Multi-Tasking OS for Apple II ## SYS/KM* Supported Hardware At Kernel Level (ProDOS): | KM.Name | Status | Comment | | ------- | ------ | ------- | | KM.APPLETALK | Working | AppleTalk Support for ProDOS | | KM.NSC | Working | No-Slot-Clock/DS1216E | | KM.RAMWORKS | Working | AE-Ramworks I,II,III | | KM.VSDRIVE | Working | ADTPro Virtual Drive for SSC | ## SBIN,Daemons/Commands: | Name | Status | Comment | K.Ver | | ---- | ------ | ------- | ------| | DHCPCLNT| Working | rewritten to use new Socket API | 0.92 | | GETTY | Working | -E : Exit on remote close | 0.92 | | HTTPD | In Progress | | 0.9 | | INSDRV | Working | | 0.92 | | KCONFIG | Working | Kernel Configuration Utility | 0.92 | | LOGIN | In Progress | no auth using /etc/passwd yet | 0.92 | | SHELL | Working | (See Internal Shell commands) | 0.92 | | TCPIPD | Working | ARP,IP,ICMP,UDP & TCP ok | 0.92 | | TELNETD | Working | | 0.92 | ## Internal Shell commands: | Name | Status | Comment | | ---- | ------ | ------- | | \ | Working | $VAR \| string \| "string with SPACE" \| 123 \| -456 | | \ | Working | \ [\ \] ... | | \ | Working | \+ signed int32 add | | | Working | \- signed int32 sub | | | | \* | | | | div | | | | mod | | \ | Working |[ -d direxists ] | | | | [ -e fileordirexists ] | | | | [ -f fileexists ] | | | | [ -n $VAR variable is not empty ] | | | | [ -z $VAR variable is empty ] | | | | [ string1 = string2 ] | | | | [ string1 != string2 ] | | | | [ string1 .< string2 ] | | | | [ string1 <= string2 ] | | | | [ string1 .> string2 ] | | | | [ string1 >= string2 ] | | | | [ int32 -eq int32 ] | | | | [ int32 -ne int32 ] | | | | [ int32 -lt int32 ] | | | | [ int32 -le int32 ] | | | | [ int32 -gt int32 ] | | | | [ int32 -ge int32 ] | | FUNC | | FUNC fonction_name {body} | | RETURN | | Exit function with return code | | SWITCH | | SWITCH | | CASE | | CASE | | BREAK | | Exit SWITCH/CASE | | DEFAULT | | | | END | | End of SWITCH Statement | | CD | Working | Improved syntax : now, 'CD ../BIN' works | | DATE | Working | | | ECHO | Working | \b,\e,\f,\n,\\\ and \\% supported | | | | -N : Suppress \r\n | | ELSE | Working | Optional branch for IF block | | EXIT | Working | exit shell | | FI | Working | Terminator for IF block | | IF | Working | [ \ ] | | LOOP | Working | Terminator for WHILE block | | MD | Working | Create a directory | | NOHUP | Working | Start a process with PPID=PS0 (Daemon) | | PAUSE | Working | Wait until CR | | POPD | Working | Restore previously saved working directory | | PUSHD | Working | Save actual working directory | | | | PUSHD \ do also a CD to \ | | PWD | Working | Print Working Directory | | RD | Working | Delete an empty directory | | READ | Working | -S : no echo (password) | | | | -P : "prompt message" | | REN | Working | Rename a file, directory or volume | | SET | Working | -X : toggle debug mode | | | | -C : toggle Control-C break mode | | SHIFT | Working | Remove $1 from cmd line | | SLEEP | Working | Wait \ 10th sec | | TIME | Working | | | WHILE | Working | [ \ ] | ## Shell variables: | Name | Status | Comment | | ---- | ------ | ------- | | $0 | Working | Command Full Path | | $1-$9 | Working | Arg[n] | | $* | Working | All Args | | $# | Working | Arg Count | | $? | Working | Return Code | | $@ | Working | Parent PID | | $$ | Working | PID | | $! | Working | Child PID | | $UID | Working | PS Owner UID | | $PWD | Working | Working Directory | note : '$VAR' does NOT expand Variable ## Shell I/O control/redirection: | Token | Status | Comment | | ---- | ------ | ------- | | . | Working | use same env | | & | Working | start proc | | \| | Working | pipe | | < | Working | StdIn redirection | | > | Working | StdOut redirection | | >> | Working | Append StdOut | | 1>> | Working | | | 1> | Working | | | 2>> | Working | StdErr redirection | | 2> | Working | | ## DRV,Drivers: | Name | Status | Comment | K.Ver | | ---- | ------ | ------- | ----- | | Console.DRV | Working | ANSI support in Progress. | 0.92 | | DHGR.DRV | Working | 560x192 Mono/16 colors Mixed-Mode support | 0.9.1 | | LanCeGS.DRV | Working | | 0.92 | | Mouse.DRV | Working | Apple Mouse Card,//c Mouse Port | 0.9.1 | | PIC.DRV | In Progress | Apple "Parallel Interface Card" Driver, renamed from PPIC.DRV | 0.9 | | SSC.DRV | Working | Apple "Super Serial Card" Driver | 0.92 | | SSC.I.DRV | Working | Apple "Super Serial Card" Driver (IRQ enabled) | 0.92 | | Uthernet.DRV | Working | | 0.92 | | Uthernet2.DRV | Working | | 0.92 | | Uther2.AI.DRV | In Progress | With ARP/IP Offloading | 0.92 | ## BIN,External Shell commands: | Name | Status | Comment | K.Ver | | ---- | ------ | ------- | ----- | | CAT | Working | -A : Show All non printable caracters | 0.92 | | | | -N : Number all output lines | | | | | -S : Suppress repeated empty output lines | | | CUT | Working | CUT \ "line" or CMD\|CUT \ | 0.92 | | | | -H : This help screen | | | | | -F nn : Output field nn | | | | | -M nn : Output starting at nn | | | | | -N nn : Output Ending at nn | | | | | -S ch : Change default SPACE separator to 'ch' | | | CHGRP | In Progress | -C : Continue On Error | 0.9 | | | | -R : Recurse subdirectories | | | CHMOD | In Progress | -C : Continue On Error | 0.9 | | | | -R : Recurse subdirectories | | | CHOWN | In Progress | -C : Continue On Error | 0.9 | | | | -R : Recurse subdirectories | | | CHTYP | Working | -C : Continue On Error | 0.92 | | | | -R : Recurse subdirectories | | | CP | Working | -C : Continue On Error | 0.92 | | | | -Q : Quiet | | | | | -R : Recurse subdirectories | | | | | -Y : Dont't Prompt For Override | | | EDIT | Working | still missing : find/replace | 0.92 | | FORMAT | In Progress | FORMAT \ [VOLUME.NAME] | 0.92 | | | | -L : Low-Level Format *not currently supported | | | | | -1..9 : Catalog Size (block count) | | | GREP | Working | GREP \ PATTERN FILE or CMD\|GREP \ PATTERN | 0.92 | | | | -H : This help screen | | | | | -I : Ignore Case | | | | | -N : Print line Number | | | KILL | Working | KILL \ PID | 0.92 | | | | -0 : No Signal | | | | | -1 : SIGQUIT | | | LS | Working | -A : Print . & .. | 0.92 | | | | -C : Single column listing | | | | | -F : Single column, includes full path | | | | | -L : long listing with size/date... | | | | | -R : Recurse subdirectories | | | LSDEV | Working | Dump device Drivers | 0.92 | | LSOF | Working | List Open Files | 0.92 | | MD5 | Working | MD5 \[ -D : String \| file \] | 0.92 | | MEM | Working | Old dump behavior is now MEMDUMP. New MEM command displays MEMSTAT (Main, Aux & Kernel Memory) | 0.92 | | MKDIR | Working | Make Directory| 0.92 | | MORE | Working | MORE \ or CMD\|MORE \ | 0.92 | | | | -H : This help screen | | | | | -N : Number all output lines | | | | | -P : Page mode, no scroll | | | | | -S : Process ESC codes | | | NSCUTIL | Working | NSCUTIL DD/MM/YY,hh:mm:ss | 0.92 | | | | Tool for setting time in NSC/DL1216E | | | MV | Working | -C : Continue On Error | 0.92 | | | | -Q : Quiet | | | | | -R : Recurse subdirectories | | | | | -Y : Dont't Prompt For Override | | | PS | Working | List Processes| 0.92 | | RM | Working | RM \[File/Dir, *,? wildcards allowed\] | 0.92 | | | | -C : Continue On Error | | | | | -Q : Quiet | | | | | -R : Recurse subdirectories | | ## Network (TCPIP) tools: | Name | Status | Comment | K.Ver | | ---- | ------ | ------- | ----- | | ARP | Working | dump ARP cache, setup a static ARP entry | 0.92 | | DNSINFO | Working | dump DNS cache, setup a static DNS entry | 0.92 | | HTTPGET | In Progress | HTTPGET [port] | 0.93 | | | | -U Url | | | | | -F UrlFile | | | IPCONFIG | Working | -D : Try to get IP address from DHCP | 0.92 | | | | -E : Read ETC files | | | | | -S : Set/Reset TCPIP configuration (-E, then -D if required) | | | NETSTAT | Working | | 0.92 | | PING | Working | PING | 0.92 | | | | -1..9 : Ping Count | | | TELNET | Working | TELNET [port] | 0.92 | ## DEV tools: | Name | Status | Comment | K.Ver | | ---- | ------ | ------- | ----- | | ASM | In Progress | S-C MASM based multi CPU assembler | 0.9.1 | | MEMDUMP | Working | Tool to track memory leak| 0.92 | | ---- | ------ | ------- | ----- | | RPCDUMP | In Progress | tool based on UDP socket API, renamed from RPCINFO | 0.92 | | | | RPCDUMP | |