From 13a2d390ca3e69ed8ff2fe8447f9859a663b8925 Mon Sep 17 00:00:00 2001 From: Patrick Kloepfer Date: Tue, 24 Sep 2019 10:54:33 -0400 Subject: [PATCH] Update docs with a new HELP screenshot --- .Docs/Command Guide.md | 4 +-- .Docs/User Guide.md | 45 +++++++++++++++++++------ .screen-shots/ScreenShot.EDIT Help.png | Bin 16989 -> 16296 bytes 3 files changed, 36 insertions(+), 13 deletions(-) diff --git a/.Docs/Command Guide.md b/.Docs/Command Guide.md index 315d28f9..3d8a2519 100644 --- a/.Docs/Command Guide.md +++ b/.Docs/Command Guide.md @@ -98,7 +98,7 @@ TELNETD is a server process that listens for incoming requests to connect to you 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: +## 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. @@ -186,7 +186,7 @@ This utility allows you to change the type of a file to a standard files types s | --- | --- | | CMP File1 File2 [SKIP1 [SKIP2]]| -A : Shows All differences
-V : Verbose Mode | -CMP will compare two files to determine if they are byte for byte equal. If the files are equal CMP exits normally with an exit code of 0. If the files have one or more bytes that are different, CMP will exit with an application error code of 223 (hex E0). By using the Verbose option you can see the offset and values of the first different byte. With the Verbose and All options you can see the list of all offsets and values that are different. The SKIP options allow you specify a number of bytes to skip in the file(s) before starting the comparison. CMP A B 100 200 would skip to the 100th byte of A and the 200th byte of B before starting the byte by byte comparison. Note then that B would need to be 100 bytes larger then A for the comparison to ever end without error. +CMP will compare two files to determine if they are byte for byte equal. If the files are equal CMP exits normally with an exit code of 0. If the files have one or more bytes that are different, CMP will exit with an application error code of 223 (Hex $DF). By using the Verbose option you can see the offset and values of the first different byte. With the Verbose and All options you can see the list of all offsets and values that are different. The SKIP options allow you specify a number of bytes to skip in the file(s) before starting the comparison. CMP A B 100 200 would skip to the 100th byte of A and the 200th byte of B before starting the byte by byte comparison. Note then that B would need to be 100 bytes larger then A for the comparison to ever end without error. ### CP diff --git a/.Docs/User Guide.md b/.Docs/User Guide.md index 4c9f9aea..390574cc 100644 --- a/.Docs/User Guide.md +++ b/.Docs/User Guide.md @@ -132,7 +132,7 @@ In maintenance mode, you still have access to all A2osX utilities and scripts, s ### 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 waiting for a key pressed, a network frame... or cooperatively relinquishes control (explicitly calling >SLEEP, 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 ThunderClock interface. +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 (i.e. waiting for a key press or a network frame) or cooperatively relinquishes control (by explicitly calling >SLEEP, see the A2osX Developers Guide). In Preemptive Mode, set by option in the 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 ThunderClock interface. ## Devices @@ -269,20 +269,29 @@ RD ## Error Messages -* ProDOS Error Codes : $00->$5F +* No Error : $00 +* User Script Error Codes : $01->$1F + * Note this range may be used by multiple different scripts. +* ProDOS Error Codes : $20->$5F * Kernel Error Codes : $60->$7F * Lib Error Codes : $80->$BF -* Shell Error Codes : $C0->$CF -* Application Error Codes : $ D0->$FF +* Shell Error Codes : $C0->$DF +* BIN/External Command Error Codes : $ E0->$F8 + * Note this range may be reused by multiple BINs. +* Reserved for internal Kernel Use : $FA->$FF -### ProDOS or MLI Errors +### No Error : $00 + +This is the normal or expected returned when the last command or script statement executed properly. + +### User Script Error Codes : $01->$1F + +This range of Error Codes may be used by Users/Developers in scripts. Consult the Shell Developers Guide for more information. + +### ProDOS or MLI Errors : $20->$5F | Hex | Error Code | Error Message | | --- | --- | --- | -| $00 | 0 | No Error| -| $01 | 1 | Bad Call Number| -| $04 | 4 | Bad Parameter Count| -| $06 | 6 | Communications Error| | $21 | 33 | Invalid Status Code| | $25 | 37 | Interrupt Table Full| | $27 | 39 | I/O Error| @@ -312,7 +321,7 @@ RD | $57 | 87 | Duplicate Volume| | $5A | 90 | File Structure Damaged| -### Kernel Errors +### Kernel Errors : $ 60->$7F | Hex | Error Code | Error Message | | --- | --- | --- | @@ -337,7 +346,12 @@ RD | $68 | 0 | Invalid PWD database | | $67 | 0 | Invalid User | -### Shell Errors +### Kernel Error Codes : $60->$7F + +| Hex | Error Code | Error Message | +| --- | --- | --- | + +### Shell Errors : $ C0->$D8 | Hex | Error Code | Error Message | | --- | --- | --- | @@ -353,6 +367,15 @@ RD | $C8 | 0 |Undefined Function| | $C9 | 0 |Unexpected EOF| +### BIN/External Command Error Codes : $ E0->$F8 + +This range of error codes is used by all A2osX and User/Developer create BINs or application programs to denote some completion result, usually not fatal. For example, the CMP command (./BIN/CMP) compares two files to see if they are equal. CMP will return 0 ($00) if the files compare equal and there is no other error; CMP will return 70 ($46) if one of the files is not found (a ProDOS error); and CMP will return 224 ($D0) if the files do not match, a not fatal error as the BIN did run, do its job, just the result was an "Application" mismatch error. + +This range may be reused by multiple BINs so scripts checking these results should be aware of the BIN called and the valid return results for that BIN. + +### Reserved for internal Kernel Use : $FA->$FF + + ## License A2osX is licensed under the GNU General Pulic License. diff --git a/.screen-shots/ScreenShot.EDIT Help.png b/.screen-shots/ScreenShot.EDIT Help.png index 16f741605b3b55cc5bc6a1c048fe1095a70f8aba..9d753767ea6f2a3ef3db27533c12305402f62ba4 100644 GIT binary patch literal 16296 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 literal 16989 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%0D8crgr%twV=V}
7r!0a+8 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 Nc{gOI;GGXX`F|V@Xnp_y