diff --git a/.Floppies/A2OSX.MAKE.po b/.Floppies/A2OSX.MAKE.po index 4d2d0be7..6efd3aaa 100644 Binary files a/.Floppies/A2OSX.MAKE.po and b/.Floppies/A2OSX.MAKE.po differ diff --git a/.Floppies/MINI2CPPP.140.po b/.Floppies/MINI2CPPP.140.po index d34bc323..7d7786e0 100644 Binary files a/.Floppies/MINI2CPPP.140.po and b/.Floppies/MINI2CPPP.140.po differ diff --git a/.Floppies/STABLE.140.po b/.Floppies/STABLE.140.po index 9db21980..0267fedf 100644 Binary files a/.Floppies/STABLE.140.po and b/.Floppies/STABLE.140.po differ diff --git a/.Floppies/STABLE.32MB.po b/.Floppies/STABLE.32MB.po index 29a86db1..0a00b4ab 100644 Binary files a/.Floppies/STABLE.32MB.po and b/.Floppies/STABLE.32MB.po differ diff --git a/.Floppies/STABLE.800.po b/.Floppies/STABLE.800.po index 2fdcd0b3..f86e33c1 100644 Binary files a/.Floppies/STABLE.800.po and b/.Floppies/STABLE.800.po differ diff --git a/BIN/ADM.txt b/BIN/ADM.txt new file mode 100644 index 00000000..01136c2f --- /dev/null +++ b/BIN/ADM.txt @@ -0,0 +1,29 @@ +NEW + PREFIX +AUTO 4,1 +#!/bin/sh +# +# This is the Main ADM script +# It is used to call all other A2osX Domain Manager (ADM) scripts +# +# Check to make sure SysAdmin is installed +set sapath = ${BOOT}usr/share/adm/ +if ![ -D ${sapath} ] + echo "\nA2osX Domain Manager support files not installed" + echo "Please update your A2osX installation\n" + exit +fi +if [ $# = 0 ] + echo "\nNo Command or Argument specified" + echo "try \e[7mhelp adm\e[0m or \e[7madm commands\e[0m\n" + exit +fi +pushd $sapath +if [ -f $1 ] + $1 $2 $3 $4 $5 $6 $7 $8 $9 +else + echo sysadm $1 command not found +fi +popd +MAN +TEXT BIN/adm diff --git a/BIN/HELP.txt b/BIN/HELP.txt new file mode 100644 index 00000000..3e59063d --- /dev/null +++ b/BIN/HELP.txt @@ -0,0 +1,78 @@ +NEW + PREFIX +AUTO 4,1 +#!/bin/sh +# +# This is the Main HELP script +# It displays pages located in usr/share/help +# +function nh { + echo \nHelp is not available for $1 + echo "Try \e[7mhelp list\e[0m for a list of help topics\n" +} +set hp = ${BOOT}usr/share/help +if ![ -D ${hp} ] + echo "\nA2osX Help files are not installed" + echo "Please update your A2osX installation\n" + exit +fi +pushd $hp +switch $# +case 0 + echo "\nNo Help Argument specified" + echo "try \e[7mhelp help\e[0m for more information on the help command\n" + exit + break +case 1 + if [ $1 = "list" ] + ls -R + exit + fi + if [ -f $1 ] + set hf = $1 + else + call nh $1 + exit + fi + break +case 2 + if [ -f "$1.help/$2" ] + set hf = "$1.help/$2" + else + if [ -f $1 ] + set hf = $1 + fi + fi + if [ -z $hf ] + call nh "$1 $2" + exit + fi + break +case 3 + if [ -f "$1.help/$2.help/$3" ] + set hf = "$1.help/$2.help/$3" + else + call nh "$1 $2 $3" + exit + fi + break +default + echo \nToo Many Arguments\n +end +if [ -n $hf ] + for l in ($hf) + switch $l + case PAGE + echo -n "\nPress a key" + pause + echo "\b\b\b\b\b\b\b\b\b\b\b " + break + Case BL + echo;break + default + echo $l + end + next +fi +MAN +TEXT BIN/help diff --git a/EXAMPLES/BBSDEMO.txt b/EXAMPLES/BBSDEMO.txt new file mode 100644 index 00000000..e9138ac9 --- /dev/null +++ b/EXAMPLES/BBSDEMO.txt @@ -0,0 +1,94 @@ +NEW + PREFIX +AUTO 4,1 +#!/bin/acos +; +; AcosX BBS Demo Program +; +; A mocked up BBS demonstration for KansasFest 2021! +; +; 2021-07-07, Brian J. Bernstein +; + +; menu_step is for demo purposes; keeps track of the mocked next command (since we can't test commands yet +; we increment and instead test step to determine what to do next) + menu_step = 0 + +connect + print "CONNECTed to A2OSX BBS!"\\ + +login + input "Username or 'NEW': " lo$ + print \"Welcome back, ";lo$;"!"\"You do not have any unread e-mail."\ + + if lo$="" then print "fine, go away then":goto main_menu +; TODO: remove this comment when string test works +; if lo$ <> "A2OSX" then print "Unknown user ID":goto login + +welcome + print \"Welcome to the a2osx BBS powered by AcosX!"\\ + print "-- NEWS -- 2021-07-21"\\"We're demoing the new ACOS-compatible language running on a2osx today!"\ + +main_menu + print "[";date$; " - ";time$;"]" + input "Main -> " a$ + + if a$="?" then gosub showmenu_main:goto main_menu + if a$="off" then goto logoff + +; TODO: remove this comment when string test works + if menu_step = 0 then goto sys_info + if menu_step = 1 then goto read_news + + goto logoff + + print "Unknown command. Enter '?' for menu." + goto main_menu + +showmenu_main + print "-=> Main Menu <=-" + print " ? - Help (this screen)" + print " off - Logoff the system" + print \ + return + +logoff + print "-=> Logoff <=-"\\ + print "Leaving so soon? Well, be sure to check out these other systems:"\ + print " Dronefone - 201-376-6337 - 300/1200/2400" + print " The Iron Castle - 201-822-0527 - 300/1200/2400" + print " What BBS? - 201-464-9251 - 300/1200" + print " Northlink - 201-376-0816 - 300/1200" + + print \"So long, and thanks for all the fish! *CLICK!*":goto end + +sys_info + print "-=> System Information <=-"\ + print "A2OSX BBS is running on:"\\"- 128k Apple //e"\"- 2 Disk ][ drives"\"- Uthernet II (no land line anymore!)" + print "- CFFA 3000 32MB partition"\"- No Slot Clock"\\ + print "...and most important of all, it is written in the ACOS language and running on"\"a2osx!"\ + menu_step = 1 + goto main_menu + +read_news + print "-=> Latest News - 2021-07-21 <=-"\ + print "We are demoing AcosX at KansasFest 2021! Since the last KFest there have been" + print "numerous improvements to the a2osx operating system, but we're excited to show" + print "today how the ACOS language has been re-implemented to help revive the GBBS Pro"\"BBS legacy!"\ + print "GBBS Pro was one of the more popular BBS platforms back in the 1980s for" + print "Apple II computers and one of the most powerful features of it was that the" + print "entire system was written in a BASIC-like language called ACOS. While the" + print "legacy ACOS interpreter has gone through many revisions over the years, nobody" + print "has ever added support for the Uthernet interface or multiple simultaneous" + print "users. Since a2osx is natively multi-user and supports the Uthernet card, it" + print "was an excellent choice for the next generation of Apple II BBS. As well, the" + print "goal is to be ACOS compatible so as to provide a platform to bring peoples'" + print "old GBBS mods back to life!"\ + menu_step = 2 + goto main_menu + + +end +; do nothing after this line until we have a proper END or something like that +MAN +TEXT /MAKE/usr/share/examples/bbsdemo.s diff --git a/HELP/ADM/configure.txt b/HELP/ADM/configure.txt new file mode 100644 index 00000000..0b85024f --- /dev/null +++ b/HELP/ADM/configure.txt @@ -0,0 +1,14 @@ +TITLE +A2osX ADM Update Help + +The adm update command allows you to update your current A2osX installation +to the latest build. This command requires a properly installed, configured +and running network infastructure. Update will test that the update.a2osx.net +server can be reached. Update will then compare the currently running version +with the latest version available on the update server. + +The update process will install new system files, bins and even an updated +version of ProDOS FX. It will not change files in user home directories +or configuration files stored in ./etc (other then updated the version file +itself). + diff --git a/HELP/ADM/disable.txt b/HELP/ADM/disable.txt new file mode 100644 index 00000000..0b85024f --- /dev/null +++ b/HELP/ADM/disable.txt @@ -0,0 +1,14 @@ +TITLE +A2osX ADM Update Help + +The adm update command allows you to update your current A2osX installation +to the latest build. This command requires a properly installed, configured +and running network infastructure. Update will test that the update.a2osx.net +server can be reached. Update will then compare the currently running version +with the latest version available on the update server. + +The update process will install new system files, bins and even an updated +version of ProDOS FX. It will not change files in user home directories +or configuration files stored in ./etc (other then updated the version file +itself). + diff --git a/HELP/ADM/enable.txt b/HELP/ADM/enable.txt new file mode 100644 index 00000000..0b85024f --- /dev/null +++ b/HELP/ADM/enable.txt @@ -0,0 +1,14 @@ +TITLE +A2osX ADM Update Help + +The adm update command allows you to update your current A2osX installation +to the latest build. This command requires a properly installed, configured +and running network infastructure. Update will test that the update.a2osx.net +server can be reached. Update will then compare the currently running version +with the latest version available on the update server. + +The update process will install new system files, bins and even an updated +version of ProDOS FX. It will not change files in user home directories +or configuration files stored in ./etc (other then updated the version file +itself). + diff --git a/HELP/ADM/install.txt b/HELP/ADM/install.txt new file mode 100644 index 00000000..0b85024f --- /dev/null +++ b/HELP/ADM/install.txt @@ -0,0 +1,14 @@ +TITLE +A2osX ADM Update Help + +The adm update command allows you to update your current A2osX installation +to the latest build. This command requires a properly installed, configured +and running network infastructure. Update will test that the update.a2osx.net +server can be reached. Update will then compare the currently running version +with the latest version available on the update server. + +The update process will install new system files, bins and even an updated +version of ProDOS FX. It will not change files in user home directories +or configuration files stored in ./etc (other then updated the version file +itself). + diff --git a/HELP/SH/cd.txt b/HELP/SH/cd.txt new file mode 100644 index 00000000..92e9e9e0 --- /dev/null +++ b/HELP/SH/cd.txt @@ -0,0 +1,26 @@ +TITLE +A2osX Shell CD Command Help + + cd + +The cd command is used to change the current working directory. You must +supply the cd command a valid relative or absolute path. Examples of +relative paths include subdir1 (a sub-directory in the current directory), +../subdir2 (a sub-directory in the parent of the current directory), and +subdir1/subdir3 ( a sub-directory in the sub-directory subdir1 of the current +directory). An absolute path always begins with a / and includes the volume +name of the disk drive to which change the current working directory such as +/MYVOL1/var/logs (the sub-directory logs in the directory var on the disk +with a volume label of MYVOL1). +PAGE +You can use the pwd command to display the current working directory if your +prompt ($) does not automatically display it on the command line (the default, +set in your PROFILE). The current working directory is used by the shell to +look for scripts not located in one of the directories specified by $PATH or +as the directory for reading and writing files when no path is provided by a +command. For example, if you execute the ls command without arguments, ls +assumes to list the files in the current working directory. Similarly, if +you specify a file without a path, for example the command echo Hello > +outfile, shell will place the file outfile in the current working directory. +See the related popd and pushd commands. + diff --git a/HELP/SH/keys.txt b/HELP/SH/keys.txt new file mode 100644 index 00000000..9549506e --- /dev/null +++ b/HELP/SH/keys.txt @@ -0,0 +1,28 @@ +TITLE +A2osX Shell (bin/sh) Special Keys + +While entering commands at the A2osX shell prompt, you can use the +following special keys to edit the command line: + + Key Usage +----------- -------------------------------------------------------------- +DELETE Deletes character to left of cursor, moves rest of line left +Control-C Erases entire command line +Control-D Exits Shell and if user Shell logs you out of your session +Control-Z Deletes character under the cursor +Up Arrow Displays previous command(s) from history. +Down Arrow Displays next command(s) from history. +Left Arrow Moves cursor to the left to edit current command +Right Arrow Moves cursor to the right to edit current command +PAGE +In addition to the editing keys above, you can use the following special +keys while running scripts or executing commands: + + Key Usage +----------- -------------------------------------------------------------- +Control-C Interrupts running command or script +Open Apple-0 Switches you to the console display +Open Apple-1 Switches you to Virtual Terminals 1 through 8 if so configured + to OA-8 +Open Apple-9 Switches you to the GUI display if configured and started + diff --git a/HELP/adm.txt b/HELP/adm.txt new file mode 100644 index 00000000..0dd00a2b --- /dev/null +++ b/HELP/adm.txt @@ -0,0 +1,12 @@ +TITLE +A2osX Domain Manager Help + +ADM or the A2osX Domain Manager is a series of scripts you can use to +perform a variety of administrative functions on your A2osX system. +For help on any of the adm commands use the syntax help adm command +For example you can do + + help adm update + help adm enable + help adm app install + diff --git a/HELP/edit.txt b/HELP/edit.txt new file mode 100644 index 00000000..6de3d07f --- /dev/null +++ b/HELP/edit.txt @@ -0,0 +1,17 @@ +TITLE +A2osX Edit Help + +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. + +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. + diff --git a/HELP/help.txt b/HELP/help.txt index 12a627f5..9507bc29 100644 --- a/HELP/help.txt +++ b/HELP/help.txt @@ -1,75 +1,14 @@ -NEW - PREFIX -AUTO 4,1 -#!/bin/sh -# -# This is the Main HELP script -# It displays pages located in usr/share/help -# -function nh { - echo \nHelp is not available for $1 - echo "Try \e[7mhelp list\e[0m for a list of help topics\n" -} -set hp = ${BOOT}usr/share/help -if ![ -D ${hp} ] - echo "\nA2osX Help files are not installed" - echo "Please update your A2osX installation\n" - exit -fi -pushd $hp -switch $# -case 0 - echo "\nNo Help Argument specified" - echo "try \e[7mhelp help\e[0m for more information on the help command\n" - exit - break -case 1 - if [ $1 = "list" ] - ls -R - exit - fi - if [ -f $1 ] - set hf = $1 - else - call nh $1 - exit - fi - break -case 2 - if [ -f "$1.help/$2" ] - set hf = "$1.help/$2" - else - if [ -f $1 ] - set hf = $1 - fi - fi - if [ -z $hf ] - call nh "$1 $2" - exit - fi - break -case 3 - if [ -f "$1.help/$2.help/$3" ] - set hf = "$1.help/$2.help/$3" - else - call nh "$1 $2 $3" - exit - fi - break -default - echo \nToo Many Arguments\n -end -if [ -n $hf ] - for l in ($hf) - switch $l - case PAGE - pause;break - Case BL - echo;break - default - echo $l - end - next -fi -MAN -TEXT /MAKE/usr/share/adm/help +TITLE +A2osX Help Help + +The help command displays system, application and program +help files for A2osX. Options include: + + help help - displays this help page + help adm - general help on the A2osX Domain Manager + help adm enable - help on the adm enable command + help ls - help on the ls command + help sh - general shell (bin/sh) help + help sh for - help on the shell for command + help list - displays a directory listing of help topics + diff --git a/HELP/helphelp.txt b/HELP/helphelp.txt deleted file mode 100644 index f51f6457..00000000 --- a/HELP/helphelp.txt +++ /dev/null @@ -1,167 +0,0 @@ -NEW - PREFIX -AUTO 4,1 - A2osX Help Help -BL -The help command displays system, application and program -help files for A2osX. Options include: -BL - help help - displays this help page - help adm - general help on the A2osX Domain Manager - help adm enable - help on the adm enable command - help ls - help on the ls command - help sh - general shell (bin/sh) help - help sh for - help on the shell for command - help list - displays a directory listing of help topics -BL -MAN -TEXT /MAKE/usr/share/help/help - -NEW - PREFIX -AUTO 4,1 - A2osX Domain Manager Help -BL -ADM or the A2osX Domain Manager is a series of scripts you can use to -perform a variety of administrative functions on your A2osX system. -For help on any of the adm commands use the syntax help adm command -For example you can do -BL - help adm update - help adm enable - help adm app install -BL -MAN -TEXT /MAKE/usr/share/help/adm - -NEW - PREFIX -AUTO 4,1 - A2osX ADM Update Help -BL -The adm update command allows you to update your current A2osX installation -to the latest build. This command requires a properly installed, configured -and running network infastructure. Update will test that the update.a2osx.net -server can be reached. Update will then compare the currently running version -with the latest version available on the update server. -BL -The update process will install new system files, bins and even an updated -version of ProDOS FX. It will not change files in user home directories -or configuration files stored in ./etc (other then updated the version file -itself). -BL -MAN -TEXT /MAKE/usr/share/help/adm.help/update - -NEW - PREFIX -AUTO 4,1 - A2osX Edit Help -BL -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. -BL -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. -BL -MAN -TEXT /MAKE/usr/share/help/edit - -NEW - PREFIX -AUTO 4,1 - A2osX Shell (bin/sh) Special Keys -BL -While entering commands at the A2osX shell prompt, you can use the -following special keys to edit the command line: -BL - Key Usage ------------ -------------------------------------------------------------- -DELETE Deletes character to left of cursor, moves rest of line left -Control-C Erases entire command line -Control-D Exits Shell and if user Shell logs you out of your session -Control-Z Deletes character under the cursor -Up Arrow Displays previous command(s) from history. -Down Arrow Displays next command(s) from history. -Left Arrow Moves cursor to the left to edit current command -Right Arrow Moves cursor to the right to edit current command -PAGE -In addition to the editing keys above, you can use the following special -keys while running scripts or executing commands: -BL - Key Usage ------------ -------------------------------------------------------------- -Control-C Interrupts running command or script -Open Apple-0 Switches you to the console display -Open Apple-1 Switches you to Virtual Terminals 1 through 8 if so configured - to OA-8 -Open Apple-9 Switches you to the GUI display if configured and started -BL -MAN -TEXT /MAKE/usr/share/help/sh.help/keys - -NEW - PREFIX -AUTO 4,1 - A2osX Shell CD Command Help -BL - cd -BL -The cd command is used to change the current working directory. You must -supply the cd command a valid relative or absolute path. Examples of -relative paths include subdir1 (a sub-directory in the current directory), -../subdir2 (a sub-directory in the parent of the current directory), and -subdir1/subdir3 ( a sub-directory in the sub-directory subdir1 of the current -directory). An absolute path always begins with a / and includes the volume -name of the disk drive to which change the current working directory such as -/MYVOL1/var/logs (the sub-directory logs in the directory var on the disk -with a volume label of MYVOL1). -PAGE -You can use the pwd command to display the current working directory if your -prompt ($) does not automatically display it on the command line (the default, -set in your PROFILE). The current working directory is used by the shell to -look for scripts not located in one of the directories specified by $PATH or -as the directory for reading and writing files when no path is provided by a -command. For example, if you execute the ls command without arguments, ls -assumes to list the files in the current working directory. Similarly, if -you specify a file without a path, for example the command echo Hello > -outfile, shell will place the file outfile in the current working directory. -See the related popd and pushd commands. -BL -MAN -TEXT /MAKE/usr/share/help/sh.help/cd - -NEW - PREFIX -AUTO 4,1 -A2osX ADM Update Help - -MAN -TEXT /MAKE/usr/share/help/x - - -NEW - PREFIX -AUTO 4,1 -A2osX ADM Update Help - -MAN -TEXT /MAKE/usr/share/help/x - - -NEW - PREFIX -AUTO 4,1 -A2osX ADM Update Help - -MAN -TEXT /MAKE/usr/share/help/x -