Updated Docs for 0.93 release.

This commit is contained in:
Patrick Kloepfer 2020-02-11 23:25:54 -05:00
parent 998caa6a26
commit 3f81325deb
3 changed files with 24 additions and 102 deletions

View File

@ -226,12 +226,8 @@ The **edit** command allows the user to interactively read and edit standard tex
>A note for the touch typists!: While **edit** is not a word processor, it still is one of the most complex programs included in A2osX. It does a lot! A side affect of this, and due to the lack of a keyboard buffer in the Apple //e, if you try to speed type while using EDIT some keystrokes may be dropped. This is most noticeable when using the AppleWin emulator set to 1.0 speed. Changing the emulator speed to at least 2.0 will significantly reduce or eliminate the dropped keys.
### FORMAT
| Command | Options |
| --- | --- |
| FORMAT \<BLOCKDEV\> [VOLUME.NAME] | -B Blocks : Force number of blocks to format <br> -L : Low-Level Format *not currently supported <br> -1..9 : Catalog Size (block count) |
format -b blocks [-L] [-1|-2|-3|-4|-5|-6|-7|-8|-9]
format -b blocks [-L] [-1|-2|-3|-4|-5|-6|-7|-8|-9] <blockdev> <volname>
The **format** command will erase an existing volume and update its name to the VOLUME.NAME supplied. **format** does not currently support low level formatting. The Volume/Device to be formatted must already be formatted. Specifically this means that **format** cannot format a new (never been formatted) floppy disc. Use the -B option to force a block count to format. This is useful in AppleWin because of its non-standard implementation of SmartPort on Slot 7.
@ -322,10 +318,6 @@ NSCUTIL is a tool for setting the time of a No Slot Clock or DL1216E.
### PAK
| Command | Options |
| --- | --- |
| PAK Archive [File/Dir, *,? wildcards allowed\]| -A: Append to Archive<br> -R: Recurse subdirectories |
pak [-a] [-r] archive filespec
**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 distribution and installation as it allows the developer to gather up all the files that make up an application into a single distributable archive.

View File

@ -90,82 +90,16 @@ ProDOS FX is a branch new version of ProDOS built by the A2osX team from a signi
>### **Repeating this note because it is important: As with any new critical piece of software such as an operating system that handles writing to disks, you should test this software extensively before using it with any disks, volumes, images, data containing valuable information!** #
FX supports extended syntax for filenames
1st char in . _ a-z A-Z
char 2-15 in . _ a-z A-Z 0-9
- Added lowercase support
- Extended syntax for filenames with the 1st char in . _ a-z A-Z and char 2-15 in . _ a-z A-Z 0-9
- Enhanced IRQ manager (does NOT support //e OLD roms)
- Adds support for No Slot Clock and //gs internal clock to existing ThunderClock driver
- ThunderClock supports years through 2023
- Smaller on Disk, loads faster
- PAKed version available (even smaller on disk) for use with 140K floppies
- Added SmartPort remap from any slot to any slot, up to 14 devices, if 14 devices mounted, /RAM wont install
"Faster, eXtended"
How is it faster?
redundant read removed at boot.....
optimized XRW planned
size is lower...so helps fast booting
if you want to keep your ProDOS volume still readable from 203.....no DUP files....and no extended syntax files (.profile...etc...)
and no /lowercasevol
2.5 has same limitation but only because they do /lowercasevol
they dont do case sensitivity nor extended syntax
because they implemented case sensitivity differently and they hit many imcompatibilites
removed support for machine < //e Enh ROM
remove support for machine < 128k
remove 40col Quit code
removed relocator and added UNPAK code
Enhanced IRQ manager (does NOT support //e OLD roms)
a lot of old code in loader was removed
before prodos ran on 48k ok 64k systerms
so there were a relocator, i removed it
FX supported clocks : NSC, TClock ->2023 & Cotland Clock
FX remap more devs......once i fix bugs for your SCSI board
*more than 203
but different way than 2.5
better support for legacy apps
old IRQ manager also
add a note about FX smaller on disk...only 13k
--->even smaller if paked (what size)
Added NSC clock support
TCLOCK year -> 2023
Added SmartPort remap from any slot to any slot, up to 14 devices
i'm changing lot of thing everywhere so that everything works the same with or without lowercase
so basically, everything in now internally lowercased....if run under 203, prodos make it uppercase
if run under FX, it is now natively case sensitive
so the ruse is:
type everything in your script in lowervcase, including #!/bin/sh
internal SH commads are still CI
so ECHO & echo works
but ls in now lowercase
if under 203
LS works
ls works to
if FX, only ls works
LS = file not found
and in your BUILD scripts:
if 14 dev mounted, /RAM wont install
Added support for "." and "_" in filenames
only restriction is filename 1st char != 0..9
Added lowercase support
Patrick Kloepfer 8:46 AM
On the SP remap… lets say you have a Ramworks III with 512K, an Apple Slinky 1meg in S4, a CFFA in S5 with 8 devices and a MDT with 4 block mode devices in Slot 7. What happens? (that totals 14, but how do you deal with /RAM3 and /RAM4. What happens if same cards but CFFA set to 12 devices? Also, what if 5.25 controller in S6 when cffa set either to 8 or 16.
it remaps where there is room for
if you have 4 devs is S7 and 2 in S6....it will remap 2 extra in slot 7 trying to find room starting at S5, then S4...3...2..1....
if 14 devs already mapped....it wont try to install /RAM3
and you wont be able to install Ramworks' /RAM3
so in the above….4 devs from card in 7, it takes the 2 for 7, now finds room for other 2, looks at 6 sees floppies taking both, moves to 5 (does it take 2 here and force card to fend for itself next or see that 5 is a SP card itself and move on). when either card sees slinky in 4 (as /RAM4 as S4D1) does it take the S4D2 spot that can be mapped? if the numbers would work such that RWIII gets an S3D2, will anything ever get mapped to S3D1 (I think you are saying yes)
if S4D2 is free it will be used by remap....so S3D1....
**VERY IMPORTANT**: ProDOS FX allows for the files **File**, **file**, **fiLE** and **FILE** all to exist in the same directory. They are unique to ProDOS FX. This may (**IS LIKELY**) incompatible with other operating systems accessing the same volumes, most notably GSOS. This is also true of files that start with . (dot or period) and _ (underscore). Testing and care should be taken when using these features on volumes that you plan to share with other operating systems.
The ProDOS FX version is included on the 32MB media images which are designed to be standalone bootable images. In addition, there is a very special ProDOS FX PAKED version, that is the same as the standard FX image once running, but the file has been compressed and contains a special loader to uncompress ProDOS as it initializes. This version uses less disk space and is used on 140K media where space is at a premium.

View File

@ -674,15 +674,13 @@ The **SET** command is used to set or clear the value of variables as well as to
#### Variables
The most simplistic form of set is **SET var = value** such as SET myVar = 6, where the shell will create a new variable called MyVar and in this case make it an Interger (32-bit) and set its value to 6.
The most simplistic form of set is **SET var = value** such as SET myVar = 6, where the shell will create a new variable called MyVar and in this case make it an Integer (32-bit) and set its value to 6.
As seen throughout this guide, scripts are very useful for automating many repetitive tasks. To get the most out of scripts, you are likely going to want input from the user or gather existing data stored in your file system and then use this to control program flow. To do this, you are likely going to want to use variables to store and process the data your script relies on. This section will provide
you with the information you need to get the most out of your own, as well as system provided, variables.
All variables have names, starting with xxx, can be any length, but longer is not better. They are case sensitive so AVAR, Avar, aVar, and avar are actually 4 different variables. There are only two kinds of variables internally, strings and integers.
Variable overflow strings and ints
Ints only no real num it just ignore
@ -794,10 +792,8 @@ The **SLEEP** command is used to pause the execution of a script for 1/10th of a
The **CASE** command is used at the start of a block of statements to be optionally executed based on the evaluation of \<expression\> as part of a **SWITCH** script block. See the **CASE** command below for more information and example of using **BREAK**.
The **SWITCH** statement is used at the start of a multiway program flow control block statement. The **SWITCH** statement is really a different form of the **IF** statement that is a significant improvement over using **IF** with many nested **ELSE ; IF** blocks. **SWITCH** provides an easy way to dispatch execution to different parts of code based on the value of the expression. Switch is a control statement that allows a value to change control of execution.
### WHILE
WHILE <condition>
@ -815,15 +811,25 @@ The shell
## Piping
| \| | Working | pipe |
A pipe is a mechanism for inter-process communication using message passing. A pipeline is a set of processes chained together by their standard streams, so that the output text of each process (stdout) is passed directly as input (stdin) to the next one. The second process is started as the first process is still executing, and they are executed concurrently. The A2osX shell fully supports piping with the use of the pipe character \| (the vertical bar).
# pipe the output of cmd1 to cmd2
$ cmd1 | cmd2
# list all files in the current directory recursively and pipe the output to more so output can be paged.
ls -R | more
## Environment
| . | Working | use same env |
The shell maintains an environment that includes a set of variables defined by the login program, your user initialization files (profile) and your programs or scripts. When a new script is run the shell with make a copy of the current environment and then run that script. When the script finishes executing the shell deletes that environment (freeing the memory it uses). This means any variables it creates, or existing ones that are changed are removed and the previous values are returned (as you put back to the original enviroment from which the copy was made. If instead, you call your script by preceding it with a . (dot or period), the shell will run that new script in the *current* environment. This means any changes to vars or new vars created are *retained* when the script exits.
# call myscript using the current environment
. myscript
## Processes
| & | Working | start proc |
A2osX allows you to start a program and run it in the background by adding a space and ampersand ( &) to the end of the command line.
# execute a program or script in the background
myprogram &
## Writing Scripts
@ -869,16 +875,6 @@ The following example demonstrates the complete validation concept outlined abov
FI
FI
### Shell Environment
Copy Vars????, Different Context, own vars get lost, own funcs, when called with dot, is using the same env.
### Line Separator
<command> ; <command> ; <command> ; ...