diff --git a/.project b/.project new file mode 100644 index 0000000..e973ee0 --- /dev/null +++ b/.project @@ -0,0 +1,11 @@ + + + davex + + + + + + + + diff --git a/README.md b/README.md index 7518584..e80d247 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ # Davex + Davex is a command-line shell for the Apple II family of computers. Davex runs on ProDOS 8, and a subset of functionality is ported to SOS. diff --git a/build/Davex-default.properties b/build/Davex-default.properties new file mode 100644 index 0000000..f4ff0f0 --- /dev/null +++ b/build/Davex-default.properties @@ -0,0 +1,10 @@ +# +# Davex-default.properties +# +# Create a copy of this file in the same build directory and name it +# Davex.properties. That will allow you to change locations of +# support files for local builds. +# +# assemblerPath defines the place where the ca65 executable lives. +# You need to have ca65 at version V2.13.9 or higher. +assemblerPath=c:/dev/cc65/2.13.3/bin \ No newline at end of file diff --git a/build/build-xtn.xml b/build/build-xtn.xml new file mode 100644 index 0000000..ea246ac --- /dev/null +++ b/build/build-xtn.xml @@ -0,0 +1,241 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/build.xml b/build/build.xml new file mode 100644 index 0000000..a65f53d --- /dev/null +++ b/build/build.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/lib/AppleCommander-1.3.5.13-ac.jar b/build/lib/AppleCommander-1.3.5.13-ac.jar new file mode 100644 index 0000000..5813ca9 Binary files /dev/null and b/build/lib/AppleCommander-1.3.5.13-ac.jar differ diff --git a/build/lib/DavexProDOSBase.dsk b/build/lib/DavexProDOSBase.dsk new file mode 100644 index 0000000..5cb6bab Binary files /dev/null and b/build/lib/DavexProDOSBase.dsk differ diff --git a/build/lib/DavexProDOSBase.po b/build/lib/DavexProDOSBase.po new file mode 100644 index 0000000..dfa92a8 Binary files /dev/null and b/build/lib/DavexProDOSBase.po differ diff --git a/build/lib/DavexSOSBase.dsk b/build/lib/DavexSOSBase.dsk new file mode 100644 index 0000000..ed86206 Binary files /dev/null and b/build/lib/DavexSOSBase.dsk differ diff --git a/doc/Davex Xtn.rtf b/doc/Davex Xtn.rtf new file mode 100644 index 0000000..9018665 --- /dev/null +++ b/doc/Davex Xtn.rtf @@ -0,0 +1,685 @@ +{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch11\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1041{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;} +{\f11\fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}MS Mincho{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f37\fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}@MS Mincho;}{\f38\froman\fcharset238\fprq2 Times New Roman CE;} +{\f39\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f41\froman\fcharset161\fprq2 Times New Roman Greek;}{\f42\froman\fcharset162\fprq2 Times New Roman Tur;}{\f43\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} +{\f44\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f45\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f46\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f58\fmodern\fcharset238\fprq1 Courier New CE;} +{\f59\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f61\fmodern\fcharset161\fprq1 Courier New Greek;}{\f62\fmodern\fcharset162\fprq1 Courier New Tur;}{\f63\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);} +{\f64\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f65\fmodern\fcharset186\fprq1 Courier New Baltic;}{\f66\fmodern\fcharset163\fprq1 Courier New (Vietnamese);} +{\f150\fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f148\fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};} +{\f149\fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f151\fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};} +{\f152\fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f155\fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f410\fmodern\fcharset0\fprq1 @MS Mincho Western;} +{\f408\fmodern\fcharset238\fprq1 @MS Mincho CE;}{\f409\fmodern\fcharset204\fprq1 @MS Mincho Cyr;}{\f411\fmodern\fcharset161\fprq1 @MS Mincho Greek;}{\f412\fmodern\fcharset162\fprq1 @MS Mincho Tur;}{\f415\fmodern\fcharset186\fprq1 @MS Mincho Baltic;}} +{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0; +\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 +\ltrch\fcs0 \fs24\lang1033\langfe1041\loch\f0\hich\af0\dbch\af11\cgrid\langnp1033\langfenp1041 \snext0 Normal;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\* +\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}} +{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\revtbl {Unknown;}}{\*\rsidtbl \rsid4805073}{\*\generator Microsoft Word 11.0.0000;}{\info{\operator .}{\creatim\yr2011\mo12\dy6\hr22\min18}{\revtim\yr2011\mo12\dy6\hr22\min18}{\version2}{\edmins0}{\nofpages12}{\nofwords3422} +{\nofchars19512}{\nofcharsws22889}{\vern24615}{\*\password 00000000}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect +\widowctrl\ftnbj\aenddoc\donotembedsysfont0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3 +\jcompress\viewkind4\viewscale100\rsidroot4805073 \fet0{\*\wgrffmtfilter 013f}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2 +\pnucltr\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (} +{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}} +{\*\pnseclvl9\pnlcrm\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\qc \li600\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin600\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 +\fs24\lang1033\langfe1041\loch\af0\hich\af0\dbch\af11\cgrid\langnp1033\langfenp1041 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Appendix\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 +Writing external DAVEX commands +\par +\par \hich\af2\dbch\af11\loch\f2 DAL Systems \hich\af2\dbch\af11\loch\f2 20\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 Feb\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 90\hich\af2\dbch\af11\loch\f2 Version +\hich\af2\dbch\af11\loch\f2 1.25 +\par }\pard \ltrpar\ql \li600\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin600\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par +\par \hich\af2\dbch\af11\loch\f2 This appendix is for assembly\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 language programmers\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 +It explains the format of Davex external commands and the resources available to them\hich\af2\dbch\af11\loch\f2 . +\par +\par \hich\af2\dbch\af11\loch\f2 Three files are provided that should be \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 put\hich\af2\dbch\af11\loch\f2 " (\hich\af2\dbch\af11\loch\f2 included\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 +by external commands\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 these files are in Merlin format and will have to be modified some if you are using EDASM or some other assembler\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 1 +\hich\af2\dbch\af11\loch\f2 ) "\hich\af2\dbch\af11\loch\f2 globals\hich\af2\dbch\af11\loch\f2 .\hich\af2\dbch\af11\loch\f2 s\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 defines entry points and locations provided \hich\af2\dbch\af11\loch\f2 +by Davex\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 ) "\hich\af2\dbch\af11\loch\f2 apple\hich\af2\dbch\af11\loch\f2 .\hich\af2\dbch\af11\loch\f2 globals\hich\af2\dbch\af11\loch\f2 . +\hich\af2\dbch\af11\loch\f2 s\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 defines entry points in the Apple ROM and some locations on zero page and page \hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 +and \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 ) "\hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 .\hich\af2\dbch\af11\loch\f2 globals\hich\af2\dbch\af11\loch\f2 .\hich\af2\dbch\af11\loch\f2 s +\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 defines ProDOS \hich\af2\dbch\af11\loch\f2 8\hich\af2\dbch\af11\loch\f2 command numbers\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 error codes\hich\af2\dbch\af11\loch\f2 , +\hich\af2\dbch\af11\loch\f2 and global\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 page locations\hich\af2\dbch\af11\loch\f2 . +\par +\par \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 xc\hich\af2\dbch\af11\loch\f2 .\hich\af2\dbch\af11\loch\f2 s\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 is the source code for an }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 +\f2\fs20\ul\insrsid4805073 \hich\af2\dbch\af11\loch\f2 empty}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 exte\hich\af2\dbch\af11\loch\f2 rnal command\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 +the best way to start a new command is by making a copy of \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 xc\hich\af2\dbch\af11\loch\f2 .\hich\af2\dbch\af11\loch\f2 s\hich\af2\dbch\af11\loch\f2 ". \hich\af2\dbch\af11\loch\f2 +Source code for the \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 du\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 external command is also provided as an example\hich\af2\dbch\af11\loch\f2 . +\par +\par \hich\af2\dbch\af11\loch\f2 An external Davex command is assembled to run below \hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 B\hich\af2\dbch\af11\loch\f2 000\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 +External commands have a fixed \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 roughly\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 ending address to allow Davex to grow without overlapping previously\hich\af2\dbch\af11\loch\f2 - +\hich\af2\dbch\af11\loch\f2 assembled external commands\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Command files have filetype \hich\af2\dbch\af11\loch\f2 $2\hich\af2\dbch\af11\loch\f2 E\hich\af2\dbch\af11\loch\f2 , +\hich\af2\dbch\af11\loch\f2 auxiliary type \hich\af2\dbch\af11\loch\f2 $8001\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 For compatibility with old versions of Davex\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 +commands may also have filetype BIN\hich\af2\dbch\af11\loch\f2 .) +\par +\par \hich\af2\dbch\af11\loch\f2 External comm\hich\af2\dbch\af11\loch\f2 ands can have all the same kinds of parameters built\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 in commands can have\hich\af2\dbch\af11\loch\f2 . +\par +\par +\par \hich\af2\dbch\af11\loch\f2 Here is the format for an external command\hich\af2\dbch\af11\loch\f2 : +\par }\pard \ltrpar\ql \li1200\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1200\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 $60\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 RTS +\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 EE +\par \hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 EE +\par \hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 xx version \hich\af2\dbch\af11\loch\f2 # \hich\af2\dbch\af11\loch\f2 of command \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 $34\hich\af2\dbch\af11\loch\f2 = +\hich\af2\dbch\af11\loch\f2 Version \hich\af2\dbch\af11\loch\f2 3.4\hich\af2\dbch\af11\loch\f2 ) (\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 byte\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 recommended\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 use versions less than \hich\af2\dbch\af11\loch\f2 1.0\hich\af2\dbch\af11\loch\f2 for in\hich\af2\dbch\af11\loch\f2 +complete versions\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 xx mimimum Davex version required \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 byte\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 use the version number for the Davex you are working with\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 unless you\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 +re sure your command works with earlier versions\hich\af2\dbch\af11\loch\f2 ) [\hich\af2\dbch\af11\loch\f2 see auxiliary version nibble below\hich\af2\dbch\af11\loch\f2 ] +\par \hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 xx command characteristics \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 byte\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 7\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 requires \hich\af2\dbch\af11\loch\f2 40\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 col screen +\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 6\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 requires \hich\af2\dbch\af11\loch\f2 80\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 col screen +\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 5\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 requires \hich\af2\dbch\af11\loch\f2 //\hich\af2\dbch\af11\loch\f2 e or IIgs +\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 4\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 requires \hich\af2\dbch\af11\loch\f2 //\hich\af2\dbch\af11\loch\f2 c +\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 requires IIgs +\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 ..\hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 reserved\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 use +\hich\af2\dbch\af11\loch\f2 0 +\par +\par \hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 byte pointer to ASCII descri\hich\af2\dbch\af11\loch\f2 ption text \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 or \hich\af2\dbch\af11\loch\f2 0 +\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 Description must be in first \hich\af2\dbch\af11\loch\f2 512\hich\af2\dbch\af11\loch\f2 bytes of the object file and must be preceded by a length byte\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 The author +\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 s name or other identification should appear in this description for commands not distributed by DAL Systems\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 The +\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 what\hich\af2\dbch\af11\loch\f2 ' \hich\af2\dbch\af11\loch\f2 comm\hich\af2\dbch\af11\loch\f2 and displays these descriptions\hich\af2\dbch\af11\loch\f2 --\hich\af2\dbch\af11\loch\f2 +be sure to test it on your commands\hich\af2\dbch\af11\loch\f2 .) +\par +\par \hich\af2\dbch\af11\loch\f2 load address \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 bytes\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 The address at which this file must be loaded\hich\af2\dbch\af11\loch\f2 --\hich\af2\dbch\af11\loch\f2 typically an exact page boundary that makes the code end shortly before \hich\af2\dbch\af11\loch\f2 $ +\hich\af2\dbch\af11\loch\f2 B\hich\af2\dbch\af11\loch\f2 000\hich\af2\dbch\af11\loch\f2 . +\par +\par \hich\af2\dbch\af11\loch\f2 execution address \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 bytes\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 D\hich\af2\dbch\af11\loch\f2 avex will JSR to the address stored here once the command is loaded at its load address\hich\af2\dbch\af11\loch\f2 . +\par +\par \hich\af2\dbch\af11\loch\f2 auxiliary minimum Davex version required \hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 v\hich\af2\dbch\af11\loch\f2 1.22\hich\af2\dbch\af11\loch\f2 +] +\par \hich\af2\dbch\af11\loch\f2 The low nibble of this byte is an extension of the \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 minimum Davex version\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 byte above\hich\af2\dbch\af11\loch\f2 +. \hich\af2\dbch\af11\loch\f2 For example\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 a command th\hich\af2\dbch\af11\loch\f2 at requires Davex version \hich\af2\dbch\af11\loch\f2 1.82\hich\af2\dbch\af11\loch\f2 or greater would have +\hich\af2\dbch\af11\loch\f2 $02\hich\af2\dbch\af11\loch\f2 in this byte\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 The high nibble of this byte is reserved and should be \hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 for now +\hich\af2\dbch\af11\loch\f2 .) +\par +\par \hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 bytes reserved for future extensions of the external command format \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 FILL WITH \hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 ) + +\par +\par \hich\af2\dbch\af11\loch\f2 parameter table \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 see below\hich\af2\dbch\af11\loch\f2 ) (\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 p\hich\af2\dbch\af11\loch\f2 + +\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 bytes\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 p\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 number of parameters\hich\af2\dbch\af11\loch\f2 ) +\par }\pard \ltrpar\ql \li600\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin600\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 + bytes for each parameter\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 then \hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 bytes of \hich\af2\dbch\af11\loch\f2 $00 +\par +\par +\par \hich\af2\dbch\af11\loch\f2 Davex loads the external command at its load address \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 after checking that it would not overlap memory used by Davex\hich\af2\dbch\af11\loch\f2 ). +\hich\af2\dbch\af11\loch\f2 Davex then evaluates any parameters and calls the command\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 s execution address AT LEAST once\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 +If the command has any \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 wildpath\hich\af2\dbch\af11\loch\f2 ' \hich\af2\dbch\af11\loch\f2 parameter\hich\af2\dbch\af11\loch\f2 s\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 +Davex expands the wildcards and calls the command once for each file that matches the wildcard\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 with}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\ul\insrsid4805073 \hich\af2\dbch\af11\loch\f2 out}{ +\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 reloading the external command\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 Even if your command does not take wildcards\hich\af2\dbch\af11\loch\f2 , +\hich\af2\dbch\af11\loch\f2 do not assume that it will be reloaded whenever it is used\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 the \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 rep\hich\af2\dbch\af11\loch\f2 ' +\hich\af2\dbch\af11\loch\f2 command may execute your command repeatedly without reloading it\hich\af2\dbch\af11\loch\f2 .) +\par +\par \hich\af2\dbch\af11\loch\f2 When the external command finishes its work\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 it will normally RTS back to Davex\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 If an error occurs +\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 it might JMP to xerr or to xProDOS\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err instead\hich\af2\dbch\af11\loch\f2 --\hich\af2\dbch\af11\loch\f2 see below\hich\af2\dbch\af11\loch\f2 +.) +\par +\par \hich\af2\dbch\af11\loch\f2 The parameter table is\hich\af2\dbch\af11\loch\f2 a list of two\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 byte entries\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 A double +\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 zero entry marks the end of the table\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 The first byte of each pair is the option character for one parameter \hich\af2\dbch\af11\loch\f2 ( +\hich\af2\dbch\af11\loch\f2 use \hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 for parameters without any associated \hich\af2\dbch\af11\loch\f2 "-" \hich\af2\dbch\af11\loch\f2 character\hich\af2\dbch\af11\loch\f2 ). +\hich\af2\dbch\af11\loch\f2 The second byte is the type\hich\af2\dbch\af11\loch\f2 . +\par +\par \hich\af2\dbch\af11\loch\f2 If one wildcard\hich\af2\dbch\af11\loch\f2 pathname is allowed\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 it must be the first parameter in the table\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 +If two wildcard pathnames are allowed\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 they must be the first two parameters in the table\hich\af2\dbch\af11\loch\f2 --\hich\af2\dbch\af11\loch\f2 wildcard matching will take place on the first name +\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 and the text matching the wildcard will be s\hich\af2\dbch\af11\loch\f2 ubstituted into the second parameter whenever a wildcard character appears\hich\af2\dbch\af11\loch\f2 . +\hich\af2\dbch\af11\loch\f2 All of the wildcard processing is invisible to external commands\hich\af2\dbch\af11\loch\f2 . +\par +\par \hich\af2\dbch\af11\loch\f2 The option characters in the parameter table must be in lower case \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 if they are letters\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 and must have their hig +\hich\af2\dbch\af11\loch\f2 h bits on\hich\af2\dbch\af11\loch\f2 . +\par +\par \hich\af2\dbch\af11\loch\f2 Note that all \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 required\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 parameters \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 +parameters that are not associated with a dash and a character\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 must come before all other parameters in the table\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 +even though the user no longer needs to type them in that order\hich\af2\dbch\af11\loch\f2 . +\par +\par \hich\af2\dbch\af11\loch\f2 Also\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 a required pathname\hich\af2\dbch\af11\loch\f2 or string parameter may contain }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\ul\insrsid4805073 +\hich\af2\dbch\af11\loch\f2 zero}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 characters\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 From the user\hich\af2\dbch\af11\loch\f2 ' +\hich\af2\dbch\af11\loch\f2 s point of view\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 the parameter is optional\hich\af2\dbch\af11\loch\f2 --\hich\af2\dbch\af11\loch\f2 but it is treated internally as a string with no characters +\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 The difference is important when your command decides how to act on the parameter\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 s v\hich\af2\dbch\af11\loch\f2 alue +\hich\af2\dbch\af11\loch\f2 . +\par +\par \hich\af2\dbch\af11\loch\f2 If you do not want Davex to display each wildcard match before calling your command\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 use a NOP as the first executable byte of your code\hich\af2\dbch\af11\loch\f2 . +\hich\af2\dbch\af11\loch\f2 Commands that always incorporate the pathname\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 s\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 passed to them into their output may want to do this +\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 The \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 what\hich\af2\dbch\af11\loch\f2 ' \hich\af2\dbch\af11\loch\f2 command is a good example\hich\af2\dbch\af11\loch\f2 .) +\par +\par \hich\af2\dbch\af11\loch\f2 Note\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 When Davex prints a wildcard match\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 it prints it to the SCREEN\hich\af2\dbch\af11\loch\f2 , +\hich\af2\dbch\af11\loch\f2 never to a file or to the printer\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 If you command would be useful for printing \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 tables\hich\af2\dbch\af11\loch\f2 +" \hich\af2\dbch\af11\loch\f2 of information \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 something like \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 size\hich\af2\dbch\af11\loch\f2 ' \hich\af2\dbch\af11\loch\f2 and +\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 what\hich\af2\dbch\af11\loch\f2 ' \hich\af2\dbch\af11\loch\f2 do\hich\af2\dbch\af11\loch\f2 )\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 you wil\hich\af2\dbch\af11\loch\f2 +l probably want to use the NOP option and have your command print the filenames or pathnames itself\hich\af2\dbch\af11\loch\f2 . +\par +\par +\par \hich\af2\dbch\af11\loch\f2 Parameter types \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 defined in \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 globals\hich\af2\dbch\af11\loch\f2 "): +\par \hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 nil no value associated with option character +\par \hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 int\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 byte integer +\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 int\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 byte intege +\hich\af2\dbch\af11\loch\f2 r \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 XY\hich\af2\dbch\af11\loch\f2 ) (\hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 high\hich\af2\dbch\af11\loch\f2 , +\hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 low\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 int\hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 byte integer +\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 AXY\hich\af2\dbch\af11\loch\f2 ) (\hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 highest\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 Y +\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 lowest\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 path ProDOS pathname \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 AY\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 X +\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 file type given after name\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 wildpath ProDOS pathname allowing wildcards \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 AY\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 string string value \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 AY\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 yesno y\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 n \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 : +\hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 no\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 $80\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 yes\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 ftype file type \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 devnum device number \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 ) (\hich\af2\dbch\af11\loch\f2 example +\hich\af2\dbch\af11\loch\f2 : ".\hich\af2\dbch\af11\loch\f2 62\hich\af2\dbch\af11\loch\f2 " = \hich\af2\dbch\af11\loch\f2 slot \hich\af2\dbch\af11\loch\f2 6\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 drive \hich\af2\dbch\af11\loch\f2 2 +\hich\af2\dbch\af11\loch\f2 ): +\par \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 E\hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 $80\hich\af2\dbch\af11\loch\f2 + +\hich\af2\dbch\af11\loch\f2 $60\hich\af2\dbch\af11\loch\f2 ) +\par +\par \hich\af2\dbch\af11\loch\f2 For string and pathname values\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 a pointer is passed in A and Y\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 The data pointed to is a lengt +\hich\af2\dbch\af11\loch\f2 h\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 prefixed string\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 suitable for use in a ProDOS parameter block\hich\af2\dbch\af11\loch\f2 . +\par +\par +\par \hich\af2\dbch\af11\loch\f2 --\hich\af2\dbch\af11\loch\f2 Resources available to external commands\hich\af2\dbch\af11\loch\f2 -- +\par +\par \hich\af2\dbch\af11\loch\f2 External commands may use \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 filebuff\hich\af2\dbch\af11\loch\f2 ', '\hich\af2\dbch\af11\loch\f2 filebuff\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 ', +\hich\af2\dbch\af11\loch\f2 and \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 filebuff\hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 ', \hich\af2\dbch\af11\loch\f2 defined in GLOBALS\hich\af2\dbch\af11\loch\f2 ; +\hich\af2\dbch\af11\loch\f2 each one is \hich\af2\dbch\af11\loch\f2 $400\hich\af2\dbch\af11\loch\f2 bytes long\hich\af2\dbch\af11\loch\f2 . +\par +\par \hich\af2\dbch\af11\loch\f2 32\hich\af2\dbch\af11\loch\f2 bytes of zero page are\hich\af2\dbch\af11\loch\f2 reserved for XCs at \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 xczpage\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 . + +\par +\par \hich\af2\dbch\af11\loch\f2 The high bit of \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 xspeech\hich\af2\dbch\af11\loch\f2 ' \hich\af2\dbch\af11\loch\f2 is on when a speech synthesizer is being used\hich\af2\dbch\af11\loch\f2 . +\par +\par \hich\af2\dbch\af11\loch\f2 XCs may use standard Monitor ROM routines for output \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 but not for input\hich\af2\dbch\af11\loch\f2 ). \hich\af2\dbch\af11\loch\f2 +The following entry points into Davex are defined in the Globals file\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 AS\hich\af2\dbch\af11\loch\f2 SUME ALL REGISTERED ARE SCRAMBLED\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 +EXCEPT AS DOCUMENTED BELOW\hich\af2\dbch\af11\loch\f2 . +\par +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 xgetparm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 n +\hich\af2\dbch\af11\loch\f2 -- \hich\af2\dbch\af11\loch\f2 get value of parameter number A +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Use this subroutine to get the values of required parameters +\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 ones with a \hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 for the first byte of their pair in the parameter table\hich\af2\dbch\af11\loch\f2 ). \hich\af2\dbch\af11\loch\f2 Before call +\hich\af2\dbch\af11\loch\f2 ing this routine\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 load the A register with a parameter number \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 the first parameter is \hich\af2\dbch\af11\loch\f2 0 +\hich\af2\dbch\af11\loch\f2 ). +\par +\par \hich\af2\dbch\af11\loch\f2 For example\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 a \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 rename\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 command would LDA +\hich\af2\dbch\af11\loch\f2 #0\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 JSR xgetparm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 n to get the value of the first parameter\hich\af2\dbch\af11\loch\f2 . +\hich\af2\dbch\af11\loch\f2 Then it would LDA \hich\af2\dbch\af11\loch\f2 #1\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 JSR xgetparm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 n to get the value of the s +\hich\af2\dbch\af11\loch\f2 econd parameter\hich\af2\dbch\af11\loch\f2 . +\par +\par \hich\af2\dbch\af11\loch\f2 NOTE\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 When an external command gets control\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 LDA \hich\af2\dbch\af11\loch\f2 #0 +\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 JSR xgetparm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 n\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 has just been done\hich\af2\dbch\af11\loch\f2 . +\par +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 xgetparm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 ch +\hich\af2\dbch\af11\loch\f2 -- \hich\af2\dbch\af11\loch\f2 get value of parameter for option char in A +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Use this routine to get the value of an optional parameter +\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 one that has a character in the first byte of its pair in the parameter table\hich\af2\dbch\af11\loch\f2 ). \hich\af2\dbch\af11\loch\f2 +Load the A register with the character before calling this routine\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 The character should be lowercase \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 if it\hich\af2\dbch\af11\loch\f2 ' +\hich\af2\dbch\af11\loch\f2 s a l\hich\af2\dbch\af11\loch\f2 etter\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 and have its high bit ON\hich\af2\dbch\af11\loch\f2 . +\par +\par \hich\af2\dbch\af11\loch\f2 If the parameter in question was not given on the command line\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 this routine will return with the carry flag set \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 +SEC\hich\af2\dbch\af11\loch\f2 ). \hich\af2\dbch\af11\loch\f2 Otherwise the carry will be clear and the value of the parameter will be in the appropriate registers\hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 A +\hich\af2\dbch\af11\loch\f2 ,\hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 ,\hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2 --\hich\af2\dbch\af11\loch\f2 see table of parameter types above\hich\af2\dbch\af11\loch\f2 ). +\par +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 xmess +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Prints an inline message\hich\af2\dbch\af11\loch\f2 --\hich\af2\dbch\af11\loch\f2 +ASCII text\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 followed by a \hich\af2\dbch\af11\loch\f2 $00\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 follows the JSR to this subroutine\hich\af2\dbch\af11\loch\f2 . +\par +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 xprint\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 ftype +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Takes filetype code in A and prints a three\hich\af2\dbch\af11\loch\f2 - +\hich\af2\dbch\af11\loch\f2 character filetype name\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 or \hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 xx if the filetype in n\hich\af2\dbch\af11\loch\f2 ot known to Davex +\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 the lists of known filetypes are stored in the \hich\af2\dbch\af11\loch\f2 %\hich\af2\dbch\af11\loch\f2 config file and in Davex itself\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 +and the \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 ftype\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 command can be used to view and edit the user\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 s list +\hich\af2\dbch\af11\loch\f2 ). +\par +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 xprint\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 access +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Takes a ProDOS access byte and prints\hich\af2\dbch\af11\loch\f2 : +\par +\par \hich\af2\dbch\af11\loch\f2 rwndIB +\par +\par \hich\af2\dbch\af11\loch\f2 Only the letters c\hich\af2\dbch\af11\loch\f2 orresponding to bits set in the access byte are printed\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 blanks are printed for the others \hich\af2\dbch\af11\loch\f2 ( +\hich\af2\dbch\af11\loch\f2 r\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 read\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 w\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 write\hich\af2\dbch\af11\loch\f2 , +\hich\af2\dbch\af11\loch\f2 n\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 rename\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 d\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 delete\hich\af2\dbch\af11\loch\f2 , +\hich\af2\dbch\af11\loch\f2 I\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 invisible\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 B\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 needs backup\hich\af2\dbch\af11\loch\f2 ). + +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xprdec\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 2 +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Prints a \hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 - +\hich\af2\dbch\af11\loch\f2 byte value in decimal\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 AY contains the value \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 high byte +\hich\af2\dbch\af11\loch\f2 ). \hich\af2\dbch\af11\loch\f2 No characters \hich\af2\dbch\af11\loch\f2 are printed before or after the number\hich\af2\dbch\af11\loch\f2 . +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xprdec\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 3 +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Prints a \hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 - +\hich\af2\dbch\af11\loch\f2 byte value in decimal\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 The number must be stored in xnum \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 lowest byte\hich\af2\dbch\af11\loch\f2 ) +\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 xnum\hich\af2\dbch\af11\loch\f2 +\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 middle byte\hich\af2\dbch\af11\loch\f2 )\hich\af2\dbch\af11\loch\f2 , +\hich\af2\dbch\af11\loch\f2 and xnum\hich\af2\dbch\af11\loch\f2 +\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 highest byte\hich\af2\dbch\af11\loch\f2 ). \hich\af2\dbch\af11\loch\f2 +No characters are printed before or after the number\hich\af2\dbch\af11\loch\f2 . +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xprdec\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 pady +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Prints a decimal number from NUM \hich\af2\dbch\af11\loch\f2 ( +\hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 bytes\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 right\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 justified in a field of Y\hich\af2\dbch\af11\loch\f2 + +\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 characters +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xprdec\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 pad +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Same as xprdec\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 3 +\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 except the number is right\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 justified in a field of \hich\af2\dbch\af11\loch\f2 7\hich\af2\dbch\af11\loch\f2 characters +\hich\af2\dbch\af11\loch\f2 . +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xprint\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 path +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Prints \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 in lowercase +\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 a length\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 prefixed string pointed to by\hich\af2\dbch\af11\loch\f2 AY\hich\af2\dbch\af11\loch\f2 . +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xbuild\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 local +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 AY must point to a partial pathname\hich\af2\dbch\af11\loch\f2 ; +\hich\af2\dbch\af11\loch\f2 builds a complete pathname by appending to the \hich\af2\dbch\af11\loch\f2 "%" \hich\af2\dbch\af11\loch\f2 directory name\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 This will locate the +\hich\af2\dbch\af11\loch\f2 %\hich\af2\dbch\af11\loch\f2 config file\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 for example\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Returns AY pointing to the complete path +\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 If you call this routine more than once\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 note that the same memory will be used to store the pathname\hich\af2\dbch\af11\loch\f2 , +\hich\af2\dbch\af11\loch\f2 so the previous name will be erased\hich\af2\dbch\af11\loch\f2 .) +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xprint\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 sd +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Entry\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 A +\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 device number\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 prints\hich\af2\dbch\af11\loch\f2 : .\hich\af2\dbch\af11\loch\f2 sd\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 +where s and d are the slot and drive of the given device number\hich\af2\dbch\af11\loch\f2 . +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xprint\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 drvr \hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 input functions in Davex \hich\af2\dbch\af11\loch\f2 1.25\hich\af2\dbch\af11\loch\f2 +] +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Provides calls to open\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 +close\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 write\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 and poll character devices\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Entry\hich\af2\dbch\af11\loch\f2 : +\hich\af2\dbch\af11\loch\f2 X \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 function\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Other parameters depend on the function\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 +For convenience\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 ProDOS call numbers are used \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 as defined in MLI\hich\af2\dbch\af11\loch\f2 .\hich\af2\dbch\af11\loch\f2 GLOBALS +\hich\af2\dbch\af11\loch\f2 .\hich\af2\dbch\af11\loch\f2 S\hich\af2\dbch\af11\loch\f2 ). +\par +\par \hich\af2\dbch\af11\loch\f2 Slots are opened \hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 independently\hich\af2\dbch\af11\loch\f2 - \hich\af2\dbch\af11\loch\f2 for inp\hich\af2\dbch\af11\loch\f2 ut and output\hich\af2\dbch\af11\loch\f2 . +\hich\af2\dbch\af11\loch\f2 Input is supported for Pascal devices\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 but not for parallel cards\hich\af2\dbch\af11\loch\f2 . +\par +\par \hich\af2\dbch\af11\loch\f2 X \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 open\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 open a slot for output +\par \hich\af2\dbch\af11\loch\f2 Input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 slot number \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 + for default\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 Output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 CLC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 reference number +\par \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 error code \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 for xProDOS +\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err\hich\af2\dbch\af11\loch\f2 ) +\par +\par \hich\af2\dbch\af11\loch\f2 X \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 open\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 $80\hich\af2\dbch\af11\loch\f2 : +\hich\af2\dbch\af11\loch\f2 open a slot for input +\par \hich\af2\dbch\af11\loch\f2 Input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 slot number +\par \hich\af2\dbch\af11\loch\f2 Output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 CLC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 reference number +\par \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 error code \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 for xProDOS +\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err\hich\af2\dbch\af11\loch\f2 ) +\par +\par \hich\af2\dbch\af11\loch\f2 X \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 close\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 close a slot for output +\par \hich\af2\dbch\af11\loch\f2 Input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 reference number +\par \hich\af2\dbch\af11\loch\f2 Output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 CLC \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 successful +\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 error code \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 +for xProDOS\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err\hich\af2\dbch\af11\loch\f2 ) +\par +\par \hich\af2\dbch\af11\loch\f2 X \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 close\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 $80\hich\af2\dbch\af11\loch\f2 : +\hich\af2\dbch\af11\loch\f2 close a slot for input +\par \hich\af2\dbch\af11\loch\f2 Input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 reference number +\par \hich\af2\dbch\af11\loch\f2 Output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 CLC \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 successful +\par \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 error code \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 for xProDOS +\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err\hich\af2\dbch\af11\loch\f2 ) +\par +\par \hich\af2\dbch\af11\loch\f2 X \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 write\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 send a character +\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 7\hich\af2\dbch\af11\loch\f2 bits significant\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 Input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 character to be written +\par \hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 reference number from the open +\par \hich\af2\dbch\af11\loch\f2 Output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 CLC \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 successful +\par \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 error code \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 for xProDOS +\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err\hich\af2\dbch\af11\loch\f2 ) +\par +\par \hich\af2\dbch\af11\loch\f2 X \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 write\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 $80\hich\af2\dbch\af11\loch\f2 : +\hich\af2\dbch\af11\loch\f2 send a character \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 all \hich\af2\dbch\af11\loch\f2 8\hich\af2\dbch\af11\loch\f2 bits significant\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 inputs and outputs as for mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 write\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 ab\hich\af2\dbch\af11\loch\f2 ove +\par +\par \hich\af2\dbch\af11\loch\f2 X \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 read\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 see if device is ready to accept output + +\par \hich\af2\dbch\af11\loch\f2 Input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 reference number +\par \hich\af2\dbch\af11\loch\f2 Output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 CLC \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 successful +\par \hich\af2\dbch\af11\loch\f2 Bit \hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 of A is \hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 if device is ready to receive +\par \hich\af2\dbch\af11\loch\f2 output\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 other bits are undefined +\par \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 error code \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 for xProDOS +\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err\hich\af2\dbch\af11\loch\f2 ) +\par +\par \hich\af2\dbch\af11\loch\f2 X \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 read\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 $80 +\par \hich\af2\dbch\af11\loch\f2 Input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 reference number +\par \hich\af2\dbch\af11\loch\f2 Output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 CLC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 character successfully read +\par \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 if no character ready +\par \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 >\hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 if error \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 +for xProDOS\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err\hich\af2\dbch\af11\loch\f2 ) +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xredirect +\par \hich\af2\dbch\af11\loch\f2 Contro\hich\af2\dbch\af11\loch\f2 ls suspension of I\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 O redirection \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 multiple levels of suspension are allowed +\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 one \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 restore\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 is required for each \hich\af2\dbch\af11\loch\f2 " +\hich\af2\dbch\af11\loch\f2 suspend\hich\af2\dbch\af11\loch\f2 "). +\par +\par \hich\af2\dbch\af11\loch\f2 Input in A\hich\af2\dbch\af11\loch\f2 : +\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 determine current suspension level +\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 suspend I\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 O redirection +\par \hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 : (\hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 FF\hich\af2\dbch\af11\loch\f2 ): \hich\af2\dbch\af11\loch\f2 restore I\hich\af2\dbch\af11\loch\f2 / +\hich\af2\dbch\af11\loch\f2 O redirectio\hich\af2\dbch\af11\loch\f2 n +\par +\par \hich\af2\dbch\af11\loch\f2 Output in A\hich\af2\dbch\af11\loch\f2 : +\par \hich\af2\dbch\af11\loch\f2 N flag \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 bit \hich\af2\dbch\af11\loch\f2 7\hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 if output is being redirected + +\par \hich\af2\dbch\af11\loch\f2 V flag \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 bit \hich\af2\dbch\af11\loch\f2 6\hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 if input is being redirected + +\par +\par \hich\af2\dbch\af11\loch\f2 xpercent +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Takes two \hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 - +\hich\af2\dbch\af11\loch\f2 byte values\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 one in AXY and one in xnum\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Returns \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 in A +\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 the percentage that AXY is of xnum \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 bytes\hich\af2\dbch\af11\loch\f2 ). +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xyesno +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Prints \hich\af2\dbch\af11\loch\f2 '? \hich\af2\dbch\af11\loch\f2 ( +\hich\af2\dbch\af11\loch\f2 y\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 n\hich\af2\dbch\af11\loch\f2 )\hich\af2\dbch\af11\loch\f2 ' \hich\af2\dbch\af11\loch\f2 and waits for a Y or N to be typed\hich\af2\dbch\af11\loch\f2 . +\par \hich\af2\dbch\af11\loch\f2 Returns\hich\af2\dbch\af11\loch\f2 : +\par \hich\af2\dbch\af11\loch\f2 No\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 $00\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 Z flag\hich\af2\dbch\af11\loch\f2 = +\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 BEQ will be taken\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 Yes\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 $80\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 Z flag\hich\af2\dbch\af11\loch\f2 = +\hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 BNE will be taken\hich\af2\dbch\af11\loch\f2 ) +\par +\par \hich\af2\dbch\af11\loch\f2 See xredirect notes in xyesno\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 description\hich\af2\dbch\af11\loch\f2 . +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xyesno\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 Davex v\hich\af2\dbch\af11\loch\f2 1.2\hich\af2\dbch\af11\loch\f2 +] +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Just like xyesno\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 +except that the SPACE and RETURN keys are also accepted\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Before calling this routine\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 load the A register with a \hich\af2\dbch\af11\loch\f2 ' +\hich\af2\dbch\af11\loch\f2 y\hich\af2\dbch\af11\loch\f2 ' \hich\af2\dbch\af11\loch\f2 or an \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 n\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 +If the user types a SPACE or RETURN\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 it is translated into the character you passed\hich\af2\dbch\af11\loch\f2 . +\par +\par \hich\af2\dbch\af11\loch\f2 xyesno\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 should be used\hich\af2\dbch\af11\loch\f2 when there is a clear and }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\ul\insrsid4805073 \hich\af2\dbch\af11\loch\f2 +safe}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 default choice at a yes\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 no question\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 +The default should never be destructive\hich\af2\dbch\af11\loch\f2 ! \hich\af2\dbch\af11\loch\f2 If there is no clear default choice\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 don\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 +t try to outguess the user\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 just use xyesno\hich\af2\dbch\af11\loch\f2 . +\par +\par \hich\af2\dbch\af11\loch\f2 To asking a yes\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 no question\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 you should call xredirect wi\hich\af2\dbch\af11\loch\f2 th A +\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 to suspend any active I\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 O redirection\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 print the prompt +\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 call xyesno or xyesno\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 call xredirect with A\hich\af2\dbch\af11\loch\f2 =-\hich\af2\dbch\af11\loch\f2 1 +\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 FF\hich\af2\dbch\af11\loch\f2 )\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 and then act on the answer to the question\hich\af2\dbch\af11\loch\f2 . +\hich\af2\dbch\af11\loch\f2 If you don\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 t call xredirect\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 the question may get printed or sent to a disk file\hich\af2\dbch\af11\loch\f2 , +\hich\af2\dbch\af11\loch\f2 and the a\hich\af2\dbch\af11\loch\f2 nswer to the question may come from an exec file\hich\af2\dbch\af11\loch\f2 ! +\par +\par }\pard \ltrpar\ql \li2160\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin2160\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 lda \hich\af2\dbch\af11\loch\f2 #1 +\par \hich\af2\dbch\af11\loch\f2 jsr xredirect +\par \hich\af2\dbch\af11\loch\f2 jsr xmess +\par \hich\af2\dbch\af11\loch\f2 asc \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 Okay to detonate mouse\hich\af2\dbch\af11\loch\f2 " +\par \hich\af2\dbch\af11\loch\f2 dfb \hich\af2\dbch\af11\loch\f2 0 +\par +\par \hich\af2\dbch\af11\loch\f2 lda \hich\af2\dbch\af11\loch\f2 #\hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 n\hich\af2\dbch\af11\loch\f2 " +\par \hich\af2\dbch\af11\loch\f2 jsr xyesno\hich\af2\dbch\af11\loch\f2 2 +\par +\par \hich\af2\dbch\af11\loch\f2 php \hich\af2\dbch\af11\loch\f2 ;\hich\af2\dbch\af11\loch\f2 save Z flag for BEQ\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 BNE +\par \hich\af2\dbch\af11\loch\f2 lda \hich\af2\dbch\af11\loch\f2 #\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 1 +\par \hich\af2\dbch\af11\loch\f2 jsr xredirect +\par \hich\af2\dbch\af11\loch\f2 plp +\par +\par \hich\af2\dbch\af11\loch\f2 beq TheySaidNo +\par \hich\af2\dbch\af11\loch\f2 ... +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xgetln +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 get an input line and place it in string\hich\af2\dbch\af11\loch\f2 , +\hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 NOT string\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 this was documented wrong before\hich\af2\dbch\af11\loch\f2 ] \hich\af2\dbch\af11\loch\f2 zero +\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 terminated \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 there is also a length byte at string\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 ). +\hich\af2\dbch\af11\loch\f2 Returns SEC if input was cancelled by Ctrl\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 This is the same string that Davex uses for the command lin +\hich\af2\dbch\af11\loch\f2 e\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 so a command that uses this call must preserve and restore the contents of this buffer \hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 256 +\hich\af2\dbch\af11\loch\f2 bytes starting at string\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 this is actually overkill by a few bytes\hich\af2\dbch\af11\loch\f2 )]. +\hich\af2\dbch\af11\loch\f2 Note that the up and down arrows \hich\af2\dbch\af11\loch\f2 *\hich\af2\dbch\af11\loch\f2 will\hich\af2\dbch\af11\loch\f2 * \hich\af2\dbch\af11\loch\f2 allow the user to scroll through the command his +\hich\af2\dbch\af11\loch\f2 tory if this call is used\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 A BETTER GETLN ROUTINE WILL BE AVAILABLE IN DAVEX \hich\af2\dbch\af11\loch\f2 1.3\hich\af2\dbch\af11\loch\f2 : +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xgetln\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 PLANNED FOR DAVEX \hich\af2\dbch\af11\loch\f2 1.3\hich\af2\dbch\af11\loch\f2 ] +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 AY +\hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 address of input buffer \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 provided by your command\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 X \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 length of the buffer +\par \hich\af2\dbch\af11\loch\f2 Output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 length\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 prefixed\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 zero\hich\af2\dbch\af11\loch\f2 - +\hich\af2\dbch\af11\loch\f2 terminated s\hich\af2\dbch\af11\loch\f2 tring in buffer +\par +\par \hich\af2\dbch\af11\loch\f2 xgetln\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 reads lines of text from an input device\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Input will often come from the keyboard +\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 but it can come from an exec file or a peripheral device\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 If you want to force input to come from the keyboard\hich\af2\dbch\af11\loch\f2 , +\hich\af2\dbch\af11\loch\f2 use xredirect to suspend I\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 O redir\hich\af2\dbch\af11\loch\f2 ection before calling xgetln\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 + and to restore it afterwards\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 If you print a prompt before getting the input\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 be sure to print the prompt AFTER suspending I +\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 O redirection\hich\af2\dbch\af11\loch\f2 .) +\par +\par \hich\af2\dbch\af11\loch\f2 Unlike xgetln\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 the up and down arrows \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 for history scrolling\hich\af2\dbch\af11\loch\f2 ) +\hich\af2\dbch\af11\loch\f2 are disabled during \hich\af2\dbch\af11\loch\f2 xgetln\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 . +\par +\par \hich\af2\dbch\af11\loch\f2 Note that the maximum number of characters in the input string is two less than the size of the buffer\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 since one byte is used for the length of the string and one +\hich\af2\dbch\af11\loch\f2 $00\hich\af2\dbch\af11\loch\f2 byte marks the end of the string\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 xgetln\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 +s behavior is undefined if it is ca\hich\af2\dbch\af11\loch\f2 lled with X less than \hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 . +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xbell +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Sound a warning bell \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 +a ProDOS\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 style \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 blat\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 or a system \hich\af2\dbch\af11\loch\f2 " +\hich\af2\dbch\af11\loch\f2 beep\hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 depending on \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 config \hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 b +\hich\af2\dbch\af11\loch\f2 "). +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xdowncase +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 If character in A is a capital letter\hich\af2\dbch\af11\loch\f2 , +\hich\af2\dbch\af11\loch\f2 changes it into a lowercase letter \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 always sets bit \hich\af2\dbch\af11\loch\f2 7\hich\af2\dbch\af11\loch\f2 ). \hich\af2\dbch\af11\loch\f2 X and Y are preserved +\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 A is preserved or capitalized\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 This routine always turns on the high bit of the character in A\hich\af2\dbch\af11\loch\f2 . +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xplural +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Takes two\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 +byte value in AY and \hich\af2\dbch\af11\loch\f2 prints \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 s\hich\af2\dbch\af11\loch\f2 ' \hich\af2\dbch\af11\loch\f2 if the value is not equal to \hich\af2\dbch\af11\loch\f2 1 +\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Let\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 s not have any more \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 files found +\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 messages\hich\af2\dbch\af11\loch\f2 ! +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xcheck\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 wait +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Returns with SEC if the user has pressed ESC\hich\af2\dbch\af11\loch\f2 . +\hich\af2\dbch\af11\loch\f2 This is a SOFT ABORT if your command supports it\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 wildcard expansion and further command\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 line processi +\hich\af2\dbch\af11\loch\f2 ng\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 if any\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 will continue\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 If the user hits Ctrl +\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 C or Apple\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 period\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 this routine will print \hich\af2\dbch\af11\loch\f2 "*** +\hich\af2\dbch\af11\loch\f2 aborted\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 and will clean up and return to the command prompt\hich\af2\dbch\af11\loch\f2 . +\par +\par \hich\af2\dbch\af11\loch\f2 The user can also PAUSE and single\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 step the screen by hitting SPACE\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 This routine will call pol +\hich\af2\dbch\af11\loch\f2 l\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 io \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 for print spooling\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 while the screen is frozen +\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Also\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 Apple\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 H will do a screen dump \hich\af2\dbch\af11\loch\f2 ( +\hich\af2\dbch\af11\loch\f2 except on II\hich\af2\dbch\af11\loch\f2 +). +\par +\par \hich\af2\dbch\af11\loch\f2 NOTE\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 If an external command calls xcheck\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 wait\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 +it should do it exactly once per line printed\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Test your command for reasonable behavior by singl\hich\af2\dbch\af11\loch\f2 e\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 +stepping the output with the space bar\hich\af2\dbch\af11\loch\f2 . +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xpr\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 date\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 ay +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Takes standard ProDOS date word in AY and prints date in the form dd +\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 mmm\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 yy\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 If AY\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 0 +\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 prints \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 <\hich\af2\dbch\af11\loch\f2 no date\hich\af2\dbch\af11\loch\f2 >\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 instead +\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Question marks are printed for any parts of the date that have illegal values\hich\af2\dbch\af11\loch\f2 . +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xpr\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 ime\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 ay +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Takes standard ProDOS time word in AY and prints time in the form hh +\hich\af2\dbch\af11\loch\f2 :\hich\af2\dbch\af11\loch\f2 mm xM\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 If AY\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 +prints blanks instead\hich\af2\dbch\af11\loch\f2 . +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xProDOS\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Prints ProDOS error message from A and aborts to the command line +\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 This routine closes any files you opened \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 provided you didn\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 t fiddle with LEVEL +\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 and cleans up the stack\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 You generally don\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 t have to worry about cleaning things up +\hich\af2\dbch\af11\loch\f2 . +\par +\par \hich\af2\dbch\af11\loch\f2 Input and output redirection are cancelled\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 but print spooling is not disturbed\hich\af2\dbch\af11\loch\f2 . +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xProDOS\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 er +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Prints ProDOS error without a bell and returns \hich\af2\dbch\af11\loch\f2 ( +\hich\af2\dbch\af11\loch\f2 does N\hich\af2\dbch\af11\loch\f2 OT abort\hich\af2\dbch\af11\loch\f2 ). +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xerr +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Aborts to Davex\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 s command +\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 line prompt\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Use this routine if you print an error message \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 with xmess +\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 and want to abort like xProDOS\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err would\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 +Note that the error message may be redirected to a file or printer\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 You may want to call xredirect with A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 to +\hich\af2\dbch\af11\loch\f2 suspend I\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 O redirection before calling xmess to print the error\hich\af2\dbch\af11\loch\f2 .) +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xpush\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 level +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Prepares to open a new directory level\hich\af2\dbch\af11\loch\f2 ; +\hich\af2\dbch\af11\loch\f2 must be called before dir\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 setup is called\hich\af2\dbch\af11\loch\f2 . +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xdir\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 setup +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Opens a new directory level\hich\af2\dbch\af11\loch\f2 . +\hich\af2\dbch\af11\loch\f2 Call xpush\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 level first\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Use xread\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 dir to read entri +\hich\af2\dbch\af11\loch\f2 es from the directory\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Call xdir\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 finish when there are no more entries\hich\af2\dbch\af11\loch\f2 . +\hich\af2\dbch\af11\loch\f2 On entry to xdir\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 setup\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A and Y should point to a complete pathname or a partial pathname RELEATIVE TO THE PREFIX +\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 compare xdir\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 setup\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 ). +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xdir\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 setup\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 Davex v\hich\af2\dbch\af11\loch\f2 1.23\hich\af2\dbch\af11\loch\f2 +] + +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Just like xdir\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 s +\hich\af2\dbch\af11\loch\f2 etup\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 but the pathname pointed to by AY should be either \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 ) +\hich\af2\dbch\af11\loch\f2 complete or \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 partial RELEATIVE TO THE DIRECTORY ALREADY OPEN\hich\af2\dbch\af11\loch\f2 . +\hich\af2\dbch\af11\loch\f2 This is useful for commands that traverse a subdirectory structure\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 since you can just call this routine with the directory name\hich\af2\dbch\af11\loch\f2 . +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xdir\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 finish +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Closes the current directory level and re\hich\af2\dbch\af11\loch\f2 - +\hich\af2\dbch\af11\loch\f2 opens the previous one\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 if one was open\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 To exit normally\hich\af2\dbch\af11\loch\f2 , +\hich\af2\dbch\af11\loch\f2 you must call this routine once for each call to xdir\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 setup you make\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 If you jump to xerr or xProDOS +\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 don\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 t worry about it\hich\af2\dbch\af11\loch\f2 .) +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xread\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 di\hich\af2\dbch\af11\loch\f2 r +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Reads one entry from the current directory\hich\af2\dbch\af11\loch\f2 , +\hich\af2\dbch\af11\loch\f2 opened with xdir\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 setup\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Returns SEC if there were no more entries in the current directory +\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 The directory entry is stored at \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 catbuff\hich\af2\dbch\af11\loch\f2 ". +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xpoll\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 io +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Should be called while waiting for keyboard input\hich\af2\dbch\af11\loch\f2 . +\hich\af2\dbch\af11\loch\f2 This gives\hich\af2\dbch\af11\loch\f2 Davex a chance\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 for example\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 to send data from spooled files to the printer +\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 This routine is called automatically during xcheck\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 wait\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 xrdkey +\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 and xgetln calls\hich\af2\dbch\af11\loch\f2 .) \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 Y +\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 and P are PRESERVED\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Also\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 xpoll\hich\af2\dbch\af11\loch\f2 _ +\hich\af2\dbch\af11\loch\f2 io increments the two\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 byte random number on zero\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 page \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 $4 +\hich\af2\dbch\af11\loch\f2 E and \hich\af2\dbch\af11\loch\f2 $4\hich\af2\dbch\af11\loch\f2 F\hich\af2\dbch\af11\loch\f2 ). +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xmmgr +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 A crude memory manager\hich\af2\dbch\af11\loch\f2 --\hich\af2\dbch\af11\loch\f2 +allows external commands to use the space between the end of Davex and the beginning of the external command\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 Assemble external commands to end as close to \hich\af2\dbch\af11\loch\f2 $ +\hich\af2\dbch\af11\loch\f2 B\hich\af2\dbch\af11\loch\f2 000\hich\af2\dbch\af11\loch\f2 as possible to maximize this free space\hich\af2\dbch\af11\loch\f2 .\hich\af2\dbch\af11\loch\f2 ) +\par +\par \hich\af2\dbch\af11\loch\f2 Input in X\hich\af2\dbch\af11\loch\f2 : +\par \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 close free all dynamic memory +\par +\par \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 open alloc A pages from low mem\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 out of mem +\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 return A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 st page +\par +\par \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 read return number of free pages in A\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 0 + +\par +\par \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 gfinfo return lowest free page number into A\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 0 + +\par +\par \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 write set highest available page to A +\par +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xpmgr +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 PathManager\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 +performs common operations on pathnames\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 The format of a call is\hich\af2\dbch\af11\loch\f2 : +\par +\par \hich\af2\dbch\af11\loch\f2 jsr xpmgr +\par \hich\af2\dbch\af11\loch\f2 dfb COMMAND +\par \hich\af2\dbch\af11\loch\f2 dw PARM\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 ,\hich\af2\dbch\af11\loch\f2 PARM\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 ] +\par +\par \hich\af2\dbch\af11\loch\f2 COMMAND is one of the following\hich\af2\dbch\af11\loch\f2 : +\par +\par \hich\af2\dbch\af11\loch\f2 pm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 appay +\par \hich\af2\dbch\af11\loch\f2 appends path at A\hich\af2\dbch\af11\loch\f2 Y to path at PARM\hich\af2\dbch\af11\loch\f2 1 +\par +\par \hich\af2\dbch\af11\loch\f2 pm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 appch +\par \hich\af2\dbch\af11\loch\f2 appends character in A to path at PARM\hich\af2\dbch\af11\loch\f2 1 +\par +\par \hich\af2\dbch\af11\loch\f2 pm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 up +\par \hich\af2\dbch\af11\loch\f2 removes one segment from end of path at PARM\hich\af2\dbch\af11\loch\f2 1 +\par +\par \hich\af2\dbch\af11\loch\f2 pm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 slashif +\par \hich\af2\dbch\af11\loch\f2 adds \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 ' \hich\af2\dbch\af11\loch\f2 to end of path at PARM\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 if it doesn +\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 t already end +\par \hich\af2\dbch\af11\loch\f2 in \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 ' +\par +\par \hich\af2\dbch\af11\loch\f2 pm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 copy +\par \hich\af2\dbch\af11\loch\f2 copie\hich\af2\dbch\af11\loch\f2 s length\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 prefixed path from PARM\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 to PARM\hich\af2\dbch\af11\loch\f2 2 +\par \hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 Davex v\hich\af2\dbch\af11\loch\f2 1.2\hich\af2\dbch\af11\loch\f2 +!] +\par +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 xgetnump \hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 Davex v +\hich\af2\dbch\af11\loch\f2 1.1\hich\af2\dbch\af11\loch\f2 +] +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 none +\par \hich\af2\dbch\af11\loch\f2 output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 number of parameters given for command +\par \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 including all required parameters\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 even if they are +\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 length strings or pathnames\hich\af2\dbch\af11\loch\f2 ). +\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 X and Y are preserved\hich\af2\dbch\af11\loch\f2 . +\par +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 xrdkey \hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 Davex v +\hich\af2\dbch\af11\loch\f2 1.1\hich\af2\dbch\af11\loch\f2 +] +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 +character under cursor \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 normally use a blank \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 key pressed \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 high bit on\hich\af2\dbch\af11\loch\f2 ). +\par +\par \hich\af2\dbch\af11\loch\f2 Call this routine }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\ul\insrsid4805073 \hich\af2\dbch\af11\loch\f2 instead}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 + of using ROM routines for input\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 For example\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 RDKEY\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 RDCHAR +\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 and GETLN are not\hich\af2\dbch\af11\loch\f2 guaranteed to work correctly\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 +Note that input will may come from an exec file rather than from the keyboard\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 unless you use xredirect to suspend I\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 O redirection +\hich\af2\dbch\af11\loch\f2 . +\par +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 xdirty \hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 Davex v +\hich\af2\dbch\af11\loch\f2 1.1\hich\af2\dbch\af11\loch\f2 +] +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 No inputs or outputs\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 +Sets a flag to force Davex to try to re\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 save\hich\af2\dbch\af11\loch\f2 the \hich\af2\dbch\af11\loch\f2 %\hich\af2\dbch\af11\loch\f2 config information\hich\af2\dbch\af11\loch\f2 . ( +\hich\af2\dbch\af11\loch\f2 The attempted re\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 saving happens before command prompts\hich\af2\dbch\af11\loch\f2 .) +\par +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 xprint\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 ver +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 version number in A +\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 $34\hich\af2\dbch\af11\loch\f2 prints \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 v\hich\af2\dbch\af11\loch\f2 3.4\hich\af2\dbch\af11\loch\f2 " +\par \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 all registers scrambled\hich\af2\dbch\af11\loch\f2 ) +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xfman\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 open +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 +AY points to pathname of a file +\par \hich\af2\dbch\af11\loch\f2 output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 CLC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 file reference number +\par \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 ProDOS error code +\par +\par \hich\af2\dbch\af11\loch\f2 xfman\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 open and xfman\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 read provide a way to read text and AppleWorks Word Processor \hich\af2\dbch\af11\loch\f2 ( +\hich\af2\dbch\af11\loch\f2 AWP\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 files without caring which kind of file is which\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 The resulting stream of data +\par +\par \hich\af2\dbch\af11\loch\f2 Additional \hich\af2\dbch\af11\loch\f2 filetypes may be interpreted in the future\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 In general\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 +these routines perform a reasonable mapping from some non\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 text files into a legible sequentially\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 readable format\hich\af2\dbch\af11\loch\f2 . + +\par +\par \hich\af2\dbch\af11\loch\f2 Warning\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 Do not attempt to open more than one file at a time using xfman\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 open\hich\af2\dbch\af11\loch\f2 . +\hich\af2\dbch\af11\loch\f2 It \hich\af2\dbch\af11\loch\f2 is not currently supported\hich\af2\dbch\af11\loch\f2 . +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par \hich\af2\dbch\af11\loch\f2 xfman\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 read +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 A +\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 reference number returned from xfman\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 open +\par \hich\af2\dbch\af11\loch\f2 output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 CLC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 character +\par \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 ProDOS error code +\par +\par \hich\af2\dbch\af11\loch\f2 Returns the next character from a file opened with xfman\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 open\hich\af2\dbch\af11\loch\f2 . +\par \hich\af2\dbch\af11\loch\f2 No special way is provided to close a \hich\af2\dbch\af11\loch\f2 file opened with xfman\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 open\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 +close with a ProDOS call if necessary\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 This may be inadequate if these file manager routines are ever enhanced to deal with more than one file open at a time\hich\af2\dbch\af11\loch\f2 . +\par +\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 xshell\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 info +\hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 Davex v\hich\af2\dbch\af11\loch\f2 1.25\hich\af2\dbch\af11\loch\f2 +] +\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 X +\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 request code +\par \hich\af2\dbch\af11\loch\f2 output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 CLC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 requested information in registers\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 etc +\hich\af2\dbch\af11\loch\f2 . +\par \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 requested information not available +\par +\par \hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 Get Davex version in A\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2 +. +\par \hich\af2\dbch\af11\loch\f2 For version \hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 a\hich\af2\dbch\af11\loch\f2 .\hich\af2\dbch\af11\loch\f2 bc\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 = +\hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 ab and Y\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 $0\hich\af2\dbch\af11\loch\f2 c\hich\af2\dbch\af11\loch\f2 . +\par \hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 Get alias buffer \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 AY\hich\af2\dbch\af11\loch\f2 = +\hich\af2\dbch\af11\loch\f2 address\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 size in pages\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 Get history buffer \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 AY\hich\af2\dbch\af11\loch\f2 = +\hich\af2\dbch\af11\loch\f2 address\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 size in pages\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 Get internal filetype table \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 AY +\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 address\hich\af2\dbch\af11\loch\f2 ) +\par \hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 4\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 Get internal filetype name table \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 AY +\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 address\hich\af2\dbch\af11\loch\f2 ) +\par }\pard \ltrpar\ql \li600\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin600\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\par +\par \hich\af2\dbch\af11\loch\f2 --\hich\af2\dbch\af11\loch\f2 notes\hich\af2\dbch\af11\loch\f2 -- +\par +\par \hich\af2\dbch\af11\loch\f2 External commands should not open any files below }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\ul\insrsid4805073 \hich\af2\dbch\af11\loch\f2 stdlevel}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 +\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 which is the current ProDOS file level when the shell \hich\af2\dbch\af11\loch\f2 executes an XC\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 +Davex automatically closes any files open at or above stdlevel when the external command finishes\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Davex guarantees that an XC will be able to open \hich\af2\dbch\af11\loch\f2 3 +\hich\af2\dbch\af11\loch\f2 files\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 but it does not guarantee any more than that \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 Davex may have up to \hich\af2\dbch\af11\loch\f2 5 +\hich\af2\dbch\af11\loch\f2 files open a\hich\af2\dbch\af11\loch\f2 lready \hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 spooling\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 exec\hich\af2\dbch\af11\loch\f2 , +\hich\af2\dbch\af11\loch\f2 output redirection to disk\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 wildcard expansion and maybe one more in the future\hich\af2\dbch\af11\loch\f2 ]\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 +the ProDOS limit is \hich\af2\dbch\af11\loch\f2 8\hich\af2\dbch\af11\loch\f2 open files\hich\af2\dbch\af11\loch\f2 ). +\par +\par \hich\af2\dbch\af11\loch\f2 When an external command gets control at its execution address\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 Davex has just finished calling xgetparm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 n for par +\hich\af2\dbch\af11\loch\f2 ameter number \hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 So\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 for example\hich\af2\dbch\af11\loch\f2 , +\hich\af2\dbch\af11\loch\f2 a command whose first parameter is a pathname may start out by storing A and Y into a ProDOS parameter block\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 +since AY will have the address of the value of the first parameter\hich\af2\dbch\af11\loch\f2 . +\par }} \ No newline at end of file diff --git a/doc/Davex.html b/doc/Davex.html new file mode 100644 index 0000000..f57730f --- /dev/null +++ b/doc/Davex.html @@ -0,0 +1,37 @@ + + + +Davex Project Page + + + + + + +
+[Davex Home Page] +
+ +
+

+
+Davex +
+

+
+ +

+The documentation for the Davex project is maintained on the SourceForge site. +You should have been immediately redirected there; click on the following link +(http://sourceforge.net/p/davex/home/Home/) +if not. +

+ +
+ +
+[Davex Home Page] +
+ + + \ No newline at end of file diff --git a/doc/Davex.rtf b/doc/Davex.rtf new file mode 100644 index 0000000..776a283 --- /dev/null +++ b/doc/Davex.rtf @@ -0,0 +1,683 @@ +{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch11\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1041{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;} +{\f11\fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}MS Mincho{\*\falt ?l?r ??\'81\'66c};}{\f37\fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}@MS Mincho;}{\f48\froman\fcharset238\fprq2 Times New Roman CE;} +{\f49\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f51\froman\fcharset161\fprq2 Times New Roman Greek;}{\f52\froman\fcharset162\fprq2 Times New Roman Tur;}{\f53\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} +{\f54\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f55\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f56\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f68\fmodern\fcharset238\fprq1 Courier New CE;} +{\f69\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f71\fmodern\fcharset161\fprq1 Courier New Greek;}{\f72\fmodern\fcharset162\fprq1 Courier New Tur;}{\f73\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);} +{\f74\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f75\fmodern\fcharset186\fprq1 Courier New Baltic;}{\f76\fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f160\fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt ?l?r ??\'81\'66c};} +{\f158\fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt ?l?r ??\'81\'66c};}{\f159\fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt ?l?r ??\'81\'66c};}{\f161\fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt ?l?r ??\'81\'66c};} +{\f162\fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt ?l?r ??\'81\'66c};}{\f165\fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt ?l?r ??\'81\'66c};}{\f420\fmodern\fcharset0\fprq1 @MS Mincho Western;}{\f418\fmodern\fcharset238\fprq1 @MS Mincho CE;} +{\f419\fmodern\fcharset204\fprq1 @MS Mincho Cyr;}{\f421\fmodern\fcharset161\fprq1 @MS Mincho Greek;}{\f422\fmodern\fcharset162\fprq1 @MS Mincho Tur;}{\f425\fmodern\fcharset186\fprq1 @MS Mincho Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255; +\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0; +\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 +\fs24\lang1033\langfe1041\loch\f0\hich\af0\dbch\af11\cgrid\langnp1033\langfenp1041 \snext0 \styrsid5266641 Normal;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\* +\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1024\langfe1024\loch\f0\hich\af0\dbch\af11\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}} +{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\listtable{\list\listtemplateid396942834\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698703 +\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698713 +\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698715 +\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698703 +\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698713 +\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698715 +\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698703 +\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698713 +\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698715 +\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid433676221}{\list\listtemplateid-1576644568\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1 +\levelspace360\levelindent0{\leveltext\leveltemplateid67698703\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative +\levelspace360\levelindent0{\leveltext\leveltemplateid67698713\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative +\levelspace360\levelindent0{\leveltext\leveltemplateid67698715\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative +\levelspace360\levelindent0{\leveltext\leveltemplateid67698703\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative +\levelspace360\levelindent0{\leveltext\leveltemplateid67698713\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative +\levelspace360\levelindent0{\leveltext\leveltemplateid67698715\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative +\levelspace360\levelindent0{\leveltext\leveltemplateid67698703\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative +\levelspace360\levelindent0{\leveltext\leveltemplateid67698713\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative +\levelspace360\levelindent0{\leveltext\leveltemplateid67698715\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid521096248}{\list\listtemplateid1273681340\listhybrid{\listlevel +\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698703\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel +\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel +\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698715\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li2160\jclisttab\tx2160\lin2160 }{\listlevel +\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698703\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel +\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel +\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698715\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li4320\jclisttab\tx4320\lin4320 }{\listlevel +\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698703\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel +\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel +\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698715\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li6480\jclisttab\tx6480\lin6480 }{\listname +;}\listid948514832}}{\*\listoverridetable{\listoverride\listid521096248\listoverridecount0\ls1}{\listoverride\listid948514832\listoverridecount0\ls2}{\listoverride\listid433676221\listoverridecount0\ls3}}{\*\rsidtbl \rsid1784962\rsid3232662\rsid4679153 +\rsid5266641\rsid10968403\rsid12387617\rsid15084009}{\*\generator Microsoft Word 11.0.0000;}{\info{\title ==============================================}{\author .}{\operator .}{\creatim\yr2011\mo12\dy6\hr21\min54}{\revtim\yr2011\mo12\dy6\hr22\min18} +{\version4}{\edmins21}{\nofpages20}{\nofwords4105}{\nofchars23399}{\*\company .}{\nofcharsws27450}{\vern24615}{\*\password 00000000}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}{\xmlns2 urn:schemas-microsoft-com:office:smart +tags}}\paperw12240\paperh15840\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect +\widowctrl\ftnbj\aenddoc\donotembedsysfont1\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180 +\dgvspace180\dghorigin1800\dgvorigin1440\dghshow1\dgvshow1 +\jexpand\viewkind4\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct +\asianbrkrule\rsidroot5266641\newtblstyruls\nogrowautofit \fet0{\*\wgrffmtfilter 013f}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2 +\pnucltr\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (} +{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}} +{\*\pnseclvl9\pnlcrm\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 +\fs24\lang1033\langfe1041\loch\af0\hich\af0\dbch\af11\cgrid\langnp1033\langfenp1041 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 ============================================== +\par \hich\af0\dbch\af11\loch\f0 Davex v1.27 ProDOS command shell +\par +\par \hich\af0\dbch\af11\loch\f0 25-Mar-90 Copyright (c) 1990 David A. {\*\xmlopen\xmlns2{\factoidname City}}{\*\xmlopen\xmlns2{\factoidname place}}\hich\af0\dbch\af11\loch\f0 Lyons{\*\xmlclose}{\*\xmlclose} +\par \hich\af0\dbch\af11\loch\f0 ============================================== +\par +\par \hich\af0\dbch\af11\loch\f0 [See the last page of this document for trademarks and other notices.] +\par +\par \hich\af0\dbch\af11\loch\f0 INTRODUCTION +\par +\par \hich\af0\dbch\af11\loch\f0 Davex is a command\hich\af0\dbch\af11\loch\f0 + shell for ProDOS. ProDOS has no way to accept commands from you directly, so some sort of command interpreter is required. Davex includes a large number of "housekeeping" commands for managing your disks, directories, and files. +\par +\par \hich\af0\dbch\af11\loch\f0 Davex is also a startin\hich\af0\dbch\af11\loch\f0 +g place for using other ProDOS programs. When you run another program from Davex (just by typing its name), you will normally be returned automatically to Davex when you Quit the other program. +\par +\par +\par \hich\af0\dbch\af11\loch\f0 Note: This document is not a ProDOS tutorial. Please refe\hich\af0\dbch\af11\loch\f0 +r to reference manuals or other introductory ProDOS texts for explanations of ProDOS basics like volume, file, pathname, directory, prefix, and filetype. +\par +\par +\par \hich\af0\dbch\af11\loch\f0 HARDWARE REQUIREMENTS +\par +\par \hich\af0\dbch\af11\loch\f0 Any Apple II or compatible system that can run ProDOS and display lower case \hich\af0\dbch\af11\loch\f0 +can run Davex. Davex will be much more convenient for you if you have at least one of the following: a hard drive, a large RAM drive, two 5.25 inch drives, or at least one 3.5 inch drive. +\par +\par \hich\af0\dbch\af11\loch\f0 Davex has been tested extensively on a variety of hardware. If y\hich\af0\dbch\af11\loch\f0 +ou find that your hardware is not supported, contact me to see what can be done, or whether an updated version is already available to support your hardware. +\par +\par \hich\af0\dbch\af11\loch\f0 OPTIONAL HARDWARE +\par +\par \hich\af0\dbch\af11\loch\f0 Davex supports the Echo II and SlotBuster II speech synthesizers, using the TE\hich\af0\dbch\af11\loch\f0 +XTALKER or SCAT software that you should already have if you own one of these boards. To use TEXTALKER, just put a copy of PT.OBJ in the same directory as Davex. PT.OBJ is part of the Textalker software which has been licensed from Street Electronics Co +\hich\af0\dbch\af11\loch\f0 r\hich\af0\dbch\af11\loch\f0 poration, the designers of the Echo, for distribution with Davex. +\par +\par \hich\af0\dbch\af11\loch\f0 For the SlotBuster, ProSCAT must already be installed in memory; Davex will recognize it but will not install it. (Note to SlotBuster users: Use ProSCAT 1.3 or higher. Reviewing the scree\hich\af0\dbch\af11\loch\f0 +n will not work in 80 columns with ProSCAT versions less than 1.3.) +\par +\par +\par \hich\af0\dbch\af11\loch\f0 FILES NEEDED FOR DAVEX +\par +\par \hich\af0\dbch\af11\loch\f0 When you install Davex on a hard disk or RAM disk, you should create a subdirectory for Davex. The name of the subdirectory doesn't matter, bu\hich\af0\dbch\af11\loch\f0 +t "DAVEX" is the obvious choice. From within Davex, this directory's name can always be abbreviated as "%". +\par +\par \hich\af0\dbch\af11\loch\f0 Davex itself is a SYS file in the % directory and is usually called DAVEX, although the name does not matter to Davex. %CONFIG is a BIN file; it \hich\af0\dbch\af11\loch\f0 +stores configuration options like printer slot, your scan list, and a file type table. %HELP is a directory containing help files for individual commands. If you are short on disk space, you may want to leave %HELP off of your work disk. If you do, the +\hich\af0\dbch\af11\loch\f0 \hich\af0\dbch\af11\loch\f0 +"help" command will report "directory not found" when you ask for help on a specific command. (You can also put the help directory on another disk; use the 'config' command to tell Davex the pathname of your help directory.) +\par +\par \hich\af0\dbch\af11\loch\f0 No other files are required i\hich\af0\dbch\af11\loch\f0 +n the % directory. Typically there will be external commands (BIN files or $2E files) and other programs (SYS files) there. If you are using any aliases, there will be a TXT file called "aliases" in your % directory (see "help alias"). If you are using +\hich\af0\dbch\af11\loch\f0 \hich\af0\dbch\af11\loch\f0 the Echo speech synthesizer, there should also be a copy of PT.OBJ in the % directory. +\par +\par +\par \hich\af0\dbch\af11\loch\f0 RECOMMENDED HARD DRIVE SETUP +\par +\par \hich\af0\dbch\af11\loch\f0 Copy the entire "%" directory onto your hard drive. Then, if you want your system to boot up directly into Davex, use the "sysalias" com\hich\af0\dbch\af11\loch\f0 +mand (try "help sysalias") to create a one-block SYS program, with a name ending in ".SYSTEM", in your top-level directory. +\par +\par \hich\af0\dbch\af11\loch\f0 For example: +\par +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 copy % /hard1/davex +\par \hich\af0\dbch\af11\loch\f0 sysalias /hard1/davex/davex /hard1/davex.system +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par \hich\af0\dbch\af11\loch\f0 (If there are other ".SYSTEM" files earlier in t\hich\af0\dbch\af11\loch\f0 +he directory than davex.system, copy the first one to another disk, delete it, create davex.system using the 'sysalias' command, and finally copy the ".SYSTEM" file back onto the disk. This way, davex.system will be the first program ProDOS sees when it +\hich\af0\dbch\af11\loch\f0 l\hich\af0\dbch\af11\loch\f0 ooks for a program to run.) +\par +\par \hich\af0\dbch\af11\loch\f0 Once you have Davex installed, you will probably want to use the "scan" command to tell Davex what directories to search when looking for programs to run. You may also want to (1) edit the %aliases file and (2) use the config +\hich\af0\dbch\af11\loch\f0 command to set miscellaneous options. +\par +\par +\par \hich\af0\dbch\af11\loch\f0 RAM DISKS +\par +\par \hich\af0\dbch\af11\loch\f0 If your RAM disk is backed up by a battery, the instructions for hard disks apply to you. Just install it once, and you're all set. +\par +\par \hich\af0\dbch\af11\loch\f0 To set up a disk that will copy Davex to the RAM dis\hich\af0\dbch\af11\loch\f0 +k and execute it there, first you need to understand the "copy" and "exec" commands. If there is a %autoexec file, it will be executed automatically when you boot Davex. A typical %autoexec file contains something like this: +\par +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 copy %=:sys /ram/davex +\par \hich\af0\dbch\af11\loch\f0 copy \hich\af0\dbch\af11\loch\f0 %=:bin /ram/davex +\par \hich\af0\dbch\af11\loch\f0 copy %aliases /ram/davex +\par \hich\af0\dbch\af11\loch\f0 copy %help /ram/davex/help +\par \hich\af0\dbch\af11\loch\f0 /ram/davex/davex +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par \hich\af0\dbch\af11\loch\f0 The first line copies all SYS files from the % directory to the RAM disk, and the second line copies BIN files. The third line copies the help directory (if you have a\hich\af0\dbch\af11\loch\f0 + small RAM disk, you may not want to copy the help). The last line simply runs the copy of Davex from the RAM disk. +\par +\par \hich\af0\dbch\af11\loch\f0 (Note that it would be simpler to just "copy % /ram/davex". But this is a problem because the %autoexec file will be in use, causing the \hich\af0\dbch\af11\loch\f0 copy to fail.) +\par +\par \hich\af0\dbch\af11\loch\f0 Once you are running the copy of Davex from the RAM disk, your "%" directory is "/ram/davex". +\par +\par \hich\af0\dbch\af11\loch\f0 A different approach to moving Davex to a RAMdisk would use the "vrestore" command to copy an complete image of your RAMdisk from a file. See "h\hich\af0\dbch\af11\loch\f0 elp vrestore" for more information. +\par +\par +\par \hich\af0\dbch\af11\loch\f0 APPLE IIGS USERS +\par +\par \hich\af0\dbch\af11\loch\f0 See your dealer for the most recent version of the System Software. The most recent version (as of February, 1990) is 5.0.2. Davex will work with older versions, but keeping up to date is always a g +\hich\af0\dbch\af11\loch\f0 ood idea for maximum compatibility with new software. The most recent version of ProDOS 8 is 1.8. +\par +\par \hich\af0\dbch\af11\loch\f0 If you have an Apple IIgs and wish to have your system boot into Davex through GS/OS (so you can run S16 and EXE programs without rebooting), the above ins\hich\af0\dbch\af11\loch\f0 tructions still apply to you. +\par +\par \hich\af0\dbch\af11\loch\f0 You will also need to delete or rename the START file in your SYSTEM directory. This forces the ProDOS loader to scan your root directory for a startup application instead of running START. You may want to rename START to F +\hich\af0\dbch\af11\loch\f0 INDER and type +\par +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 scan -a /your.boot.disk/system +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par \hich\af0\dbch\af11\loch\f0 so that you can run FINDER (in the SYSTEM directory) just by typing its name. +\par +\par +\par \hich\af0\dbch\af11\loch\f0 USING DAVEX +\par +\par \hich\af0\dbch\af11\loch\f0 When you enter Davex, you see (in 80 columns if your system supports it): +\par +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Davex vX.XX +\par \hich\af0\dbch\af11\loch\f0 Type ? for help, $ for }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 Freew\hich\af0\dbch\af11\loch\f0 are}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 + notice. +\par \hich\af0\dbch\af11\loch\f0 current_date_and_time +\par +\par \hich\af0\dbch\af11\loch\f0 prefix: +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par \hich\af0\dbch\af11\loch\f0 Your current ProDOS prefix (the directory you're "in"), followed by a colon (:), is your prompt. Davex expects you to type a command and press RETURN. (If you press RETURN without typing anything, you just get +\hich\af0\dbch\af11\loch\f0 the current date and time and another prompt.) [You can use the 'date' or 'setdate' command to set the date and time if your machine doesn't have a clock.] +\par +\par \hich\af0\dbch\af11\loch\f0 Some commands can be executed just by typing their names. For example: +\par +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 help +\par \hich\af0\dbch\af11\loch\f0 online +\par \hich\af0\dbch\af11\loch\f0 quit +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par \hich\af0\dbch\af11\loch\f0 Other c\hich\af0\dbch\af11\loch\f0 +ommands require additional information (called "parameters") after the command name. You must type at least one blank space between a command name and the parameters that follow it. Examples: +\par +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 delete that.file +\par \hich\af0\dbch\af11\loch\f0 lock /disk3/standard.ltr +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par +\par \hich\af0\dbch\af11\loch\f0 For some commands\hich\af0\dbch\af11\loch\f0 , parameters are optional. +\par +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 help +\par \hich\af0\dbch\af11\loch\f0 help copy +\par \hich\af0\dbch\af11\loch\f0 info +\par \hich\af0\dbch\af11\loch\f0 info /my.disk/my.file +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par +\par \hich\af0\dbch\af11\loch\f0 You may put more than one command on a line if you separate the commands with semicolons (;). If an error occurs during one command, the remaining commands are ignored. +\par +\par +\par \hich\af0\dbch\af11\loch\f0 WHAT IS A CO\hich\af0\dbch\af11\loch\f0 MMAND? +\par +\par \hich\af0\dbch\af11\loch\f0 There are three kinds of commands: +\par +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 1.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 built-in commands +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par }\pard \ltrpar\ql \fi720\li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 +Built-in commands are part of Davex and are always available. When you type a command, Davex always checks first to see if it's an internal command. (The '?' or 'help' command displays a l\hich\af0\dbch\af11\loch\f0 ist of all internal commands.) +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par }\pard \ltrpar\ql \fi720\li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 +If the command you typed is not internal, it looks on your disks, trying to find a file with the same name. You can tell Davex what directories to look in by using the 'scan' command. (See "help scan".) +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 2.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 external comman\hich\af0\dbch\af11\loch\f0 ds +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par }\pard \ltrpar\ql \fi720\li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 +If the non-internal command is found to be a BIN file or a $2E file, Davex attempts to execute the file's contents as an external command. These files are usually found in the same directory as Davex, although they can be in any directory on your scan +\hich\af0\dbch\af11\loch\f0 list. +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par \hich\af0\dbch\af11\loch\f0 Davex features such as wildcards and shorthand pathnames are available with external commands. +\par +\par \hich\af0\dbch\af11\loch\f0 A number external commands are supplied with Davex, and an appendix describes how assembly language programmers can write additional external comma\hich\af0\dbch\af11\loch\f0 nds. +\par +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 3.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 SYS, S16, and EXE programs +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par \hich\af0\dbch\af11\loch\f0 If a non-internal command is found to be a SYS or S16 program, Davex runs the program. When you quit the other program, you are automatically returned to Davex. +\par +\par \hich\af0\dbch\af11\loch\f0 [You need the file BRIDGE.S16 in the same directory as Davex to run S16 and EXE programs directly from Davex. These work only on the Apple IIgs, and you need to boot through ProDOS 16 or GS/OS to run them.] +\par +\par +\par +\par \hich\af0\dbch\af11\loch\f0 SHORTHAND FOR PATHNAMES +\par +\par \hich\af0\dbch\af11\loch\f0 '%' is shorthan\hich\af0\dbch\af11\loch\f0 d for the name of the directory Davex is in. A '/' after the '%' is optional. Examples: +\par +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 cat % +\par \hich\af0\dbch\af11\loch\f0 cat %help +\par \hich\af0\dbch\af11\loch\f0 cat %/help +\par \hich\af0\dbch\af11\loch\f0 info %davex +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par \hich\af0\dbch\af11\loch\f0 You can specify a volume by slot and drive number like this: +\par +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 in}{\rtlch\fcs1 \af0 \ltrch\fcs0 +\insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 fo .61/prodos <==> info /xxx/prodos, where /xxx is the nam\hich\af0\dbch\af11\loch\f0 e of the ProDOS volume in slot 6, drive 1 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 +prefix .32 <==> prefix /xxx, where /xxx is the name of the ProDOS volume in slot 3, drive 2 (usually /RAM) +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par \hich\af0\dbch\af11\loch\f0 Finally, '.' is shorthand for the name of the current directory, and '..' is shorthand for the na\hich\af0\dbch\af11\loch\f0 +me of the directory above the current directory. Slashes after '.' and '..' are optional, as with '%'. +\par +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 +cat .. display catalog of directory above +\par \hich\af0\dbch\af11\loch\f0 ./help run program called 'help' +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par +\par \hich\af0\dbch\af11\loch\f0 WILDCARDS +\par +\par \hich\af0\dbch\af11\loch\f0 It is often convenient to execute one command (for example, delete, lock, or copy) on a group of files all at once, rather than on one file at a time. Davex provides wildcards as a convenient way to work with groups of files. + +\par +\par \hich\af0\dbch\af11\loch\f0 '=' and '?' are wildcard cha\hich\af0\dbch\af11\loch\f0 +racters; they "match" any number of characters in a file's name. You can use wildcards in the last segment of pathnames for many commands. Only one wildcard per pathname is permitted. +\par +\par \hich\af0\dbch\af11\loch\f0 Examples: +\par +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 l}{\rtlch\fcs1 \af0 \ltrch\fcs0 +\insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 ock = Locks all files in the current directory +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 d}{\rtlch\fcs1 \af0 \ltrch\fcs0 +\insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 e\hich\af0\dbch\af11\loch\f0 lete =.old Deletes all files ending in ".old" from the current directory +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par +\par \hich\af0\dbch\af11\loch\f0 '?' is like '=', but Davex asks you whether or not to operate on each matching file. Examples: +\par +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 +lock ? For each file in the current directory, asks you "lock xxxxx? (Y/N)".\hich\af0\dbch\af11\loch\f0 Type Y to lock the file, or N to skip to the next one. +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 +delete ?.old For each file in the current directory whose name ends in ".old", asks whether or not to delete it. +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par +\par \hich\af0\dbch\af11\loch\f0 You can restrict a wildcard to match files only if they are of a particular type. \hich\af0\dbch\af11\loch\f0 Examples: +\par +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 +pg part?:txt For each "txt" file in the current directory beginning with "part", ask whether or not to "pg" the file ("pg" displays a file one screenful at a time) +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par +\par \hich\af0\dbch\af11\loch\f0 ALIASES (ABBREVIATIONS) +\par +\par \hich\af0\dbch\af11\loch\f0 Starting with Davex 1.2, t\hich\af0\dbch\af11\loch\f0 +here is an "alias" mechanism available. Before Davex tries to find your commands (in the built-in list or on disk), it first checks your aliases. If there is an alias for a command word you typed, Davex replaces the word with what it stands for; then it +\hich\af0\dbch\af11\loch\f0 \hich\af0\dbch\af11\loch\f0 continues processing the command line. +\par +\par \hich\af0\dbch\af11\loch\f0 Type "alias" to see what aliases are defined; see "help alias" to learn how to create, remove, and save aliases. +\par +\par \hich\af0\dbch\af11\loch\f0 Alias expansion can happen up to ten times in a row--the expansion can start with a word that is itsel\hich\af0\dbch\af11\loch\f0 f an alias for something. +\par +\par \hich\af0\dbch\af11\loch\f0 +A "~" as the first character of a command halts alias expansion right away--this is useful both from the keyboard and inside alias definitions. For example, "~cat" executes the 'cat' command even if there is an alias expanding " +\hich\af0\dbch\af11\loch\f0 cat" into something else. Also, an alias expanding "ls" into "~cat" means that "ls" always executes the 'cat' command, even if there is an alias expanding "cat". +\par +\par \hich\af0\dbch\af11\loch\f0 The aliases are stored in the TXT file %aliases. See Appendix C for an explanation of the a\hich\af0\dbch\af11\loch\f0 +liases that come on the disk as shipped from DAL Systems. (Of course, you can change the supplied aliases and add your own--see "help alias".) +\par +\par \hich\af0\dbch\af11\loch\f0 Note: If you use wildcards with an alias, you may be surprised to see Davex refer to the command by its real n\hich\af0\dbch\af11\loch\f0 ame. For example, if you have an alias expanding "kill" into "delete": +\par +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 /my.disk: kill a? +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 d}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 elete /my.disk/apple? (y/n) +\par \hich\af0\dbch\af11\loch\f0 delete /my.disk/apricot? (y/n) +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par +\par \hich\af0\dbch\af11\loch\f0 PAUSING AND ABORTING +\par +\par \hich\af0\dbch\af11\loch\f0 If you press SPACE while the screen is scrolling, it will freeze. Each SPACE pre\hich\af0\dbch\af11\loch\f0 ss will generally advance the display by one line. Press RETURN to continue scrolling. +\par +\par \hich\af0\dbch\af11\loch\f0 Ctrl-C or Apple-period will print "*** aborted" and will always return you to the command line prompt. +\par +\par \hich\af0\dbch\af11\loch\f0 ESC aborts the current operation, but does not necessarily retu\hich\af0\dbch\af11\loch\f0 +rn you to command level. For example, if you are executing "pg =", ESC will abort paging the current file, but pg will begin executing on the next file matching the wildcard. +\par +\par +\par \hich\af0\dbch\af11\loch\f0 CONTROL CHARACTERS AVAILABLE WHILE TYPING A COMMAND LINE +\par +\par \hich\af0\dbch\af11\loch\f0 (from "help cmdline") +\par +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Ctrl-B = move to beginning of line +\par \hich\af0\dbch\af11\loch\f0 Ctrl-D = delete character at cursor +\par \hich\af0\dbch\af11\loch\f0 Ctrl-E/Ctrl-N = move to end of line +\par \hich\af0\dbch\af11\loch\f0 Ctrl-F = find forward; press ESC to exit +\par \hich\af0\dbch\af11\loch\f0 Ctrl-H (left arrow) = move left +\par \hich\af0\dbch\af11\loch\f0 Ctrl-I = insert (cancelled by arrows or Ctrl-D) +\par \hich\af0\dbch\af11\loch\f0 Ctrl-\hich\af0\dbch\af11\loch\f0 J (down arrow) = move down on the list of previous commands +\par \hich\af0\dbch\af11\loch\f0 Ctrl-K (up arrow) = move up on the list of previous commands +\par \hich\af0\dbch\af11\loch\f0 Ctrl-L = toggle Caps-lock on/off for Apple II+ +\par \hich\af0\dbch\af11\loch\f0 Ctrl-M = return (accept whole line, even the part after the cursor) +\par \hich\af0\dbch\af11\loch\f0 Ctrl-O = if the foll\hich\af0\dbch\af11\loch\f0 +owing character is a control character, inserts it (control characters can't normally be entered). If the following character is "K" to "O" or "k" to "o", a special character is inserted (useful only on the II+ keyboard): +\par +\par }\pard \ltrpar\ql \li1440\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1440\itap0\pararsid5266641 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid5266641 \hich\af2\dbch\af11\loch\f2 K L M N O k l m n o +\par \hich\af2\dbch\af11\loch\f2 [ \\ ] ^ _ \{ \hich\af2\dbch\af11\loch\f2 | \} ~ {\*\xmlopen\xmlns2{\factoidname State}}{\*\xmlopen\xmlns2{\factoidname place}}\hich\af2\dbch\af11\loch\f2 DEL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +{\*\xmlclose}{\*\xmlclose} +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par \hich\af0\dbch\af11\loch\f0 Ctrl-Q = accept portion of line before cursor +\par \hich\af0\dbch\af11\loch\f0 Ctrl-R = re-edit previous input +\par \hich\af0\dbch\af11\loch\f0 Ctrl-U (right arrow) = move cursor right +\par \hich\af0\dbch\af11\loch\f0 Ctrl-X = cancel input +\par \hich\af0\dbch\af11\loch\f0 Ctrl-Y = erase from cursor to end of line +\par \hich\af0\dbch\af11\loch\f0 DELETE = erase character to left of cursor +\par +\par \hich\af0\dbch\af11\loch\f0 Apple-Y \hich\af0\dbch\af11\loch\f0 = same as Ctrl-Y +\par \hich\af0\dbch\af11\loch\f0 Apple-< = move to beginning of command line +\par \hich\af0\dbch\af11\loch\f0 Apple-> = move to end of command line +\par \hich\af0\dbch\af11\loch\f0 Apple-E = switch between insert and overstrike ("exchange") +\par +\par \hich\af0\dbch\af11\loch\f0 Apple-H = Hardcopy of screen (set printer slot with config) +\par \hich\af0\dbch\af11\loch\f0 (beeps twice if printer is busy) +\par \hich\af0\dbch\af11\loch\f0 Apple-Space = advance printer one line +\par \hich\af0\dbch\af11\loch\f0 Apple-Return = advance printer to next page +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par +\par \hich\af0\dbch\af11\loch\f0 MUCH MORE INFORMATION ONLINE +\par +\par \hich\af0\dbch\af11\loch\f0 This document is intentionally short. Information on each command and on other topics can be fou\hich\af0\dbch\af11\loch\f0 nd using the 'help' command. Type 'help help' (or '??') to get started. +\par +\par \hich\af0\dbch\af11\loch\f0 The first line of each help file shows alternative names for the command, if there are any. Then the command's syntax is given, using square brackets around the parts you can leave \hich\af0\dbch\af11\loch\f0 out. +\par +\par \hich\af0\dbch\af11\loch\f0 DON'T IGNORE THE ONLINE HELP! Even if a command's purpose and use seem obvious, take a quick look at the help. Lots of commands have handy options that you won't know about if you skip the help. +\par +\par +\par \hich\af0\dbch\af11\loch\f0 "DASH" PARAMETERS +\par +\par \hich\af0\dbch\af11\loch\f0 Many commands take optional para\hich\af0\dbch\af11\loch\f0 +meters following a "-". A letter identifying the parameter follows the "-". In some cases, a value (a number, or string, for example) is expected after the letter, and in other cases nothing more is required. +\par +\par \hich\af0\dbch\af11\loch\f0 Starting with Davex 1.25, it doesn't matter \hich\af0\dbch\af11\loch\f0 whether you put the "-" parameters before or after the other parameters. (Older versions required the "-" parameters to come last.) +\par +\par \hich\af0\dbch\af11\loch\f0 Examples +\par +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 +cat -t /xyz The "-t" stands for "tree"; when a DIR appears in the listing, "-t" tells the catalog command t\hich\af0\dbch\af11\loch\f0 o indent two spaces and list the contents of the directory. No value is expected after the "-t". +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 +cat /x -fsys The "-f" stands for "filetype"; a filetype must be specified after the "f". (In this example, files not of type SYS wi\hich\af0\dbch\af11\loch\f0 ll not appear in the listing.) +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par +\par \page }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 INTERNAL COMMANDS}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par +\par \hich\af0\dbch\af11\loch\f0 This is just a list of commands. It tells you what commands are built into Davex, but it does not explain them. Consult the online help to find out how to use a specific command. (Start with "help hel +\hich\af0\dbch\af11\loch\f0 p" or "help topics".) +\par +\par \hich\af0\dbch\af11\loch\f0 help }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 | ?\tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 display command information +\par +\par \hich\af0\dbch\af11\loch\f0 cat}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 display directory +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 prefix\tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 change prefix +\par +\par \hich\af0\dbch\af11\loch\f0 top}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 set prefix to parent volume +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 up\tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 change prefix to parent directory +\par \hich\af0\dbch\af11\loch\f0 over}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 move to another directory +\par \hich\af0\dbch\af11\loch\f0 online}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 print names of online volumes +\par +\par \hich\af0\dbch\af11\loch\f0 copy}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 copy files or trees of files +\par \hich\af0\dbch\af11\loch\f0 update}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 replace outdated files +\par \hich\af0\dbch\af11\loch\f0 pg}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 display files a screenful at a time +\par \hich\af0\dbch\af11\loch\f0 type}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 display files +\par +\par \hich\af0\dbch\af11\loch\f0 rename}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 change name +\par \hich\af0\dbch\af11\loch\f0 delete}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 destroy files +\par \hich\af0\dbch\af11\loch\f0 create}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 create a directory or other file +\par \hich\af0\dbch\af11\loch\f0 filetype}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 change file's type (and auxiliary type) +\par +\par \hich\af0\dbch\af11\loch\f0 config}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 show or set various Davex options +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 ftype\tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 display or update filetype table +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 dev\tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 list, add, or remove ProDOS devices +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 scan\tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 examine or change the scan list +\par +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 exec\tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 get keyboard input from a TXT file +\par {\*\xmlopen\xmlns2{\factoidname City}}{\*\xmlopen\xmlns2{\factoidname place}}\hich\af0\dbch\af11\loch\f0 como}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 {\*\xmlclose}{\*\xmlclose}\tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\hich\af0\dbch\af11\loch\f0 redirect command output to file or pri\hich\af0\dbch\af11\loch\f0 nter +\par \hich\af0\dbch\af11\loch\f0 size}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 show size of file or directory +\par \hich\af0\dbch\af11\loch\f0 info}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 print info on file +\par \hich\af0\dbch\af11\loch\f0 lock}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 make a file read-only +\par \hich\af0\dbch\af11\loch\f0 unlock}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 allow read, write, rename, delete +\par \hich\af0\dbch\af11\loch\f0 prot}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 protect file +\par \hich\af0\dbch\af11\loch\f0 spool}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 spool files for later printing +\par \hich\af0\dbch\af11\loch\f0 eject}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 eject a volume or all volumes from SmartPort +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 touch\tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 tou\hich\af0\dbch\af11\loch\f0 +ch a file, updating its modification date/time +\par }\pard \ltrpar\ql \li1440\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1440\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 (or set/clear backup bit) +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 b}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 ye}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 quit Davex +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 c}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 ls}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 clear screen (or send Ctrl-L to file/printer) +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 rep\tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 repeat: execute a command several times +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 e}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 rr}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 print ProDOS error message from code +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 n}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 um}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 convert numbers betwee\hich\af0\dbch\af11\loch\f0 n decimal and hex +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 d}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 t}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 print date and time +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 b}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 oot}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 boot the system +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 m}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 on}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 enter the Monitor +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 e}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 cho}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 echo string +\par \hich\af0\dbch\af11\loch\f0 =}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 print pathnames +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 w}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 ait}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 wait for spooled files to finish printing +\par +\par +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 EXTERNAL COMMANDS}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par +\par \hich\af0\dbch\af11\loch\f0 These commands ar\hich\af0\dbch\af11\loch\f0 e supplied with Davex. Other external commands can be written in 6502 assembly language (see Appendix). +\par +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 a}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 lias}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 show or change aliases (abbreviations) +\par \hich\af0\dbch\af11\loch\f0 blist}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 list a BAS file in ASCII +\par \hich\af0\dbch\af11\loch\f0 brun}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 run a BIN file ['brun' is actually a small SYS file, not an extern +\hich\af0\dbch\af11\loch\f0 al command] +\par \hich\af0\dbch\af11\loch\f0 combine}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 join several files into one +\par \hich\af0\dbch\af11\loch\f0 conp}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 set IIgs control panel options +\par \hich\af0\dbch\af11\loch\f0 date}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 set the ProDOS date and time (if you have no clock) +\par \hich\af0\dbch\af11\loch\f0 deschw}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 describe system hardware +\par \hich\af0\dbch\af11\loch\f0 doscat}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 catalog a DOS 3.3 disk in a 5.25" drive +\par \hich\af0\dbch\af11\loch\f0 du}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 summarize disk usage +\par \hich\af0\dbch\af11\loch\f0 expand}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 expand tabs into spaces +\par \hich\af0\dbch\af11\loch\f0 ffind}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 +search directories or volumes for files (find by name, type, auxiliary type, need-backup) +\par \hich\af0\dbch\af11\loch\f0 find}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 search files for lines containing a given string +\par \hich\af0\dbch\af11\loch\f0 gsbuff}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 set Apple IIgs printer/modem buffer sizes +\par \hich\af0\dbch\af11\loch\f0 hdr}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 show lines from the begi\hich\af0\dbch\af11\loch\f0 nning of a file +\par \hich\af0\dbch\af11\loch\f0 iw2}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 set up print options for ImageWriter II +\par \hich\af0\dbch\af11\loch\f0 modchk}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 compare modification dates on pairs of files +\par \hich\af0\dbch\af11\loch\f0 mx80}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 set up print options for Epson MX80 +\par \hich\af0\dbch\af11\loch\f0 pset}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 set u\hich\af0\dbch\af11\loch\f0 +p print options for NEC8023 / ProWriter / ImageWriter +\par \hich\af0\dbch\af11\loch\f0 ptype}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 display a Pascal Text file (type $03) +\par \hich\af0\dbch\af11\loch\f0 ram3}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 disconnect or reconnect slot 3 RAMdisk +\par \hich\af0\dbch\af11\loch\f0 setdate}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 sets date and time (only if no clock available) +\par \hich\af0\dbch\af11\loch\f0 setstart}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 examine or set the startup path of a SYS appl +\hich\af0\dbch\af11\loch\f0 ication +\par \hich\af0\dbch\af11\loch\f0 split}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 split a file into two pieces +\par \hich\af0\dbch\af11\loch\f0 strings}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 display legible strings in any file +\par \hich\af0\dbch\af11\loch\f0 sysalias}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 create an alias for a SYS or S16 file +\par \hich\af0\dbch\af11\loch\f0 tail}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 show lines from the end of a file +\par \hich\af0\dbch\af11\loch\f0 tr}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 translate strings in file into other strings +\par \hich\af0\dbch\af11\loch\f0 viewdhr}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 view a double high reso\hich\af0\dbch\af11\loch\f0 lution graphics file + +\par \hich\af0\dbch\af11\loch\f0 viewhr}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 view a high resolution graphics file +\par \hich\af0\dbch\af11\loch\f0 wc}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 count the lines, words, and characters in a file +\par \hich\af0\dbch\af11\loch\f0 what}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 determine what a file is (this can be really handy!) +\par +\par +\par \page \hich\af0\dbch\af11\loch\f0 SHORTCUTS +\par +\par \hich\af0\dbch\af11\loch\f0 If Davex is looking on disk for a command and finds a directory \hich\af0\dbch\af11\loch\f0 +by that name, Davex simply sets your prefix to that directory. This is similar to using the 'prefix' command, except that the scan list is used. +\par +\par \hich\af0\dbch\af11\loch\f0 Typing a full pathname (beginning with a slash) always sets your prefix. Pathname shorthand works, too--path\hich\af0\dbch\af11\loch\f0 +names beginning with a period (.) or percent sign (%) are expanded into full pathnames internally (try "= %", "= .61", etc). +\par +\par \hich\af0\dbch\af11\loch\f0 After an optional parameter that accepts no parameter value, additional parameters can follow without another "-". For example, +\par +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 copy this that -fb +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 is the same as +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 copy this that -f -b +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par \hich\af0\dbch\af11\loch\f0 and +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 cat -ta .61 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 is the same as +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 cat -t -a .61 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par \hich\af0\dbch\af11\loch\f0 HOWEVER, +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 cat .61 -at +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 is NOT the same as +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 cat .61 -a -t +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par \hich\af0\dbch\af11\loch\f0 because the "-a" parameter takes a string value (in "cat .61 -ta" the string value following "-a" c\hich\af0\dbch\af11\loch\f0 onsists of 0 characters). +\par +\par \hich\af0\dbch\af11\loch\f0 Note that in +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 cat -a .61 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 +the ".61" string belongs to the "-a" option, and there is no pathname provided. You can get the desired effect by instead using +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 cat -a"" .61 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 or +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 cat -an .61 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par \hich\af0\dbch\af11\loch\f0 Some SYS files can take a pathname parameter; B\hich\af0\dbch\af11\loch\f0 +ASIC.SYSTEM, for example, will run whatever BAS file you specify as its parameter (actually it does a '-' command, so you can also BRUN a BIN file, EXEC a TXT file, or launch a SYS file). If BASIC.SYSTEM is available in one of your scan directories, you +\hich\af0\dbch\af11\loch\f0 c\hich\af0\dbch\af11\loch\f0 an type +\par +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 BASIC.SYSTEM MYPROGRAM +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par \hich\af0\dbch\af11\loch\f0 to run MYPROGRAM under BASIC.SYSTEM. To Davex, the parameter following the name of a SYS file is a STRING, not a pathname. This means you can't use the "%" or ".xx" shorthand notations in the parameter. +\par +\par \hich\af0\dbch\af11\loch\f0 (Note that BASIC.\hich\af0\dbch\af11\loch\f0 +SYSTEM does not always preserve your prefix. If your prefix refers to a subdirectory, BASIC.SYSTEM will preserve it; otherwise it sets the prefix to be EMPTY and behaves like DOS 3.3--it goes by slot and drive numbers and defaults to the slot/drive that +\hich\af0\dbch\af11\loch\f0 B\hich\af0\dbch\af11\loch\f0 ASIC.SYSTEM was loaded from.) +\par +\par \hich\af0\dbch\af11\loch\f0 The 'what' command tells you whether a particular SYS file has a startup buffer. +\par \page +\par +\par \hich\af0\dbch\af11\loch\f0 Appendix A: Hardware Compatibility +\par +\par +\par \hich\af0\dbch\af11\loch\f0 Davex has been tested with the following Apple IIs and compatibles: Apple II+ (SmarTerm 80-column, shi\hich\af0\dbch\af11\loch\f0 +ft-key mod), Apple //e (original and enhanced), Apple //c (original and UniDisk 3.5 ROM), Apple IIgs, and Laser 128. +\par +\par +\par \hich\af0\dbch\af11\loch\f0 IIgs Support +\par +\par \hich\af0\dbch\af11\loch\f0 Davex is compatible with the IIgs but does not behave much differently than on an earlier Apple. Since Davex does not disa\hich\af0\dbch\af11\loch\f0 +ble interrupts, you can use Classic Desk Accessories (including the Control Panel) with no problem. If you launch Davex from a GS/OS program like Finder, APW, or ECP16 you will return to it automatically when you quit Davex. You can launch a GS/OS appli +\hich\af0\dbch\af11\loch\f0 c\hich\af0\dbch\af11\loch\f0 +ation (a file with type S16) by typing its name (assuming the directory it's in is in your scan list), and you still automatically return to Davex when you quit. (The file %BRIDGE.S16 is a tiny GS/OS application that makes this possible.) +\par +\par +\par \page \hich\af0\dbch\af11\loch\f0 Appendix B: \hich\af0\dbch\af11\loch\f0 AppleWorks Classic Compatibility +\par +\par +\par \hich\af0\dbch\af11\loch\f0 The pg and type commands recognize AWP files but have not been revised especially for AppleWorks 3.0. In future Davex versions, 'spool' and 'exec' may recognize AWP files. +\par +\par \hich\af0\dbch\af11\loch\f0 The 'cat' command displays AWP, ADB, and ASP fi\hich\af0\dbch\af11\loch\f0 lenames using the capitalization you used when naming the files in AppleWorks. (This information is stored in the files' auxiliary type fields.) +\par +\par +\par \page \hich\af0\dbch\af11\loch\f0 Appendix C: Standard Aliases +\par +\par \hich\af0\dbch\af11\loch\f0 This appendix lists and explains the aliases provided in the "%aliases" file.\hich\af0\dbch\af11\loch\f0 + You can use the 'alias' command or a text editor to remove or change these aliases, and you can add your own. The maximum size of the %aliases file is currently 768 bytes; if your %aliases file is longer than that, Davex simply ignores the excess. + +\par +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid5266641 \hich\af2\dbch\af11\loch\f2 q by\hich\af2\dbch\af11\loch\f2 e +\par \hich\af2\dbch\af11\loch\f2 quit q}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par \hich\af0\dbch\af11\loch\f0 Explanation: "q" and "quit" stand for "bye" (leave Davex). +\par +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid5266641 \hich\af2\dbch\af11\loch\f2 > {\*\xmlopen\xmlns2{\factoidname City}}{\*\xmlopen\xmlns2{\factoidname place}}\hich\af2\dbch\af11\loch\f2 como{\*\xmlclose}{\*\xmlclose} +\par \hich\af2\dbch\af11\loch\f2 < exec}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par \hich\af0\dbch\af11\loch\f0 Explanation: ">" stands for "{\*\xmlopen\xmlns2{\factoidname City}}{\*\xmlopen\xmlns2{\factoidname place}}\hich\af0\dbch\af11\loch\f0 como{\*\xmlclose}{\*\xmlclose} +" (send output to a file or slot) and "<" stands for "exec" (get command input from a file) +\par +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid5266641 \hich\af2\dbch\af11\loch\f2 cd prefix +\par \hich\af2\dbch\af11\loch\f2 pfx cd +\par \hich\af2\dbch\af11\loch\f2 down cd +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 +Explanation: "cd" (change directory), "pfx", and "down" all stand for "prefix". "down" is appropriate because the 'prefix' command takes you down to a subdirectory if you use a partial pathname (example: "down mydir" or "down firstdir/xyz/abc"). +\par +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid5266641 \\\hich\af2\dbch\af11\loch\f2 up +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Exp\hich\af0\dbch\af11\loch\f0 lanation: "\\" stands for "up", which takes you to the directory above. +\par +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid5266641 \hich\af2\dbch\af11\loch\f2 over up;prefix +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 +Explanation: "over" stands for "up" followed by the directory name you type. Example: If your prefix is "/mydisk/dir1" and you type "over dir2", your prefix will then\hich\af0\dbch\af11\loch\f0 + be "/mydisk/dir2". Wildcards are allowed, because they are not expanded until the "prefix" command is executed. +\par +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 or %;top +\par \hich\af2\dbch\af11\loch\f2 origin or}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par \hich\af0\dbch\af11\loch\f0 Explanation: "origin" or "or" takes you to the top level directory of the disk Davex is running from. "%" takes you to t\hich\af0\dbch\af11\loch\f0 he Davex directory, and then "top" takes you to the top level directory. + +\par +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 o online +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Explanation: "o" stands for "online", which shows a list of all disks in your drives. +\par +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 home cls +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Explanation: "home" stands for "cls", which clears the screen (or starts a \hich\af0\dbch\af11\loch\f0 new page on the printer). +\par +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 more pg +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Explanation: "more" stands for "pg", which displays the contents of a file one screenful at a time. +\par +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 mv rename +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Explanation: "mv" (move) and "cname" (change name) stand for "rename", which changes the name of a file, dir\hich\af0\dbch\af11\loch\f0 ectory, or volume. +\par +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 mkdir create +\par \hich\af2\dbch\af11\loch\f2 md create}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par \hich\af0\dbch\af11\loch\f0 Explanation: "mkdir" and "md" (make directory) stand for "create", which can be used to create subdirectories (as well as other files). +\par +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 rm delete +\par {\*\xmlopen\xmlns2{\factoidname State}}{\*\xmlopen\xmlns2{\factoidname place}}\hich\af2\dbch\af11\loch\f2 del{\*\xmlclose}{\*\xmlclose} rm}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par \hich\af0\dbch\af11\loch\f0 Explanation: "rm" and "{\*\xmlopen\xmlns2{\factoidname State}}{\*\xmlopen\xmlns2{\factoidname place}}\hich\af0\dbch\af11\loch\f0 del{\*\xmlclose}{\*\xmlclose}\hich\af0\dbch\af11\loch\f0 +" stand for "delete", which erases files and directories. +\par +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 catalog cat +\par \hich\af2\dbch\af11\loch\f2 dir cat +\par \hich\af2\dbch\af11\loch\f2 ld cat +\par \hich\af2\dbch\af11\loch\f2 ls cat}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par \hich\af0\dbch\af11\loch\f0 Explanation: "catalog", "dir" (directory), "ld" (list directory), and "ls" (list) all stand for "cat", which displays catalog listings. +\par +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 tree cat -t +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4679153 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Explanation: \hich\af0\dbch\af11\loch\f0 + "tree" stands for "cat -t", which displays a}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4679153 \hich\af0\dbch\af11\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 +catalog listing including the contents of subdirectories. +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 mod cat -am +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4679153 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 +Explanation: "mod" stands for "cat -am", which displays a}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4679153 \hich\af0\dbch\af11\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 +catalog listing sorted by last-modification date (most recently modified files a\hich\af0\dbch\af11\loch\f0 ppear first). +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 cp copy +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Explanation: "cp" stands for "copy", which copies files and directories. +\par +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 e echo +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Explanation: "e" stands for "echo", which prints the strings you feed it (useful from "exec" files). +\par +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 ej eject +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Explanation: "ej" stands for "eject", \hich\af0\dbch\af11\loch\f0 which ejects 3.5" disks from their drives. +\par +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 print > &; +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 +Explanation: "print" stands for redirecting output to the printer, and the semicolon between commands is included in the alias, so you don't need to type one when you use it. Example: "print help re\hich\af0\dbch\af11\loch\f0 +name", or "print cat -t", but NOT "print filename". +\par +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 page > &;cls +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Explanation: "page" does a clear-screen after sending output to the printer. Result: the printer advances to the top of the page. +\par +\par +\par \page \hich\af0\dbch\af11\loch\f0 The Conspicuous Last Page +\par +\par +\par \hich\af0\dbch\af11\loch\f0 +WARRANTY AND LIMITATION OF LIABILITY. DAL Systems warrants that Davex can be a useful tool for some people in some situations, but not necessarily for you. The author uses Davex all the time and is reasonably sure it won't do anything destructive to +\hich\af0\dbch\af11\loch\f0 + your data. But he DOES keep BACKUP COPIES of all important data, and so should you. DAL SYSTEMS AND DAVID A. LYONS SHALL HAVE NO LIABILITY OR RESPONSIBILITY TO THE PURCHASER OR ANY OTHER PERSON OR ENTITY WITH RESPECT TO ANY LIABILITY, LOSS OR DAMAGE CA +\hich\af0\dbch\af11\loch\f0 U\hich\af0\dbch\af11\loch\f0 +SED OR ALLEGED TO BE CAUSED DIRECTLY OR INDIRECTLY BY DAVEX. THE EXCLUSION OF IMPLIED WARRANTIES IS NOT PERMITTED BY SOME STATES. THE ABOVE EXCLUSION MAY NOT APPLY TO YOU. THIS WARRANTY PROVIDES YOU WITH SPECIFIC LEGAL RIGHTS. THERE MAY BE OTHER RIGHT +\hich\af0\dbch\af11\loch\f0 S\hich\af0\dbch\af11\loch\f0 THAT YOU MAY HAVE WHICH VARY FROM STATE TO STATE. +\par +\par +\par \hich\af0\dbch\af11\loch\f0 The following are registered trademarks of Apple Computer, Inc.: Apple, AppleTalk, AppleWorks, Disk II, ImageWriter, LaserWriter, ProDOS. +\par +\par \hich\af0\dbch\af11\loch\f0 The following are Apple trademarks pending registration: ProFi\hich\af0\dbch\af11\loch\f0 le, UniDisk, Apple IIgs. +\par +\par +\par \hich\af0\dbch\af11\loch\f0 APPLE COMPUTER, INC., MAKES NO WARRANTIES, EITHER EXPRESS OR IMPLIED, REGARDING THE ENCLOSED COMPUTER SOFTWARE PACKAGE, ITS MERCHANTABILITY OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. THE EXCLUSION OF IMPLIED WARRANTIES IS N +\hich\af0\dbch\af11\loch\f0 OT PERMITTED BY SOME STATES. THE ABOVE EXCLUSION MAY NOT APPLY TO YOU. THIS WARRANTY PROVIDES YOU WITH SPECIFIC LEGAL RIGHTS. THERE MAY BE OTHER RIGHTS THAT YOU MAY HAVE WHICH VARY FROM STATE TO STATE. +\par +\par \hich\af0\dbch\af11\loch\f0 ---------- +\par \hich\af0\dbch\af11\loch\f0 Mike Lutz suggested the name "Davex." If you don't like it,\hich\af0\dbch\af11\loch\f0 blame him. +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12387617 +\par }} \ No newline at end of file diff --git a/doc/DavexNotes1.27.rtf b/doc/DavexNotes1.27.rtf new file mode 100644 index 0000000..de8a7dc --- /dev/null +++ b/doc/DavexNotes1.27.rtf @@ -0,0 +1,171 @@ +{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch11\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1041{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f11\fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}MS Mincho{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};} +{\f88\fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}@MS Mincho;}{\f256\froman\fcharset238\fprq2 Times New Roman CE;}{\f257\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f259\froman\fcharset161\fprq2 Times New Roman Greek;} +{\f260\froman\fcharset162\fprq2 Times New Roman Tur;}{\f261\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f262\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f263\froman\fcharset186\fprq2 Times New Roman Baltic;} +{\f264\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f368\fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f366\fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};} +{\f367\fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f369\fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};} +{\f370\fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f373\fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f1138\fmodern\fcharset0\fprq1 @MS Mincho Western;} +{\f1136\fmodern\fcharset238\fprq1 @MS Mincho CE;}{\f1137\fmodern\fcharset204\fprq1 @MS Mincho Cyr;}{\f1139\fmodern\fcharset161\fprq1 @MS Mincho Greek;}{\f1140\fmodern\fcharset162\fprq1 @MS Mincho Tur;}{\f1143\fmodern\fcharset186\fprq1 @MS Mincho Baltic;}} +{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0; +\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 +\ltrch\fcs0 \fs24\lang1033\langfe1041\loch\f0\hich\af0\dbch\af11\cgrid\langnp1033\langfenp1041 \snext0 \styrsid9897202 Normal;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\* +\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1024\langfe1024\loch\f0\hich\af0\dbch\af11\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}} +{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\listtable{\list\listtemplateid-216892416\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698703 +\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698713 +\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698715 +\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698703 +\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698713 +\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698715 +\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698703 +\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698713 +\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698715 +\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid140509197}}{\*\listoverridetable{\listoverride\listid140509197\listoverridecount0\ls1}}{\*\rsidtbl \rsid9897202\rsid12387617 +\rsid15084009}{\*\generator Microsoft Word 11.0.0000;}{\info{\title =============================}{\author .}{\operator .}{\creatim\yr2011\mo12\dy6\hr21\min49}{\revtim\yr2011\mo12\dy6\hr21\min53}{\version1}{\edmins3}{\nofpages2}{\nofwords607} +{\nofchars3464}{\*\company .}{\nofcharsws4063}{\vern24615}{\*\password 00000000}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect +\widowctrl\ftnbj\aenddoc\donotembedsysfont1\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180 +\dgvspace180\dghorigin1800\dgvorigin1440\dghshow1\dgvshow1 +\jexpand\viewkind4\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct +\asianbrkrule\rsidroot9897202\newtblstyruls\nogrowautofit \fet0{\*\wgrffmtfilter 013f}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2 +\pnucltr\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (} +{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}} +{\*\pnseclvl9\pnlcrm\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 +\fs24\lang1033\langfe1041\loch\af0\hich\af0\dbch\af11\cgrid\langnp1033\langfenp1041 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 ============================= +\par \hich\af0\dbch\af11\loch\f0 Davex v\hich\af0\dbch\af11\loch\f0 1.27\hich\af0\dbch\af11\loch\f0 Release notes +\par +\par \hich\af0\dbch\af11\loch\f0 David A\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0 Lyons \hich\af0\dbch\af11\loch\f0 25\hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0 Mar\hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0 90 + +\par \hich\af0\dbch\af11\loch\f0 ============================= +\par +\par \hich\af0\dbch\af11\loch\f0 This is a summary of the changes made to Davex since version \hich\af0\dbch\af11\loch\f0 1\hich\af0\dbch\af11\loch\f0 .23\hich\af0\dbch\af11\loch\f0 . +\par +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 1.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 Dash \hich\af0\dbch\af11\loch\f0 ("-") +\hich\af0\dbch\af11\loch\f0 parameters no longer have to come afte\hich\af0\dbch\af11\loch\f0 r all the positional parameters\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0 Use whatever order you like\hich\af0\dbch\af11\loch\f0 . +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 2.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 "." \hich\af0\dbch\af11\loch\f0 and +\hich\af0\dbch\af11\loch\f0 ".." \hich\af0\dbch\af11\loch\f0 at the beginning of a pathname stand for the current directory and the directory above the current directory \hich\af0\dbch\af11\loch\f0 (\hich\af0\dbch\af11\loch\f0 see +\hich\af0\dbch\af11\loch\f0 "\hich\af0\dbch\af11\loch\f0 help pathnames\hich\af0\dbch\af11\loch\f0 " \hich\af0\dbch\af11\loch\f0 or \hich\af0\dbch\af11\loch\f0 "\hich\af0\dbch\af11\loch\f0 help path\hich\af0\dbch\af11\loch\f0 ").\line \line +\hich\af0\dbch\af11\loch\f0 "*" \hich\af0\dbch\af11\loch\f0 works as a wil\hich\af0\dbch\af11\loch\f0 dcard character just like \hich\af0\dbch\af11\loch\f0 "=". +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 3.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 There are more Apple\hich\af0\dbch\af11\loch\f0 - +\hich\af0\dbch\af11\loch\f0 key sequences during command entry \hich\af0\dbch\af11\loch\f0 (\hich\af0\dbch\af11\loch\f0 see \hich\af0\dbch\af11\loch\f0 "\hich\af0\dbch\af11\loch\f0 help cmdline\hich\af0\dbch\af11\loch\f0 "). +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 4.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 Any time Davex is watching the keyboard +\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 pressing Apple\hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0 Space sends a linefeed to the printer\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 and pressing Apple +\hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0 Return sends a for\hich\af0\dbch\af11\loch\f0 mfeed\hich\af0\dbch\af11\loch\f0 . (\hich\af0\dbch\af11\loch\f0 Apple\hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0 +H still prints the text screen\hich\af0\dbch\af11\loch\f0 .)\line \line \hich\af0\dbch\af11\loch\f0 These work when screen is frozen \hich\af0\dbch\af11\loch\f0 (\hich\af0\dbch\af11\loch\f0 by hitting Space\hich\af0\dbch\af11\loch\f0 ) +\hich\af0\dbch\af11\loch\f0 and any time the Davex cursor is visible\hich\af0\dbch\af11\loch\f0 . +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 5.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 The space for aliases is now \hich\af0\dbch\af11\loch\f0 768 +\hich\af0\dbch\af11\loch\f0 bytes \hich\af0\dbch\af11\loch\f0 (\hich\af0\dbch\af11\loch\f0 was \hich\af0\dbch\af11\loch\f0 512\hich\af0\dbch\af11\loch\f0 ). \hich\af0\dbch\af11\loch\f0 Aliases are considerably more useful now that th +\hich\af0\dbch\af11\loch\f0 e dash parameters are allowed to come first \hich\af0\dbch\af11\loch\f0 (\hich\af0\dbch\af11\loch\f0 because there\hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 +s still no provision for getting a pathname get substituted into the middle of an alias expansion\hich\af0\dbch\af11\loch\f0 ). +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 6.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 The \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 +alias\hich\af0\dbch\af11\loch\f0 ' \hich\af0\dbch\af11\loch\f0 command is no longer built in\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0 It\hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 s external\hich\af0\dbch\af11\loch\f0 , +\hich\af0\dbch\af11\loch\f0 and it has options for adding\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 removing\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 loading\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 +and saving aliases \hich\af0\dbch\af11\loch\f0 (\hich\af0\dbch\af11\loch\f0 see \hich\af0\dbch\af11\loch\f0 "\hich\af0\dbch\af11\loch\f0 help alias\hich\af0\dbch\af11\loch\f0 ").\line \line \hich\af0\dbch\af11\loch\f0 A \hich\af0\dbch\af11\loch\f0 " +\hich\af0\dbch\af11\loch\f0 ~\hich\af0\dbch\af11\loch\f0 " \hich\af0\dbch\af11\loch\f0 at the beginning of a command prevents further alias expansion\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0 You can use this directly on the command line +\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 and you can also use it inside alias definitions to halt the expansion\hich\af0\dbch\af11\loch\f0 . +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 7.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 sysalias +\hich\af0\dbch\af11\loch\f0 ' \hich\af0\dbch\af11\loch\f0 can now create aliases for S\hich\af0\dbch\af11\loch\f0 16\hich\af0\dbch\af11\loch\f0 applications as well as SYS applications\hich\af0\dbch\af11\loch\f0 . +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 8.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 Quitting from Davex back to the program that launched Davex +\hich\af0\dbch\af11\loch\f0 now works reliably even if a SYS application has been launched\hich\af0\dbch\af11\loch\f0 . (\hich\af0\dbch\af11\loch\f0 v\hich\af0\dbch\af11\loch\f0 1.23\hich\af0\dbch\af11\loch\f0 usually quit back to itself by accident +\hich\af0\dbch\af11\loch\f0 .) +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 9.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 exec\hich\af0\dbch\af11\loch\f0 +' \hich\af0\dbch\af11\loch\f0 files may now contain control characters\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0 Also\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 +an extra blank line is no longer printed to the screen after each line in an e\hich\af0\dbch\af11\loch\f0 xec file executes\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0 Having the Apple key down when an \hich\af0\dbch\af11\loch\f0 " +\hich\af0\dbch\af11\loch\f0 h\hich\af0\dbch\af11\loch\f0 " \hich\af0\dbch\af11\loch\f0 or \hich\af0\dbch\af11\loch\f0 "\hich\af0\dbch\af11\loch\f0 H\hich\af0\dbch\af11\loch\f0 " \hich\af0\dbch\af11\loch\f0 +is encountered in an exec file no longer prints the screen to the printer\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0 Finally\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 +the date and time is no longer automatically shown when an exec file finishes\hich\af0\dbch\af11\loch\f0 . +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 10.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 cat\hich\af0\dbch\af11\loch\f0 ' +\hich\af0\dbch\af11\loch\f0 displays auxil\hich\af0\dbch\af11\loch\f0 iary types after filetypes\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 and it displays invisible files only with the \hich\af0\dbch\af11\loch\f0 - +\hich\af0\dbch\af11\loch\f0 i option\hich\af0\dbch\af11\loch\f0 . "\hich\af0\dbch\af11\loch\f0 cat \hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0 t\hich\af0\dbch\af11\loch\f0 " \hich\af0\dbch\af11\loch\f0 +keeps all the columns except the filename column lined up\hich\af0\dbch\af11\loch\f0 . +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 11.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 update +\hich\af0\dbch\af11\loch\f0 ' \hich\af0\dbch\af11\loch\f0 asks if it\hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 s okay to replace a file of a different type\hich\af0\dbch\af11\loch\f0 . +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 12.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 touch\hich\af0\dbch\af11\loch\f0 +' \hich\af0\dbch\af11\loch\f0 can make fil\hich\af0\dbch\af11\loch\f0 es visible and invisible\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 and it can enable and disable files of certain Apple IIgs filetypes\hich\af0\dbch\af11\loch\f0 . +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 13.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 Limit of \hich\af0\dbch\af11\loch\f0 63 +\hich\af0\dbch\af11\loch\f0 filetype names expanded\hich\af0\dbch\af11\loch\f0 --\hich\af0\dbch\af11\loch\f0 now you can have \hich\af0\dbch\af11\loch\f0 63\hich\af0\dbch\af11\loch\f0 of your own in addition to the built\hich\af0\dbch\af11\loch\f0 - +\hich\af0\dbch\af11\loch\f0 in ones\hich\af0\dbch\af11\loch\f0 . +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 14.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 type\hich\af0\dbch\af11\loch\f0 +' \hich\af0\dbch\af11\loch\f0 and \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 pg\hich\af0\dbch\af11\loch\f0 ' \hich\af0\dbch\af11\loch\f0 can sort of display tabs now\hich\af0\dbch\af11\loch\f0 \hich\af0\dbch\af11\loch\f0 ( +\hich\af0\dbch\af11\loch\f0 see help\hich\af0\dbch\af11\loch\f0 ). +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 15.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 Some revised commands \hich\af0\dbch\af11\loch\f0 ( +\hich\af0\dbch\af11\loch\f0 see help\hich\af0\dbch\af11\loch\f0 ): \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 what\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 dump\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 +ffind\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 vstore\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 iw\hich\af0\dbch\af11\loch\f0 2\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 deschw +\hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 . +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 16.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 External commands by Jeff Ding \hich\af0\dbch\af11\loch\f0 ( +\hich\af0\dbch\af11\loch\f0 see help\hich\af0\dbch\af11\loch\f0 ): \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 viewhr\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 viewdhr\hich\af0\dbch\af11\loch\f0 ', ' +\hich\af0\dbch\af11\loch\f0 date\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 tr\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 wc\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 split\hich\af0\dbch\af11\loch\f0 ', ' +\hich\af0\dbch\af11\loch\f0 combine\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 ram\hich\af0\dbch\af11\loch\f0 3\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 expand\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 +tail\hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 . (\hich\af0\dbch\af11\loch\f0 If you go\hich\af0\dbch\af11\loch\f0 t Davex \hich\af0\dbch\af11\loch\f0 1.25\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 you have a bad version of +\hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 date\hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 --\hich\af0\dbch\af11\loch\f0 use the one with \hich\af0\dbch\af11\loch\f0 1.26\hich\af0\dbch\af11\loch\f0 .) +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 17.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 Other new external commands \hich\af0\dbch\af11\loch\f0 ( +\hich\af0\dbch\af11\loch\f0 see help\hich\af0\dbch\af11\loch\f0 ): \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 strings\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 doscat\hich\af0\dbch\af11\loch\f0 ', ' +\hich\af0\dbch\af11\loch\f0 ptype\hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 . +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 18.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 External commands can now have filetype +\hich\af0\dbch\af11\loch\f0 $2\hich\af0\dbch\af11\loch\f0 E and auxiliary type \hich\af0\dbch\af11\loch\f0 $8001\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0 The indexed\hich\af0\dbch\af11\loch\f0 .\hich\af0\dbch\af11\loch\f0 help file has fi +\hich\af0\dbch\af11\loch\f0 letype \hich\af0\dbch\af11\loch\f0 $58\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 auxiliary type \hich\af0\dbch\af11\loch\f0 $8002\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0 +The configuration file has filetype \hich\af0\dbch\af11\loch\f0 $5\hich\af0\dbch\af11\loch\f0 A\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 auxiliary type \hich\af0\dbch\af11\loch\f0 $8005\hich\af0\dbch\af11\loch\f0 . +\hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 vstore\hich\af0\dbch\af11\loch\f0 ' \hich\af0\dbch\af11\loch\f0 creates saved\hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0 volume files with filetype \hich\af0\dbch\af11\loch\f0 $ +\hich\af0\dbch\af11\loch\f0 E\hich\af0\dbch\af11\loch\f0 0\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 auxiliary type \hich\af0\dbch\af11\loch\f0 $8004\hich\af0\dbch\af11\loch\f0 . +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 19.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 In most cases\hich\af0\dbch\af11\loch\f0 , +\hich\af0\dbch\af11\loch\f0 filenames are now displayed with appropriate uppercase and\hich\af0\dbch\af11\loch\f0 lowercase if they were created by the ProDOS FST under GS\hich\af0\dbch\af11\loch\f0 /\hich\af0\dbch\af11\loch\f0 OS +\hich\af0\dbch\af11\loch\f0 . +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 20.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 In Davex \hich\af0\dbch\af11\loch\f0 1.25 +\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 getting any keyboard input while an \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 exec\hich\af0\dbch\af11\loch\f0 ' \hich\af0\dbch\af11\loch\f0 file was active but suspended +\hich\af0\dbch\af11\loch\f0 (\hich\af0\dbch\af11\loch\f0 for a yes\hich\af0\dbch\af11\loch\f0 /\hich\af0\dbch\af11\loch\f0 no question\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 for example\hich\af0\dbch\af11\loch\f0 ) +\hich\af0\dbch\af11\loch\f0 would abort with an I\hich\af0\dbch\af11\loch\f0 /\hich\af0\dbch\af11\loch\f0 O error message\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0 This is fixed in \hich\af0\dbch\af11\loch\f0 1.26 +\hich\af0\dbch\af11\loch\f0 and later\hich\af0\dbch\af11\loch\f0 . +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 21.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 In Davex \hich\af0\dbch\af11\loch\f0 1.27 +\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 the built\hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0 in list of \hich\af0\dbch\af11\loch\f0 3\hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0 +character filetype abbreviations is up\hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0 to\hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0 date with the March \hich\af0\dbch\af11\loch\f0 1990\hich\af0\dbch\af11\loch\f0 + File Type Notes from Apple Developer Technical Support\hich\af0\dbch\af11\loch\f0 . +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 +\par \hich\af0\dbch\af11\loch\f0 Davex omits most of the Apple \hich\af0\dbch\af11\loch\f0 /// \hich\af0\dbch\af11\loch\f0 names to save space\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0 Also\hich\af0\dbch\af11\loch\f0 , +\hich\af0\dbch\af11\loch\f0 the names for types \hich\af0\dbch\af11\loch\f0 $2\hich\af0\dbch\af11\loch\f0 A\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 $2\hich\af0\dbch\af11\loch\f0 B\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 +$2\hich\af0\dbch\af11\loch\f0 C\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 and \hich\af0\dbch\af11\loch\f0 $2\hich\af0\dbch\af11\loch\f0 D are nonstandard because Davex can\hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 +t parse a filetype name that begins with a digit \hich\af0\dbch\af11\loch\f0 (\hich\af0\dbch\af11\loch\f0 use \hich\af0\dbch\af11\loch\f0 "\hich\af0\dbch\af11\loch\f0 sc\hich\af0\dbch\af11\loch\f0 8\hich\af0\dbch\af11\loch\f0 " +\hich\af0\dbch\af11\loch\f0 in place of \hich\af0\dbch\af11\loch\f0 "\hich\af0\dbch\af11\loch\f0 8\hich\af0\dbch\af11\loch\f0 sc\hich\af0\dbch\af11\loch\f0 "\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 etc\hich\af0\dbch\af11\loch\f0 ). +\par +\par \hich\af0\dbch\af11\loch\f0 -------------------------- +\par \hich\af0\dbch\af11\loch\f0 end of Davex release notes +\par \hich\af0\dbch\af11\loch\f0 --------------------------}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12387617 +\par }} \ No newline at end of file diff --git a/doc/Echo Notes.rtf b/doc/Echo Notes.rtf new file mode 100644 index 0000000..e6e6c48 --- /dev/null +++ b/doc/Echo Notes.rtf @@ -0,0 +1,70 @@ +{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch11\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1041{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f11\fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}MS Mincho{\*\falt ?l?r ??\'81\'66c};} +{\f37\fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}@MS Mincho;}{\f48\froman\fcharset238\fprq2 Times New Roman CE;}{\f49\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f51\froman\fcharset161\fprq2 Times New Roman Greek;} +{\f52\froman\fcharset162\fprq2 Times New Roman Tur;}{\f53\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f54\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f55\froman\fcharset186\fprq2 Times New Roman Baltic;} +{\f56\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f160\fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt ?l?r ??\'81\'66c};}{\f158\fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt ?l?r ??\'81\'66c};} +{\f159\fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt ?l?r ??\'81\'66c};}{\f161\fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt ?l?r ??\'81\'66c};}{\f162\fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt ?l?r ??\'81\'66c};} +{\f165\fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt ?l?r ??\'81\'66c};}{\f420\fmodern\fcharset0\fprq1 @MS Mincho Western;}{\f418\fmodern\fcharset238\fprq1 @MS Mincho CE;}{\f419\fmodern\fcharset204\fprq1 @MS Mincho Cyr;} +{\f421\fmodern\fcharset161\fprq1 @MS Mincho Greek;}{\f422\fmodern\fcharset162\fprq1 @MS Mincho Tur;}{\f425\fmodern\fcharset186\fprq1 @MS Mincho Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0; +\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128; +\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1041\loch\f0\hich\af0\dbch\af11\cgrid\langnp1033\langfenp1041 +\snext0 \styrsid10974642 Normal;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\* +\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1024\langfe1024\loch\f0\hich\af0\dbch\af11\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}} +{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\listtable{\list\listtemplateid-2095052126\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698703 +\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext +\leveltemplateid67698713\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext +\leveltemplateid67698715\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext +\leveltemplateid67698703\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext +\leveltemplateid67698713\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext +\leveltemplateid67698715\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext +\leveltemplateid67698703\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext +\leveltemplateid67698713\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext +\leveltemplateid67698715\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid40716567}{\list\listtemplateid-1634536590\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0 +\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698703\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698713\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0 +\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698715\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698703\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698713\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0 +\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698715\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698703\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698713\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0 +\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698715\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1260601419}}{\*\listoverridetable +{\listoverride\listid1260601419\listoverridecount0\ls1}{\listoverride\listid40716567\listoverridecount0\ls2}}{\*\rsidtbl \rsid5137232\rsid10974642\rsid12387617\rsid15084009}{\*\generator Microsoft Word 11.0.0000;}{\info{\title April 12, 1988}{\author .} +{\operator .}{\creatim\yr2011\mo12\dy6\hr22\min24}{\revtim\yr2011\mo12\dy6\hr22\min24}{\version2}{\edmins0}{\nofpages1}{\nofwords178}{\nofchars1015}{\*\company .}{\nofcharsws1191}{\vern24615}{\*\password 00000000}}{\*\xmlnstbl {\xmlns1 http://schemas.micr +osoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect +\widowctrl\ftnbj\aenddoc\donotembedsysfont1\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180 +\dgvspace180\dghorigin1800\dgvorigin1440\dghshow1\dgvshow1 +\jexpand\viewkind4\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct +\asianbrkrule\rsidroot10974642\newtblstyruls\nogrowautofit \fet0{\*\wgrffmtfilter 013f}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2 +\pnucltr\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (} +{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}} +{\*\pnseclvl9\pnlcrm\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid10974642 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 +\fs24\lang1033\langfe1041\loch\af0\hich\af0\dbch\af11\cgrid\langnp1033\langfenp1041 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0 April 12, 1988 +\par +\par \hich\af0\dbch\af11\loch\f0 Notes on using Davex with an Echo speech synthesizer +\par +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0 1.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid10974642 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0 +Put a copy of PT.OBJ in the same directory as Davex, and it will be loaded automatically. PT.OBJ is part of the Textalker software which has been licensed from Street Electronics Corpor\hich\af0\dbch\af11\loch\f0 +ation, the designer of the Echo, for distribution with Davex. +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid10974642 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0 2.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid10974642 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0 +Hold down the plain Apple key (the left-hand Apple on the 2 e, and the wide key to the left of the space bar on the GS) if you need to force Davex to reload PT.OBJ--this may be necessary while \hich\af0\dbch\af11\loch\f0 +returning to Davex from some programs which partly overwrite the speech software. +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid10974642 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0 3.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid10974642 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0 +On the GS, turn off keyboard buffering for best results. You can turn keyboard buffering off using the "conp" command from Davex. Type "help conp" for details. +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid10974642 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0 4.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid10974642 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0 Davex uses\hich\af0\dbch\af11\loch\f0 + some characters that are not pronounced in "Some punctuation" mode. Type control e M to change to "most" mode. Most notably, hyphens are very important to Davex, and square brackets are used in the help files to show things that are optional. +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid10974642 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0 5.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid10974642 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0 Because i\hich\af0\dbch\af11\loch\f0 +ndentation is not audible, the "cat -t" command pronounces ">" when it indents for a subdirectory and "<" when it unindents out of a subdirectory. +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid10974642 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 +\par \hich\af0\dbch\af11\loch\f0 (End of Echo Notes) +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12387617 +\par }} \ No newline at end of file diff --git a/doc/help/Alias b/doc/help/Alias new file mode 100644 index 0000000..34cc46d --- /dev/null +++ b/doc/help/Alias @@ -0,0 +1 @@ + alias -- display or modify command aliases syntax: alias [-s] [-l] [-r] ex: alias alias foo "cat -am" alias -r foo alias -s alias -l With no parameters, displays a list of all current aliases. These are stored in the file %aliases (which you can edit with a text editor if you want). Given two strings, 'alias' creates a new alias so that the first string, when used as a command, expands into the second string. If there are blanks in the second string, you need to put quotation marks around it. If the named alias already exists, 'alias' asks for permission to replace it. Given -r and a single string, 'alias' removes an existing alias. Creating or removing an alias does not automatically save it to disk. To save your aliases to %aliases, use 'alias -s'. (Note that if you create or remove an alias and use -s in the same command, the saving happens -after- any changes to your aliases.) To re-load your aliases from %aliases, use 'alias -l'. Davex automatically loads aliases from there, so this is not normally needed. See Davex.Doc for an explanation of aliases and a description of the pre-made aliases provided. \ No newline at end of file diff --git a/doc/help/BList b/doc/help/BList new file mode 100644 index 0000000..7d053e5 --- /dev/null +++ b/doc/help/BList @@ -0,0 +1 @@ + blist -- list a BAS file in ASCII (EXTERNAL) [v1.2] syntax: blist [-w ] ex: blist this como &;blist ?:bas -w70 como edit.this;blist myprog List a BAS file in readable form. Wildcards are allowed. Intended for redirecting to a TXT file to allow editing with a word processor. The edited file can then be EXECed in BASIC.SYSTEM, turning it back into an Applesoft program which can be SAVEd and RUN. The -w option specifies the wrap margin. 'blist' will start a new line and indent 6 spaces when this margin is hit, or when a blank is printed within 10 columns of the margin. If you are using 'blist' to send a listing to your printer, you may need to use -w to prevent long lines from overprinting themselves. Version 1.2 fixes a spacing bug in REM and DATA statements that didn't begin with a blank. \ No newline at end of file diff --git a/doc/help/BRun b/doc/help/BRun new file mode 100644 index 0000000..3a17bf4 --- /dev/null +++ b/doc/help/BRun @@ -0,0 +1 @@ + brun -- run a BIN file syntax: brun pathname ex: brun myprogram 'brun' is a SYS file that accepts a parameter (in its startup buffer). The pathname must specify a BIN file. 'brun' will load and execute the BIN file at its auxiliary type address. Many BIN files are intended to be executed in a certain environment, such as BASIC.SYSTEM. 'brun' is useful only for BIN files that do NOT expect an environment to be set up for them. Kyan Pascal programs, for example, can be run with 'brun'. Be careful! Not all BIN files are suitable for running with 'brun'. If you're not sure if a particular BIN file will run OK or not, write-protect your disks (turn off a hard drive, save RAM disks to real disks, etc) before trying to run it. If a ProDOS error occurs while 'brun' is loading the BIN file, a two-digit error code is displayed, and you will be returned to Davex (if you ran 'brun' from there) when you hit a key. To find out what the error was, you can type "err $xx" from Davex. If the specified file is not a BIN file, error $FF is reported. Note: 'brun' with a last-modified date of 12-Dec-87 or later supports BIN files that RTS or JMP to $3D0, $3D3, or $BE00 rather than doing a ProDOS QUIT. Previous versions worked only with BIN files that did a QUIT. Also, 'brun' stores a BRK instruction at $BE03 and $BE70. If you get dropped into the monitor at $BE03 or $BE70, the BIN file you were trying to run probably requires BASIC.SYSTEM. \ No newline at end of file diff --git a/doc/help/Boot b/doc/help/Boot new file mode 100644 index 0000000..f7f2b0f --- /dev/null +++ b/doc/help/Boot @@ -0,0 +1 @@ + boot -- boot the system syntax: boot [-s] [-i] ex: boot boot -s6 Boots the system. If -s is given, boots from the specified slot, which should contain a disk controller. Otherwise the system scans for a startup device the same way it does at power-up. The -i option is meaningful only on a IIgs. If present, an ICE COLD reboot is done, erasing everything in RAM (including /RAM5). -s is ignored when -i is used. [NOTE--'boot -i' takes advantage of an undocumented aspect of the keyboard microcontroller and is NOT guarranteed to work in the future. Test it with any hardware or system software upgrades before trusting it.] \ No newline at end of file diff --git a/doc/help/Bye b/doc/help/Bye new file mode 100644 index 0000000..6bffbcf --- /dev/null +++ b/doc/help/Bye @@ -0,0 +1 @@ + bye -- quit Davex syntax: bye ex: bye Quits Davex. (Does a ProDOS QUIT to whatever Quit code was in place when you entered Davex.) If you have different copies of Davex in different directories, you can run one copy from another one, and Quit will return you to the one you were in previously. (The old quit code is stored in %config when you enter Davex. When you quit, it loads the old quit code from %config, so you need to have your Davex disk online.) \ No newline at end of file diff --git a/doc/help/Cat b/doc/help/Cat new file mode 100644 index 0000000..9d1bb6b --- /dev/null +++ b/doc/help/Cat @@ -0,0 +1 @@ + cat -- display directory syntax: cat [pathname] [-t] [-s] [-f filetype] [-a sort_keys] [-i] ex: cat cat -a cat /disk -it cat -fbas cat /mydisk -tfSYS cat .62 -s cat ?:dir Displays the contents of the directory specified by pathname; wildcards are allowed. (If no pathname is given, displays the contents of the current directory.) The following options are available: -t: tree format--show contents of directories indented under the directory names -i: show files and directories even if they are invisible (use the 'touch' command to make a file visible or invisible) -s: short form--display name and filetype only -f: show only files of given type (if -t is given, DIRs are also shown) -a: arrange--sort the listing according to the characters following '-a'. If no characters follow, the listing is sorted alphabetically by filename. The following sorting keys may be combined by listing the most significant keys first. Capitalizing a letter reverses the order of the sort on that key. n: name (a to z) m: modified date/time (newest to oldest) f: filetype ($00 to $ff) t: same as f s: size in bytes (largest to smallest) x: auxiliary type ($0000 to $ffff) b: list files needing backup before files not needing backup Examples: cat -a cat -an arrange by name from a to z cat -aN arrange by name from z to a cat -afX arrange by increasing filetype and decreasing auxiliary type within each filetype Note that '-t' is ignored when '-a' is used. \ No newline at end of file diff --git a/doc/help/Cls b/doc/help/Cls new file mode 100644 index 0000000..2e21fe0 --- /dev/null +++ b/doc/help/Cls @@ -0,0 +1 @@ + cls -- clear screen syntax: cls ex: cls como &;cls -- new page on printer Clears the screen. If redirected to the printer, as in the last example, begins a new page. ('cls' just outputs a Ctrl-L.) \ No newline at end of file diff --git a/doc/help/CmdLine b/doc/help/CmdLine new file mode 100644 index 0000000..2de1599 --- /dev/null +++ b/doc/help/CmdLine @@ -0,0 +1 @@ + The following features are available during line input: Ctrl-B = move to beginning of line Ctrl-D = delete character at cursor Ctrl-E/Ctrl-N = move to end of line Ctrl-F = find forward; press ESC to exit Ctrl-H (left arrow) = move left Ctrl-I (tab) = insert (cancelled by arrows or Ctrl-D) Ctrl-J (down arrow) = move down on the list of previous commands Ctrl-K (up arrow) = move up on the list of previous commands Ctrl-L = toggle Caps-lock on/off for Apple II+ Ctrl-M = return (accept whole line, even the part after the cursor) Ctrl-O = if the following character is a control character, inserts it (control characters can't normally be entered). If the following character is "K" to "O" or "k" to "o", a special character is inserted (useful only on the II+ keyboard): K L M N O k l m n o [ \ ] ^ _ { | } ~ DEL Ctrl-Q = accept portion of line before cursor Ctrl-R = re-edit previous input Ctrl-U (right arrow) = move cursor right Ctrl-X = cancel input Ctrl-Y = erase from cursor to end of line DELETE = erase character before cursor Apple-< = move to beginning of line Apple-> = move to end of line Apple-E = switch between insert and overstrike ("exchange") Apple-Y = erase from cursor to end of line (same as Ctrl-Y) Apple-H = print hardcopy of screen Apple-Space = advance printer one line Apple-Return = advance printer to next page \ No newline at end of file diff --git a/doc/help/Combine b/doc/help/Combine new file mode 100644 index 0000000..42e3c63 --- /dev/null +++ b/doc/help/Combine @@ -0,0 +1 @@ + combine -- combine files together (EXTERNAL) [v1.0] Written by Jeff Ding syntax: combine [] [-o] [-w] ex: combine text -m60 combine game.part1 game.part2 game.3 -o game combine =.header =.doc -o documents 'Combine' combines files together. The input file is always appended to the output file. A total of 5 input files on the same command line is supported. Wildcards are supported in the first two input files only. When using an output pathname, it is sometimes useful to use a wildcard in the input pathname. This allows you to append several files onto one output pathname. A special case happens when using two wildcards in the input files. The text matching the first wildcard is substituted into the second wildcard. This makes it possible to include a special header or footer file for each actual input file. The third example above demonstrates the use of a header file. Combine will work with any file type, but the files are treated only as raw collections of bytes. This means, for example, that if you combine two complete AWP files you will get a big mess. However, you can always use 'combine' to reconstruct files that have been split up using 'split'. Options are as follows: -o : Copy of input file gets saved to this file. If not specified, output goes to the screen. If the file exists, the data will be appended and the type not modified. If the output file does not exist, it will be created with the same type as the original file. -w : wrap margin. Affects output to the screen only. This forces a carriage return when either the margin or a space within 9 characters of the margin is reached. Allowed values are 0 through 255. A 0 value has the same effect as not using the option. (see also: split) \ No newline at end of file diff --git a/doc/help/ConP b/doc/help/ConP new file mode 100644 index 0000000..468f768 --- /dev/null +++ b/doc/help/ConP @@ -0,0 +1 @@ + conp -- display or change IIgs Control Panel information (EXTERNAL) syntax: conp [-k pathname] [-l pathname] [-a audio] [-s slots] [-1 port1] [-2 port2] [-r RAMdisk] [-o options] [-d display] [-f fast] [-c clock] ex: conp -- display all settings conp -a -r -- display audio and RAMdisk settings conp -ap13v>2 -- set pitch to 13, increase volume by 2 conp -k my.bram -- keep all settings in a file conp -l %?.bram -- load all settings from a file conp -rs8 -- set RAMdisk size to 8 chunks of 32K=256K [more examples below] 'conp' can display and set all the options the IIgs's control panel desk accessory can. ('conp' is especially useful to voice synthesizer users. Other users will find the -k and -l options handy, and may want to include other 'conp' commands in exec files (see "exec").) Options set with 'conp' are stored in the IIgs's 256 bytes of battery RAM, in exactly the same format the Control Panel stores them. Note that RAMdisk and Slots settings do not take effect until the next power-up or "boot -i". 'conp' has 11 parameters. All of them are optional. If no parameters are given, all settings are displayed. -k requires the name of a file (which will be created if it doesn't exist); it saves all the battery RAM settings into the file. -l also requires the name of a file; it restores all battery RAM settings from the file. (If the file contains invalid information, battery RAM will revert to defaults.) The remaining options are categories of options. The categories are: audio, RAMdisk, options, display, clock, fast, slots, port 1, and port 2. For any category that is given, settings may or may not appear after it. If no settings are found after a category, the current settings for that category are displayed. The settings allowed in each category are listed below. Note on numeric values: in almost all cases, you can put a "<" or ">" before a number. This decreases or increases the existing value for a setting, instead of specifying the new value from scratch. For example, conp -av>1 bumps the Volume up one notch. ----- Category: audio (-a) Settings: v volume value: 0 to 14 p pitch value: 0 to 14 Sets the system volume and the pitch of the standard bell tone. Note: If no value appears after v or p, the volume or pitch can be set interactively. Use the left and right arrows to adjust the volume, and press RETURN to finish. Examples: conp -avp --sets volume and then pitch, interactively conp -ap>2v<1 --bump pitch up 2 notches, volume down 1 ----- Category: slots (-s) Settings: i internal (followed by slot numbers) x external (followed by slot numbers) b boot 0 to 9 (0=scan, 8=RAMdisk, 9=ROMdisk) Examples: conp -sb5x1i52 -- set boot to slot 5, slot 1 external ("your card"), and slots 5 and 2 internal conp -sb0 -- scan (boot from highest bootable device) ----- Category: port 1 (-1) (normally printer port) Settings: (value) dv device connected m or p (modem/printer) l line length u=unlimited, 40, 72, 80, 132 dl delete 1st LF after CR y/n al add LF after CR y/n e echo y/n bf buffer y/n br baud rate 0 to 14 (%%% fix this) ds data/stop bits 5/1, 5/2 to 8/1, 8/2 p parity e (even), o (odd), n (none) ch Carrier handshake (DCD) y/n dh DSR/DTR handshake y/n xh X-on/X-off handshake y/n Examples: conp -1bfyds8/1pn -- buffering on, 8 data bits, 1 stop bit, no parity ----- Category: port 2 (-2) (normally modem port) Settings: same as for printer port Examples: conp -2luxhn -- line length unlimited, X-off handshake off ----- Category: fast (-f) Well, this isn't really a category. A simple "y" or "n" is expected. "Y" sets fast mode (2.8 MHz); "N" sets slow mode (1.0 MHz). Examples: conp -fn -- slow conp -fy -- fast ----- Category: RAMdisk (r) Settings: s size -- sets minimum and maximum size a minimum -- sets minimum size b maximum -- sets maximum size All values refer to a number of 32K chunks. Examples: conp -rs0 -- set RAMdisk size to 0 conp -rs4 -- set RAMdisk size to 128K (=4x32K) conp -ra10b20 -- set minimum size to 320K, max to 640K (Note that the new size does not take effect until a power-up or a "boot -i".) ----- Category: clock (c) Settings: NONE YET (NOT DONE) ----- Category: display (d) Settings: tx text color 0 to 15 bk text background color 0 to 15 bd border color 0 to 15 80 80 columns on RESET and power-up? y/n m monochrome monitor? y/n Examples: conp -dtx15 -- show white text conp -dbd0 -- black border conp -d80ymn -- 80 columns on RESET, color monitor Note: the "m" option has no effect on the display of an RGB monitor. Some programs do not work properly when the "80" option is on. ----- Category: options (-o) Settings: tl text language 0 to 31 (MOST VALUES ILLEGAL? %%%) kl keyboard language 0 to 31 (MOST VALUES ILLEGAL? %%%) kb keyboard buffering y/n rs repeat speed 0 to 7 rd repeat delay 0 to 4 (4=no repeat) dc double click time 0 to 4 fr flash rate 0 to 4 cs caps+shift = lower case y/n fs fast space/delete y/n ds dual-speed keys y/n hm high-speed mouse y/n Notes: The keyboard buffering is 16 characters within the IIgs (provided by the Keyboard Microcontroller), plus an additional 3 characters within the keyboard itself, if you have the external Apple Desktop Bus keyboard. Some programs don't work properly with keyboard buffering turned on. When keyboard buffering is on, Ctrl-Apple-DELETE empties the buffer. ----- end of 'conp' help (finally!) \ No newline at end of file diff --git a/doc/help/Config b/doc/help/Config new file mode 100644 index 0000000..bf869e8 --- /dev/null +++ b/doc/help/Config @@ -0,0 +1 @@ + config -- display or change Davex configuration syntax: config [-p slot] [-b y|n] [-4 y|n] [-c y|n] [-h string] [-q integer] ex: config -- show current settings config -p1 -- printer slot 1 config -by -- use system bell config -p7 -bn -- printer slot 7, "blat" bell config -4n -cy -- 80 columns, show IIgs clock config -h .62help -- set location of help directory config -q2 -- don't print "welcome" message 'config' with no parameters displays the current values of all options that you can set with this command. The -p option sets the default printer slot. This slot number is used when you specify "&" as the pathname for a "como" or ">" command. Also, 'spool' and Apple-H (hardcopy of screen) always print to the slot you set with 'config'. -b is a yes/no option that determines whether the system beep will be used. If -bn is given, the standard ProDOS buzz is used. IIgs users especially may want to use -by, since the pitch is configurable through the control panel (or through the 'conp' external command). -4 is a yes/no option. When set to yes, it restricts your display to 40 columns (while in Davex) even if you have an 80-column card. Note that some things are not formatted well in 40 columns--most notably, the help files. (The new display setting takes effect when you hit RESET or re-enter Davex.) -c is a yes/no option that has effect only on an Apple IIgs. When set to Yes, the date and time that appear when you hit Return without typing a command will include seconds and will be in the format you have selected in the Control Panel. -h sets the pathname of the Help directory. The default is "%help". The string can be a full pathname, or it can start with "%" or with a slot/ drive specification (ex: ".62help"). This option is useful if several people are running Davex from separate directories on the same hard drive and want to keep just one copy of the help files. -q controls whether the "welcome" message is printed when you enter Davex. The default is 0, and the message is always printed. Set to 2 and the message will not be printed; set to 1 and it will be printed only if no speech synthesizer is being used. IIgs users: If your machine is on an AppleTalk network with a LaserWriter and you have the appropriate files in your SYSTEM/SYSTEM.SETUP directory and you have run CHOOSER.II (supplied on your system disk) to download the ImageWriter emulator to the LaserWriter, you can treat the LaserWriter as an ImageWriter in slot 7. (Slot 7 must be set to "Built-in Appletalk," not "Your card.") (see also: como, spool) \ No newline at end of file diff --git a/doc/help/Copy b/doc/help/Copy new file mode 100644 index 0000000..4c41560 --- /dev/null +++ b/doc/help/Copy @@ -0,0 +1 @@ + copy -- copy files or directories syntax: copy [-f] [-d] [-b] ex: copy thing /otherdisk/blah copy this /backup copy %= /backup/= -fb copy /system.disk/system /ram5/system Copies files from first path to second path. Unless -f (force) is given, ask for permission to replace the old copy. If the old file is LOCKED (access is not "rwnd"), copy asks for permission even if you use -f. -d deletes the original after a successful copy. -b clears the backup bit of the original after a successful copy. If the first pathname refers to a file and the second pathname refers to a directory, 'copy' puts the file INTO the directory. (It does not replace the directory with the file.) If you omit the second pathname completely, 'copy' behaves as though you supplied the current prefix. Result: "copy pathname" copies a file into the current directory, using the original file's filename. If the first pathname refers to a DIRECTORY, the directory and everything in it (files and/or directories) is copied to the second pathname. The second pathname must not refer to an existing directory ("ProDOS error: duplicate file" results). 'copy' will copy sparse files, but the new files will no longer be sparse. 'copy' can't copy extended files (storage type 5). You get a "bad storage type" error for trying. (Extended files have two forks and are created under GS/OS.) (see also: update) \ No newline at end of file diff --git a/doc/help/Create b/doc/help/Create new file mode 100644 index 0000000..28e6236 --- /dev/null +++ b/doc/help/Create @@ -0,0 +1 @@ + create -- create a directory or other file syntax: create [:] ex: create mydir create myfile:sys create something:bad Creates a file with the given filetype or, if no filetype is given, of type DIR. \ No newline at end of file diff --git a/doc/help/DOSCat b/doc/help/DOSCat new file mode 100644 index 0000000..3affaf0 --- /dev/null +++ b/doc/help/DOSCat @@ -0,0 +1 @@ + doscat -- catalog a DOS 3.3 disk (EXTERNAL) by Kevin Cooper and Dave Lyons syntax: doscat [-v] [-f filetypes] [-l y|n] [-o string] ex: doscat .61 doscat .62 -v -fTA -ly 'doscat' displays the catalog listing of a 5.25" DOS 3.3 disk. -v stops the volume number from appearing. -f restricts the listing to files of the specified types (the eight possible filetypes are called T, I, A, B, S, R, X, and Y). -ly ("locked yes") restricts the listing to files that are locked, and -ln ("locked no") restricts the listing to files that are not locked. -o takes a string and prints it for each filename selected, substituting the filename for all "=" signs in the string. See "help =" to see how this can be useful. \ No newline at end of file diff --git a/doc/help/DT b/doc/help/DT new file mode 100644 index 0000000..9dfdda0 --- /dev/null +++ b/doc/help/DT @@ -0,0 +1 @@ + dt -- print date and time (if available) syntax: dt ex: dt como %log;dt Prints date and time. This is fairly useless used alone, since you can get the same information by just hitting RETURN. But it may be handy if output is redirected. The second example above, if placed in %AUTOEXEC, will keep a log of all times Davex was entered. \ No newline at end of file diff --git a/doc/help/DU b/doc/help/DU new file mode 100644 index 0000000..348ed52 --- /dev/null +++ b/doc/help/DU @@ -0,0 +1 @@ + du -- summarize disk usage (EXTERNAL) [v1.4] syntax: du [pathname] ex: du du /mydisk du .61 du % When used without the optional pathname, 'du' prints a table showing K free and percent used for all online volumes; then totals the K free and % used and prints the number of volumes online. If a pathname is given, du prints the name of the volume specified in the pathname; then it prints the number of free blocks, used blocks, and total blocks on the volume. Note that a "K" is 1024 bytes (characters) of storage space, which is the same as 2 blocks on a ProDOS disk; a block is 512 bytes. \ No newline at end of file diff --git a/doc/help/Date b/doc/help/Date new file mode 100644 index 0000000..d8a454e --- /dev/null +++ b/doc/help/Date @@ -0,0 +1 @@ + date -- interactive date and time setting program (EXTERNAL) [v1.2] Written by Jeff Ding syntax: date [-p] {[-s] [-d] [-t]} [-f] ex: date date -p date -s -t date -s -t -f"%time.stamp" 'Date' is a program to set the date and time of your computer if you do not have a clock built in to your computer. This program will not change the date on your clock but only change the bytes in ProDOS. This program was designed to be included in the %autoexec file. For example, add the following line to your file: "date -s." See below for the explanation of the -s option. With no options, 'date' will print the current date and time and ask for the new date and the new time. The format for the date is DD-MMM-YY. The format for the time is HH:MM in 24 hour format. If the date or time is entered incorrectly, or you just press return when prompted, 'date' will not change the current values. Options are as follows: -p: print only -- When this option is used, 'date' will only print the date and time currently on the system. -s: set date/time only if not already set -- This option will only prompt you to set the date and time if the date and time have not already been set. This option is useful in the %autoexec startup file. You will be prompted once on bootup to set the date and time. When you re-enter Davex after quitting from an application, 'date' will not ask you to change the date since you already set it on bootup. -d: date -- Use this option in conjunction with the -s option. This will force the program to always set the date even if the date has already been set. Time setting remains the same as with the -s option. -t: time -- Use this option in conjunction with the -s option. This will force the program to always set the time even if the time has already been set. Date setting remains the same as with the -s option. -f: get date/time stamp from file -- This option will set your system's date and time equal to the last modification date and time field from the file given after the option. This option is only effective when the date and time is not set. Use this option in your autoexec file to set the your system time on bootup. Example autoexec file: date -s -t -f"%time.stamp" touch %time.stamp The first line will grab the time from the file "time.stamp" in the Davex directory when first booting up the computer. Every time you rerun Davex after exiting from a sys program, you will be prompted to change only the time. The second line keeps the date current on the file "time.stamp" so it reads in the most current date when you reboot the computer. Notes: If the -p option is included along with the -s option, 'date' will ignore the -s option and only print the date and time. When you use the -t option and the newly entered hour is less than the current hour, 'date' version 1.2 will increment the date by one day, changing the month and year if necessary. The command 'date -s -d -t' performs the same functions as the command 'date' with no options. \ No newline at end of file diff --git a/doc/help/Delete b/doc/help/Delete new file mode 100644 index 0000000..58e7f3e --- /dev/null +++ b/doc/help/Delete @@ -0,0 +1 @@ + delete -- destroy files or directories syntax: delete [-u] ex: delete this delete =.0 -u delete ?:dir Permanently destroys the specified file or directory. Wildcards are allowed. Before destroying a directory, the 'size' command is automatically used to compute the total size of the directory and everything in it, and you are given a chance NOT to destroy the directory. -u unlocks a file before trying to destroy it. When deleting a directory, -u unlocks each file before it is destroyed; otherwise any locked file in a directory will cause delete to stop with only some of the files deleted. \ No newline at end of file diff --git a/doc/help/Deschw b/doc/help/Deschw new file mode 100644 index 0000000..929e612 --- /dev/null +++ b/doc/help/Deschw @@ -0,0 +1 @@ + deschw -- describe hardware (EXTERNAL) [v1.2] syntax: deschw [-c] [-s] [-t] ex: deschw deschw -t deschw -ct deschw -s Describes system hardware. Giving no options has the same effect as giving them all. -t displays the system type. Possible types are: Apple IIgs; ROM version $xx [Machine ID = $xx] (reports total RAM, too) Apple IIe (enhanced) Apple IIe (unenhanced) Apple ][+ Apple /// (in emulation mode) Apple IIc (version 1: original) Apple IIc (version 2: 3.5" disk ROM) Apple IIc (version 3: memory expandable) Apple IIc (version 4: revised mem. expandable) Apple IIc Plus -c tries to identify the cards (and/or ports) in your system. -s displays information about all SmartPort (=Protocol Converter) cards/ports in your system, and all devices in their chains. \ No newline at end of file diff --git a/doc/help/Dev b/doc/help/Dev new file mode 100644 index 0000000..803a0e9 --- /dev/null +++ b/doc/help/Dev @@ -0,0 +1 @@ + dev -- list, add, or remove ProDOS devices syntax: dev [-r] [-a] [-z] ex: dev dev -z dev -r.62 dev -a.32 With no options, prints list of device numbers ProDOS scans when looking for an unknown volume. With -r, removes the specified device from the list. With -a, adds the specified device to the list. -z (zap) scans all devices in the device list and REMOVES the ones that don't have ProDOS volumes mounted. This is especially useful if you have Disk IIs that you will not use for a while. (The next time you re-enter ProDOS 8, all your disk devices will again be present in ProDOS's scan list.) Note: with -a, the low nybble of the device number is always set to 0. This is not usually a problem. \ No newline at end of file diff --git a/doc/help/Dump b/doc/help/Dump new file mode 100644 index 0000000..e5cd16b --- /dev/null +++ b/doc/help/Dump @@ -0,0 +1 @@ + dump -- display file contents in hex/ASCII (EXTERNAL) [v1.2] syntax: dump [-a] [-h] [-o] [-s ] [-e ] ex: dump that.file dump ?:sys -o dump my.file -s$100 -e512 'dump' displays the contents of a file in hex and/or ASCII. Wildcards are allowed. -h display in hex -a display in ASCII If neither -h nor -a is given, the dump is in BOTH hex and ASCII. Non-printable characters in the ASCII dump are displayed as periods. Each line begins with an "offset" in hex from the beginning of the file (the first byte has offset 0). Use -o to stop the offsets from appearing. You can use the -s option to begin the dump somewhere other than the beginning of the file (offset 0), and you can use -e to end the dump somewhere other than the end of the file. Note: 'dump' is useful for looking at the exact contents of directories (both subdirectories and volume directories), not just for standard files. (This is no extra work for 'dump'; ProDOS simply allows directories to be opened and read the same way as other files.) \ No newline at end of file diff --git a/doc/help/Echo b/doc/help/Echo new file mode 100644 index 0000000..a543b7c --- /dev/null +++ b/doc/help/Echo @@ -0,0 +1 @@ + echo -- echo string to output syntax: echo [-n] ex: echo "This is a test of ECHO" como %n;echo "Don't forget to feed the dog!" echo "scan -a" -n; = % 'echo' just outputs the same string you give it. The -n option prevents a carriage-return from being printed after the string. 'echo' is useful only when output is redirected to a file or to a printer. For example, if your %autoexec file contains "pg %n", you can use como %n;echo "text here" to record a message you will see whenever you enter the shell. If you do something like that, you may want to create an alias called "note" (for example) that stands for como %n;echo " This alias could be used like this: note Finish report for saturday! [No closing quote is necessary.] (see also: como, alias) \ No newline at end of file diff --git a/doc/help/Eject b/doc/help/Eject new file mode 100644 index 0000000..81b15a3 --- /dev/null +++ b/doc/help/Eject @@ -0,0 +1 @@ + eject -- eject a volume or all volumes from SmartPort syntax: eject [pathname] ex: eject eject /mydisk eject .52 Ejects the specified 3.5" volume from a UniDisk 3.5 or Apple 3.5 drive. If no volume name is given, all 3.5" disks are ejected. Note that the parameter is a PATHNAME, so a command like "eject .52" makes Davex try to find the name of the volume in slot 5, drive 2 before searching all drives to find that volume. So 'eject' will not help you eject individual non-ProDOS disks or individual plastic shipping disks. \ No newline at end of file diff --git a/doc/help/Equal b/doc/help/Equal new file mode 100644 index 0000000..a456eec --- /dev/null +++ b/doc/help/Equal @@ -0,0 +1 @@ + = -- print a complete pathname or a string built from a template syntax: = [