Updated Guides

This commit is contained in:
Patrick Kloepfer 2019-09-23 02:08:32 -04:00
parent 35b86518d0
commit 933e1fae53
2 changed files with 134 additions and 134 deletions

View File

@ -63,14 +63,14 @@ INSDRV, short for "install driver", is a system process that loads and initializ
![](../.screen-shots/ScreenShot.KCONFIG.png)
KCONFIG, short for "Kernel Configuration" Utility, is a system program that allows the A2osX administrator to configure various settings of their A2osX system. Any changes to your system configuration are stored in ${ROOT}/A2OSX.KCONFIG. When A2osX boots and loads the KERNEL process, it looks for this file, and if not present it initializes the KERNEL with A2osX defaults.
KCONFIG, short for "Kernel Configuration" Utility, is a system program that allows the A2osX administrator to configure various settings of their A2osX system. Any changes to your system configuration are stored in A2OSX.KCONFIG located in the root directory of your A2osX installation. When A2osX boots and loads the KERNEL process, it looks for this file, and if not present it initializes the KERNEL with A2osX defaults.
In KCONFIG you can set:
- Machine Timing, either 60 (Default) or 50Hz. If you change this RGXX will happen.
- CHRoot to /RAMx, either Disabled (Default) or Enabled. Enabling does RGXX.
- Preemptive Mode, either Disabled (Default) or Enabled. Enabling does RGXX.
- Machine Timing, either 60 (Default) or 50Hz. This should match the power/timing of your system. A2osX uses the Apple's VBL signal and this setting to correctly produce 1-Second and 1/10th-Second events which are used to preemptively switch tasks. If this setting does not match your actual machine timing, timing of task switches will be slower/faster by 10-20% but otherwise A2osX should operate normally.
- CHRoot to /RAMx, either Disabled (Default) or Enabled. This feature currently not implemented.
- Preemptive Mode, either Disabled (Default) or Enabled. See discussion on A2osX Preemptive Mode in the A2osX User Guide.
- TTYs, between 1 and 4, default is 2. This is the number of Virtual Terminals configured on your system. Please note, increasing and decreasing the number of virtual terminals can have a significant impact on the amount of memory used by the system, which in turns impacts the amount of free memory available to run your A2osX programs and scripts.
- Slots 1-7, Enabled (Default) or Disabled. If you disable a slot this RGXX will happen.
- Slots 1-7, Enabled (Default) or Disabled. Certain drivers in A2osX such as the ones for a Super Serial Card (SSC) or Ethernet Card search for a matching hardware device starting in Slot 1. If you disable any of the slots in KConfig, these slots will be skipped in the search during driver load/initialization. One use of this feature, if you have 2 SSCs in your system with the 1 in slot 1 connected to a printer and another in slot 2 connected to a PC for use with ADTPro. Setting Slot 1 to Disabled, will have A2osX skip the card in Slot 1 connected to the printer from being used by the KM.VEDRIVE driver loaded during A2osX startup.
### LOGIN
@ -78,7 +78,7 @@ In KCONFIG you can set:
| ---- |
| LOGIN |
LOGIN is a system process for A2osX that authenticates users against the A2osX User Database stored in ./ETC/PASSWD. Once a user is authenicated, LOGIN then loads the SH (./BIN/SH) process passing it the PROFILE script found in the users ${HOME} directory.
LOGIN is a system process for A2osX that authenticates users against the A2osX User Database stored in ./ETC/PASSWD. Once a user is authenicated, LOGIN then loads the SH (./BIN/SH) process passing it the PROFILE script found in the users Home directory.
### NETWORKD
@ -86,7 +86,7 @@ LOGIN is a system process for A2osX that authenticates users against the A2osX U
| ---- |
| NETWORKD networklibrary [networklibrary] ... |
This system command loads one or more network libraries to provide network services to A2osX applications and utilities such as Telnet, TelnetD and HTTPD. Note, the appropriate Ethernet card driver must first be loaded before attempted to load network libraries. In most cases, network services will be started with a script or as part of the boot process that will load the appropriate drivers, libraries and service programs in the right order. Consult the User Guide for more information on A2osX networking.
This system command loads one or more libraries providing network services to A2osX applications and utilities such as Telnet, TelnetD and HTTPD. Note, the appropriate Ethernet card driver must first be loaded before attempted to load network libraries. In most cases, network services will be started with a script or as part of the boot process that will load the appropriate drivers, libraries and service programs in the right order. Consult the User Guide for more information on A2osX networking.
### TELNETD
@ -94,11 +94,13 @@ This system command loads one or more network libraries to provide network servi
| ----- | --- |
| TELNETD | -d [port] : Specify optional port |
TELNETD is a server process that listens for incoming requests to connect to your A2osX system. By default it listens on Port 23. You can change the Telnet Server port by starting the TELNETD process with the --d option and specifying an alternate port. Typically this would be used to get around local firewall or port restrictions. One example, is if you are running yoru server at home on a DSL or Cable connection your provider might block port 23. In addition, if you are running in an environment with only one public IP address and you have another system at that site already running a Telnet server, you can use this option to move your Apple to alternate port.
TELNETD is a server process that listens for incoming requests to connect to your A2osX system. By default it listens on Port 23. You can change the Telnet Server port by starting the TELNETD process with the --d option and specifying an alternate port. Typically this would be used to get around local firewall or port restrictions such as when you are running your server at home on a DSL or Cable connection and your provider blocks port 23. In addition, if you are running in an environment with only one public IP address and you have another system at that site already running a Telnet server, you can use this option to move your A2osX host to alternate port.
When TELNETD detects an incoming request it starts a GETTY process and creates a virtual internet terminal for the user and begins the LOGIN process same as the system would for a hardwired terminal. Note TELNETD requires that you have a supported ethernet card and have configured your system for a network appropriately.
## BIN,External Shell commands:
The BIN or "External" shell commands are the tools used by most users to display and manipulate data stored on their A2osX system. Typcical commands allow you to display directory contents (LS), display file contents (CAT), copy files (CP), delete files (RM), etc. These commands are found in **./BIN/** letting you know they are normal user commands.
### BMP2PIX
@ -146,40 +148,6 @@ If you did CAT -N -S CATTEXT to suppress the extra blank lines you would see:
Note that the numbering of the lines didn't change, because that is their true number in f the file, but CAT removed the redundant blank lines. Whether there are 2 or 200 blank lines in a row, they will be reduced to just 1.
### CUT
| Command | Options |
| --- | --- |
| CUT \<opt\> "line" or <br> CMD \| CUT \<opt\> | -H : This help screen <br> -F nn : Output field nn <br> -M nn : Output starting at nn <br> -N nn : Output Ending at nn <br> -S ch : Change default SPACE separator to 'ch' |
The CUT command is used to extract a subpart or portion of a string. Use this command to simply extract substrings much like Basic's MID, LEFT, or RIGHT might be used. It can also be used within the powerful FOR NEXT construct to process fields of columns from files or the output of processes.
As an example, normally when you execute the **LS -L /** command you get output similar to:
/A2OSX.BUILD/ROOT/$ LS -L /
/RAM3 S3D2 Blocks Used:8 Total:16000
/A2OSX.BUILD S7D1 Blocks Used: 3230 Total:65535
/MAKE S7D2 Blocks Used:48946 Total:65535
Now, if instead we execute the follow command at the shell prompt:
/A2OSX.BUILD/ROOT/$ FOR F IN `LS -L /`;ECHO $F;NEXT
/RAM3 S3D2 Blocks Used:8 Total:16000
/A2OSX.BUILD S7D1 Blocks Used: 3230 Total:65535
/MAKE S7D2 Blocks Used:48946 Total:65535
It looks like the same results, but from now instead of LS simply outputting all of its results at once, each line is being passed to the FOR loop (as VAR $F) where we simply ECHO it. Now imagine if instead we passed $F to CUT, we can display only specific columns of information as seen in these two examples:
/A2OSX.BUILD/ROOT/$ FOR F IN `LS -L /`;CUT -M 00 -N 15 $F;NEXT
/RAM3
/A2OSX.BUILD
/MAKE
/A2OSX.BUILD/ROOT/$ FOR F IN `LS -L /`;CUT -M 17 -N 21 $F;NEXT
S3D2
S7D1
S7D2
### CHGRP
| Command |
@ -226,7 +194,9 @@ CMP will compare two files to determine if they are byte for byte equal. If th
| --- | --- |
| CP | -C : Continue On Error <br> -Q : Quiet <br> -R : Recurse subdirectories <br> -Y : Dont't Prompt For Override | 0.93 |
CP, which stands for Copy, is one of the most powerful commands in A2osX. Not only can it copy files from one ProDOS volume to another, it can copy entire directories or even directory trees from volume to volume, or to another location on the same volume. This recursive nature allows you to use a single command to copy the contents of an entire ProDOS volume with a single command. CP also supports wild cards so that you can copy just those files matching a pattern.
CP, which stands for Copy, is one of the most powerful commands in A2osX. Not only can it copy files from one ProDOS volume to another, it can copy entire directories or even directory trees from volume to volume, or to another location on the same volume. This recursive nature allows you to use a single command to copy the contents of an entire ProDOS volume with a single command. CP also supports wild cards so that you can copy just those files matching a pattern.
Normally CP displays each file name being copied. With the Quiet option (-Q), this output is suppressed. The Quiet option may be helpful in scripts where maintaining control of the display is important.
### CSH
@ -236,13 +206,47 @@ CP, which stands for Copy, is one of the most powerful commands in A2osX. Not o
CSH is one of the interactive and script processing shells under development for A2osX. The CSH is similar to the C Shell in Linux and uses the C syntax structure for scripting. This shell is under development. A CSH Shell Developers Guide will be available when a release candidate for this shell becomes available.
### CUT
| Command | Options |
| --- | --- |
| CUT \<opt\> "line" or <br> CMD \| CUT \<opt\> | -H : This help screen <br> -F nn : Output field nn <br> -M nn : Output starting at nn <br> -N nn : Output Ending at nn <br> -S ch : Change default SPACE separator to 'ch' |
The CUT command is used to extract a subpart or portion of a string. Use this command to simply extract substrings much like Basic's MID, LEFT, or RIGHT might be used. It can also be used within the powerful FOR NEXT construct to process fields of columns from files or the output of processes.
As an example, normally when you execute the **LS -L /** command you get output similar to:
/A2OSX.BUILD/ROOT/$ LS -L /
/RAM3 S3D2 Blocks Used:8 Total:16000
/A2OSX.BUILD S7D1 Blocks Used: 3230 Total:65535
/MAKE S7D2 Blocks Used:48946 Total:65535
Now, if instead we execute the follow command at the shell prompt:
/A2OSX.BUILD/ROOT/$ FOR F IN `LS -L /`;ECHO $F;NEXT
/RAM3 S3D2 Blocks Used:8 Total:16000
/A2OSX.BUILD S7D1 Blocks Used: 3230 Total:65535
/MAKE S7D2 Blocks Used:48946 Total:65535
It looks like the same results, but from now instead of LS simply outputting all of its results at once, each line is being passed to the FOR loop (as VAR $F) where we simply ECHO it. Now imagine if instead we passed $F to CUT, we can display only specific columns of information as seen in these two examples:
/A2OSX.BUILD/ROOT/$ FOR F IN `LS -L /`;CUT -M 00 -N 15 $F;NEXT
/RAM3
/A2OSX.BUILD
/MAKE
/A2OSX.BUILD/ROOT/$ FOR F IN `LS -L /`;CUT -M 17 -N 21 $F;NEXT
S3D2
S7D1
S7D2
### EDIT
| Command |
| --- |
| EDIT [filename] |
The EDIT command allows the user to interactive read and edit standard text files in A2osX. If you do not specify a file name on the command line, you will be prompted to enter one when you save your work (control-S). Consult the help screen below for a list of the special keys that can be used while editing a file.
The EDIT command allows the user to interactively read and edit standard text files in A2osX. If you do not specify a file name on the command line, you will be prompted to enter one when you save your work (control-S). Consult the help screen below for a list of the special keys that can be used while editing a file.
![](../.screen-shots/ScreenShot.EDIT.png)
@ -264,23 +268,15 @@ The FORMAT command will erase an existing volume and update its name to the VOLU
| --- | --- |
| GREP \<opt\> PATTERN FILE <br> CMD \| GREP \<opt\> PATTERN | -H : This help screen <br> -I : Ignore Case <br> -N : Print line Number | 0.93 |
The GREP command parses multiple lines of input (either from a file or from the redirected output of another command) and only outputs those lines that contain the PATTERN. In this way, you can thing of the GREP command as a filter. You can use the -I option to force GREP to ignore case in the PATTERN and the INPUT lines (i.e. it capitalizes both the source and the PATTERN before doing the compare) though it still outputs the actual lines of content that match (their original capitalization is preserved.
The GREP command parses multiple lines of input (either from a file or from the redirected output of another command) and only outputs those lines that contain the PATTERN. In this way, you can think of the GREP command as a filter. You can use the -I option to force GREP to ignore case in the PATTERN and the INPUT lines (i.e. it capitalizes both the source and the PATTERN before doing the compare) though it still outputs the actual lines of content that match (their original capitalization is preserved).
Examples
Example
> /A2OSX.BUILD/ROOT/$ LS -L / | GREP S7
> /A2OSX.BUILD S7D1 Blocks Used: 3230 Total:65535
> /MAKE S7D2 Blocks Used:48946 Total:65535
>
> /A2OSX.BUILD/ROOT/$ GREP :1000: ../ETC/PASSWD
> guest:084e0343a0486ff05530df6c705c8bb4:1000:1000:Guest Account:/home/guest:/bin/sh
>
> /A2OSX.BUILD/ROOT/$ GREP ROOT ../ETC/PASSWD
>
> /A2OSX.BUILD/ROOT/$ GREP -I ROOT ../ETC/PASSWD
> root:1cedeaefaffab15fd23d7a282c6610b1:0:0:A2osX Root:/root:/bin/sh
In the first example, only those volumes that are attached to Slot 7 are listed. In the second, you can see that the user account for user 1000 is displayed from the PASSWD file. In the third, you can see nothing is listed, but once we add the case insensitive option (-I) the root account is listed.
In this example, only those volumes that are attached to Slot 7 are listed.
### KILL
@ -288,7 +284,7 @@ In the first example, only those volumes that are attached to Slot 7 are listed.
| --- | --- |
| KILL \<signal\> PID | -0 : No Signal <br> -1 : SIGQUIT | 0.93 |
The KILL command kills or terminates a running process. This can be most useful when you have a running process that is stuck (perhaps you are debugging a program or script); you can switch to another virtual terminal (by pressing Open Apple-1) and executing the PS command to list currently running processes and then executing the KILL command on the errand process (i.e. KILL 27 to terminate process 27).
The KILL command kills or terminates a running process. This can be most useful when you have a running process that is stuck (perhaps you are debugging a program or script). Switch to another virtual terminal (by pressing Open Apple-1) and executing the PS command to list currently running processes. Then execute the KILL command on the errand process by its PID found in the displayed process list (i.e. KILL 27 to terminate process with a PIP of 27). Consult the A2osX User Guide for information on using and switching between virtual terminal sessions on your Apple.
### LS
@ -340,7 +336,7 @@ The MEM command displays the available memory and other stats of the Main, Aux a
| --- |
| MKDIR filespec |
MKDIR will create a new empty directory based on the filespec. If a simple filespec is provided (i.e. mydir or test1) a new directory of that name will be created in the current directory. Optionally, you can pass a fully qualified or relative filespec such as ../../mmdir in which case a new empty directory will be created called mmdir and place in the current directory's parent parent.
MKDIR will create a new empty directory based on the filespec. If a simple filespec is provided (i.e. mydir or test1) a new directory of that name will be created in the current directory. Optionally, you can pass a fully qualified or relative filespec such as ../../mmdir in which case a new empty directory will be created called **mmdir** and placed in the current directory's parent parent.
### MORE
@ -354,7 +350,13 @@ The MORE utility allows you to scroll through the output of a file or command on
| Command | Options |
| --- | --- |
| MV filespec destination| -C : Continue On Error <br> -Q : Quiet <br> -R : Recurse subdirectories <br> -Y : Dont't Prompt For Override
| MV [File/Dir, *,? wildcards allowed] [destination]| -C : Continue On Error <br> -Q : Quiet <br> -R : Recurse subdirectories <br> -Y : Dont't Prompt For Override
The MV command moves files (and directories) from one directory of an A2osX file system to another directory on that same or a different file system. MV like the CP command can operate on a single file, a set files using wildcards, a directory or entire directory tree with the Recurse option (-R). Unlike CP, MV does not just copy files to the new destination it removes them from the source once the copy has been completed.
If you are copying an entire directory structure using the Recurse option, MV will not only copy all the files it will create the necessary directories as well and then delete both the source files and directories. Be sure that your destination has sufficent space to hold the files as running out of space mid-copy could result in the directory tree you are attempting to move becoming split between the old and new location.
Normally MV displays each file name being moved. With the Quiet option (-Q), this output is suppressed. The Quiet option may be helpful in scripts where maintaining control of the display is important.
### NSCUTIL
@ -362,14 +364,15 @@ The MORE utility allows you to scroll through the output of a file or command on
| --- |
| NSCUTIL DD/MM/YY,hh:mm:ss |
Tool for setting the time of a No Slot Clock or DL1216E.
NSCUTIL is a tool for setting the time of a No Slot Clock or DL1216E.
### PAK
| Command |
| --- |
| PAK |
| Command | Options |
| --- | --- |
| PAK Archive [File/Dir, *,? wildcards allowed\]| -A: Append to Archive<br> -R: Recurse subdirectories |
PAK is a utility for combining multiple files into a single compact archive. Use the UNPAK utility to separate the files back out. PAK is great for software destribution and installation as it allows the developer to gather up all the files that make up an application into a single distributable archive.
### PS
@ -377,37 +380,49 @@ Tool for setting the time of a No Slot Clock or DL1216E.
| --- |
| PS |
List Processes
The PS command will list the currently running processes on your A2osX system. This is particularly helpful if you need to stop a process that is stuck. See the KILL command.
### RM
| Command | Options |
| --- | --- |
| RM \[File/Dir, *,? wildcards allowed\] | -C : Continue On Error <br> -Q : Quiet <br> -R : Recurse subdirectories
| RM \[File/Dir, *,? wildcards allowed\] | -C : Continue On Error <br> -Q : Quiet <br> -R : Recurse subdirectories
The RM command removes or deletes files from an A2osX file system. RM, like the CP command, can operate on a single file, a set files using wildcards, a directory or entire directory tree with the Recurse option (-R).
Normally RM displays each file name being deleted. With the Quiet option (-Q), this output is suppressed. The Quiet option may be helpful in scripts where maintaining control of the display is important.
### SH
| Command |
| ---- |
| SH Script |
SH is one of the interactive and script processing shells under development for A2osX. The SH shell is similar to the BASH Shell in Linux and uses primarily the BASH syntax structure for scripting. A SH Shell Developers Guide is available in the Documentation Library of A2osX.
### USERADD
| Command | Options |
| --- | --- |
| USERADD username | -c Comment : GECOS comment<br> -d HD : Home Directory <br> -p PW : Password <br> -s SH : Shell|
The USERADD command is used to add a new User ID and Password to the A2osX User Database. Optionally you can all supply a Command, Home Directory and preferred Shell for the User. Please see the User Guide for more information on User Management.
### USERDEL
| Command | Options |
| --- | --- |
| USERDEL username | -r : Force removes files in home directory |
The USERDEL command is used to delete a User ID from the A2osX User Database. Optionally you can have USERDEL remove the users Home directory and any files contained therein. Please see the User Guide for more information on User Management.
###WC
| Command |
| ----- |
| WC |
| Command | Options |
| ----- | --- |
| WC File(s) (*,? wildcards allowed)| -C: Continue on error<br> -R: Recurse Subdirectories<br> -M: Print CHAR counts<br> -L: Print LINE counts<br> -W: Print WORD counts|
The WC command is used to display the char, line and word counts of one or more files. If more then one file is processed then a total count of all files is also displayed.
###WHO
@ -415,64 +430,27 @@ List Processes
| ----- |
| WHO |
The WHO command displays a list of users currently logged into the A2osX system and the device used for the login.
## Network Tools
The Network Tools group of comands allow you to load or start networking services, option IP addresses, connect to other systems, or get the status of your network. Some of these commands are designed specifically as user programs such as Telnet to interactively connect to another computer such as a BBS. Others are intended to be used by system scripts for loading and initializing the network, though they can be run on the command line and therefore are explained here. These commands are found in **./BIN/** letting you know they are user commands.
###ARP
| Command |
| ----- |
| ARP |
| ARP [IP [MAC]] |
The ARP command can displays the current ARP cache or you can use it to setup a static ARP entry. When adding an entry, IP is a standard IP4 address such as 10.0.0.77 and MAC is a full MAC address in the form 00:00:00:00:00:00 where each 00 can be any hex value from 00 to FF. Network services must be started to use this command.
Dump ARP cache, setup a static ARP entry
### DNSINFO
| Command |
| ----- |
| DNSINFO -a option to add host???? |
| DNSINFO [HOST IP] |
dump DNS cache, setup a static DNS entry
### HTTPGET
| Command | Options |
| --- | --- |
|HTTPGET <ip\|host> [port]| -U Url <br> -F UrlFile|
### IPCONFIG
| Command | Options |
| --- | --- |
|IPCONFIG |-D : Try to get IP address from DHCP <br> -E : Read ETC files <br> -S : Set/Reset TCPIP configuration (-E, then -D if required) |
### NETSTAT
| Command |
| ----- |
| NETSTAT |
Display socket status
### PING
| Command |
| ----- |
| PING <ip\|host> <br> -1..9 : Ping Count |
### TELNET
| Command |
| ----- |
| TELNET <ip\|host> [port] |
### DHCPCLNT
| Command |
| ----- |
| DHCPCLNT |
I am not sure if this command is even used any more. RGXX??
The DNSINFO command can display the current DNS cache or setup a new static DNS entry. When adding an entry, HOST is typically a fully qualified domain name such as **server.acme.com** and IP is a standard IP4 address such as 10.0.0.77. Network services must be started to use this command.
### HTTPD
@ -480,17 +458,47 @@ I am not sure if this command is even used any more. RGXX??
| ----- |
| HTTPD |
HTTPD is a server process thats listens for incomming requests to server web pages from your A2osX system. It listens for these requests on port 80. This server process is in development and is in fact being used for test purposes only right now. Further document and options will be made available in a future A2osX release.
HTTPD is a server process thats listens for incomming requests to server web pages from your A2osX system. It listens for these requests on port 80. This server process is in development and is in fact being used for test purposes only right now. Further document and options will be made available in a future A2osX release. Network services must be started to use this command.
### TCPIPD
### HTTPGET
| Command | Options |
| --- | --- |
|HTTPGET <ip\|host> [port]| -U Url <br> -F UrlFile|
The HTTPGET command is a utility for retrieving a network page or message from a specified host/URL. Network services must be started to use this command.
### IPCONFIG
| Command | Options |
| --- | --- |
|IPCONFIG |-D : Try to get IP address from DHCP <br> -E : Read ETC files <br> -S : Set/Reset TCPIP configuration (-E, then -D if required) |
The IPCONFIG command will display the current network configuration for your system. In some cases, if the network drivers and libraries are loaded but not configured, IPCONFIG may configure your system by obtaining (through DHCP) or setting (statically through config files) your IP address and other settings. Optionally you can force a set/reset of your configuration. If Network services are not started when you use this command, an error message will be displayed saying that TCP/IP is not bound to any device.
### NETSTAT
| Command |
| ----- |
| TCPIPD |
| NETSTAT |
This is the main network command. RGXX needs to explain it to us all.
The NETSTAT command displays the current socket status of your A2osX system. Network services must be started to use this command.
ARP,IP,ICMP,UDP & TCP ok
### PING
| Command |
| ----- |
| PING <ip\|host> <br> -1..9 : Ping Count |
The PING command is a utility for testing that the IP network services are working, connected to the network and can reach the specified hosts. PING can be used to both test your A2osX network setup as well as to ensure that the desired end point is online. Network services must be started to use this command.
### TELNET
| Command |
| ----- |
| TELNET <ip\|host> [port] |
The TELNET command is a complete communications/terminal program for connecting to and interacting with foreign hosts using A2osX IP network services. TELNET can be used to connect to Linux/UNIX systems, Windows hosts or even 8-bit BBS systems as long as they support the standard Telnet protocol. Please note that TELNET does not support SSH or anytime of secure connection model that are the default mode in most newer systems. Network services must be started to use this command.
## Developer Tools
@ -502,7 +510,7 @@ While almost every command and program that comes with A2osX can be considered a
| ----- |
| ASM |
ASM is A2osX's table driven multi-pass macro assembler. This assembler is still in development and will be released shortly. Technical documentation for the assembler and its language can be found in **[ASM](./ASM.md)**. A Guide to using ASM will be forthcoming.
ASM is A2osX's table driven multi-pass macro assembler. This assembler is still in development and will be released shortly. Technical documentation for the assembler and its language can be found in **[ASM](./ASM.md)**. A Guide to using ASM is forthcoming.
### MEMDUMP
@ -512,19 +520,7 @@ ASM is A2osX's table driven multi-pass macro assembler. This assembler is still
![](../.screen-shots/ScreenShot.MEMDUMP.png)
MEMDUMP is a program that allows the developer to display the contents of all of the memory that A2osX is currently using to aide with the debugging of your programs.
RGXX you need to support more info on MEMDUMP and what the columns mean and how to look for mem that your particular program is using.
### RPCDUMP
| Command |
| ----- |
| RPCDUMP |
Tool based on UDP socket API, renamed from RPCINFO <br> RPCDUMP <ip\|host>
RGXX we need more info on this command.
MEMDUMP is a program that allows the developer to display the contents of all of the memory that A2osX is currently using to aide with the debugging of your programs. Lines displayed in inverse indicate memory associated with processes no longer running (dead or abandoned memory, could be caused by program crash).
## License
A2osX is licensed under the GNU General Pulic License.

View File

@ -11,7 +11,7 @@ A core element at the foundation of A2osX that enables its multiuser multitaskin
The core of A2osX is written entirely in 65C02 Assembly and built using the S-C Macro Assembler. Assembly was chosen because at end of day it provides for the most strict and stringent memory management as well as the fastest performance of any language on the Apple II. Work is underway to provide ASM running under A2osX (see Current and Future Development Process sections below). There is also an entire shell scripting language (see below) and in the future we plan a CSH (C-Shell) which is the first step to an Interactive C interpreter and then a Compilter that will make C feed to built-in assembler. Yes, that is a lot on our development plan, but the only way to make it feasible is by building the core using assembly to provide enough memory and processing sources to enable such features.
## Developing for A2osX
### Developing for A2osX
There has been a significant uptick in interest in A2osX and its development. That's great! Along with that has come a lot of questions and requests for documentation. Besides this new user guide, which we hope will answer many of your questions, we have also written an extensive **[Developers Guide](.Docs/Developers%20Guide.md).** That guide explains our current development process (GitHub to delivery media) as well as our future plans.
@ -130,6 +130,10 @@ A2osX supports a special maintenance mode that you can invoke while A2osX is loa
In maintenance mode, you still have access to all A2osX utilities and scripts, so you can run programs such as EDIT to make changes to any needed text file reconfigure the system before booting normally.
### A2osX Preemptive Mode
A2osX is a multiuser multitasking operating system. As with any such operating system running on a single core single CPU system such as an Apple II with the 6502, A2osX switches between all of the running processes automatically ensuring that each gets serviced in a reasonable time. It is the A2osX Kernel that performs this task in 1 of 2 manners: Cooperative or Preemptive mode. In Cooperative mode, the default, switching between processes occurs whenever an application makes a "blocking" API call such as a file services request or cooperatively relinquishes control (see the A2osX Developers Guide). In Preemptive Mode, set by option in KCONFIG utility (see A2osX Command Guide), the kernel switches between "sleeping" processes automatically at 1/10th-second intervals. In order to use Preemptive Mode, your system must have supported hardware that generates an interrupt used by A2osX such as an Apple II Mouse or Uthernet interface.
## Devices
A2osX supports a number of block or file devices for input and output (I/O). Devices should not be confused with hardware, though many devices correspond to actual hardware and not all hardware is presented as an A2osX device. For example, while A2osX supports getting the date and time from ProDOS, there is no "time" device; and while your Apple has a screen and keyboard, with A2osX a user interacts with a Terminal Device (i.e. /DEV/TTY1). This section discusses the devices with witch users or A2osX programs can interact. Please see the Hardware Section of this User guide for a fuller discussion of the hardware A2osX supports.