


                      ** The X-Com Wedge  v2.1 **

                        by Ed Bachman  (c)1989.

------------------------------------------------------------------------
 A "resident" command processor extension utility. Designed specifically
for SpartaDOS x3.2d and XL's or XE's with system memory of 128k or
greater ONLY!!
------------------------------------------------------------------------

     Note: SpartaDOS, SpartaDOS-X, Multi I/O, MIO, BASIC XE & MAC/65 are
      trademarks of ICD,inc
           Atari 130xe & 800xl are trademarks of Atari inc.

........................................................................

                           Archive contents.

        This is a listing of the files included in this archive.

  WEDGE.COM     --  The wedge program itself. (vers 2.1a)
  WEDGE.DOC     --  This text file.
  QUICKREF.TXT  --  A quick reference chart for the Wedge's commands.
  ADDENDA.TXT   --  Updates, revisions, and accolades.
  BMENU.WDG     --  A sample Wedge Disk Accessory.
  BMENU.DOC     --  The docs to BMENU.WDG.
  PETERSON.TXT  --  Users of the Peterson XE upgrades, please read this!
  P_FORMAT.COM  --  A demo file for Peterson upgrade users.
  PROBLEMS.TXT  --  Having trouble? read this.
  WDA_TECH.ARC  --  Info and utils for programming Wda files.


        When distributing the Wedge, please do not distribute it in any
   other manner than in its original archive, with all included support
   files intact.

------------------------------------------------------------------------

                   Requirements for using the Wedge.

        You will need an XL or XE computer, having at least 128k of
   memory, and an unmodified copy of SpartaDOS x3.2d. Please consult
   "PROBLEMS.TXT" and "PETERSON.TXT"for a more detailed account of your
   system requirements.

========================================================================

                     A new version of the Wedge?

        Yes, still ANOTHER wedge. With even more extended functions, in
   addition to some enhancements over the original v2.0x release of the
   Wedge. Those of you currently using version 2.0x will feel right at
   home. New users of the Wedge will find it a powerful utility, adding
   more than 20 commands to the SpartaDOS x3.2d command processor.  (24
   if you have an Mio). Plus 2 minor corrections to the standard Dos
   commands. Most of these functions are NOT destructive to programs or
   data residing within the main bank of memory. While adding less than
   200 bytes to Memlo. This power doesn't come without a price however,
   you WILL need an XL or XE with at LEAST 128k of memory!  And, of
   course, you will need SpartaDOS x3.2d.


                      Before running the Wedge..

        Please take the time to read the documentation very carefully.
   Added features mean added complexity. A good working knowledge of
   your DOS as well as the Wedge will help you get maximum performance
   from this package. These doc-files have been print formatted, so you
   may copy them to your printer. As an alternative, you may simply wish
   to print out "QUICKREF.TXT" included in this archive. Quickref is
   simply an alphabetical listing of the Wedge's commands with a short
   description and usage syntax. I recommend having a printed copy of
   the wedge docs (or quickref) around till you get used to using the
   Wedge. If you've gotten used to using sparta, the Wedge will be a
   snap!

        The Wedge exists almost entirely within the extended or "banked"
   portions of memory on your 128k+ XL/XE. With only a small driver
   residing in low memory. The 4 banks in which the wedge resides in are
   the same banks used by BasicXE. This means you CAN NOT use BasicXE in
   the extended mode! (I don't recommend using the Wedge with BasicXE at
   ALL, due to BXE'S ability to modify the extra ram banks).. However,
   if you have MORE than 128k of memory (e.g a 256k 800xl or a 320k
   130xe, etc.) You CAN use a ramdisk providing you use the /E parameter
   when you init the ramdisk using RD.COM.(this will leave the high 64k
   of extended ram free).

------------------------------------------------------------------------

                          Running the Wedge.

   WEDGE [[dn:path>]batfile[.ext]]

        When you run the Wedge (loadable from a batchfile or from the
   command line). you can also add a parameter to the wedge that will
   call a batchfile upon wedge init. A note on running the wedge from a
   batchfile: if you call the wedge with a batchfile spec, this will
   terminate any currently executing batchfile. You need not specify an
   extender if the file is a ".BAT" file. When the Wedge loads and runs
   it will test for the following conditions, if SpartaDOS 3.2 is
   present, if the computer has at least 128k of ram, and finally if
   there is a Multi I/O device on-line. If the first 2 conditions are
   not met the Wedge will abort with an error message, if the wedge
   finds an MIO on-line then the user will have 4 more extended
   functions available.  These functions are explained in the
   "MIO-specific commands" section of this text.




                     ***   Command overview.  ***


        The following is a list of commands, their type, usage & syntax.
   Please note, command "type:" specifies if the command is destructive
   to memory in the main bank. This is important to note. Since MOST
   commands will not affect any programs or data in the main memory
   bank, However there are a few that will overwrite or alter the
   memory. You will notice a "Warning" in the type field, see the
   command description for details.  If you are familiar with the
   earlier versions of the Wedge you will find these commands familiar,
   but please read thru the description, since there have been
   modifications to their usage/syntax.

........................................................................

 ABAT          type: memory safe

  syntax:ABAT [Dn:][path][filename.ext]]

   e.g. : ABAT
          ABAT AUTOBAT.BAT
          ABAT D1:AUTOBAT.BAT
          ABAT >DOTHIS.BAT

      This function is an implementation of the Sparta "autobat"
   function.  This particular implementation does NOT, however, use page
   6 to store the autobatch re-run code and file spec. So you may use
   the auto batch function with programs that use page 6, Basic
   programs, or the Mac/65 cart for instance. Also you may disable the
   autobatch functions without a coldstart by simply using the "ABAT"
   command with no parameter. Please note that when specifying a
   file-spec for Abat, if you do not spec a "Dn:" then the default Dn:
   will be assumed for the filespec. Abat will check for the file you
   specify and if it can not find it. You will be prompted with an error
   message and then asked if you still wish to install the filename. See
   your SpartaDOS manual for more information on the autobat function.


 COLD          type: n/a

  syntax: COLD [/X]

   e.g. : COLD
          COLD /X

      This is a simple coldstart (re-boot) of the computer. Use "COLD"
   to perform the equivalent of a "RUN E477". Using Cold in the second
   example will enable the SpartaDOS-X cartridge (if there is one) upon
   reboot. I find this useful when moving between dos types. Note: If
   you don't have SDX then the "cold /x" command will work the same as
   the "cold" command.


 COUNT         type:memory safe

  syntax: COUNT [Dn:][>path>][fnam.ext]

   e.g. : COUNT
          COUNT D2:*
          COUNT *.M65
          COUNT D1:DATA>FOO*.DAT

      This command will return the number of files in the default or
   specified directory. Usage syntax is the same as the Sparta DIR
   command.


 DEC           type:memory safe

  syntax: DEC [decimal number]

   e.g. : DEC 1234
          DEC 65535

      This command converts a decimal (base 10) number, (entered in
   atascii) to hexadecimal (base 16). Note: this conversion is only
   accurate on decimal numbers up to and including 65535. Any numbers
   larger than this will cause a parameter error. This function returns
   a hex value in a "$xxxx" format.


 EDIT          type: memory safe

  syntax:EDIT [Dn:][path>]filename[.ext]

   e.g. :EDIT STARTUP.BAT
        :EDIT D3:>BAT>TERM.BAT

      This is a rather simple feature. It is designed to replace the
   "copy E: textfil.bat" type of operation. I strongly oppose the
   previously mentioned operation, as there is simply no faster way to
   trash a disk, simply because there can in NO WAY be enough error
   protection in a copy from E: process. Hence the "Edit" function. You
   call Edit by specifying the name of the file you wish to create as a
   parameter. You will notice that Edit will not clear the screen. Other
   than that difference, all your text editing must be done in the same
   fashion as a copy from E:. Upon pressing return that particular line
   of text is placed in the destination file. You may close the Edit
   function at any time by either a control-3 or a break key press.


 EXIT          type: memory safe

  syntax: EXIT

   e.g. :  n/a

      This command is simply a method of exiting/disabling the wedge
   without rebooting. you should note however that memlo is checked and
   if you have loaded any handlers in AFTER you loaded in the Wedge,
   Exit will cause a coldstart. Make the wedge the last lo-mem handler
   you install if you desire to avoid reboot upon exit of the wedge.


 FIND          type: memory safe

  syntax: FIND [Dn:][path]filname.ext

   e.g. : FIND *.M65
          FIND <*.TXT
          FIND D3:MYFILE.TXT
          FIND >DATA>NEW*.*
          FIND D4:>ACTION>FOO.BAR

      This function will search for a specified file and report any and
   all matches of the filespec. Find will only search one drive at a
   time. You may specify an alternate drive and/or directory in which to
   begin the file search operation. Wildcards are accepted in both the
   pathname and filespec. When specifying an alternate directory in
   which to begin the file search, any dos-legal path will be accepted.
   *Please note* that a path spec of "<<>" is illegal, just as it is in
   the CWD command. One further note, this find command will scan using
   a "tree" method as opposed to "passes", also be aware that searching
   a large capacity drive may take a while..


 FORMAT        type: memory safe

  syntax: FORMAT

   e.g. :  n/a

      This function will perform a SpartaDOS compatible disk format in a
   similar manner to the SpartaDOS X cartridge. Namely, via a nifty
   little pop-up menu. This formatter may only be called from the
   command line as opposed to an xio command in SDX. Further, this
   formatter will only create disks in sparta format since 3.2 has an
   AINIT command capable of producing Ataridos formatted disks.
   Subsequently, the "boot loader" code is (c) ICD,inc and is used by
   this function solely for the purpose of creating SpartaDOS compatible
   disk media. This formatter works on a variety of 40 or 80 track,
   single or double sided floppy drives, and supports single, double,
   and enhanced density. It also supports the ultraspeed skew on the ICD
   doublered 1050's. Additionally the formatter can also re-init a disk
   (build a fresh directory) not only on floppies but on a mio ramdisk
   or hard drive as well. The formatter does NOT recognize internal
   ramdisks (this is intentional).

      The formatter is accessed by simply typing FORMAT at the command
   prompt. The menu is relatively self explanatory, however I'll cover
   its use in detail here. Menu choices are highlighted in inverse
   video. To leave the menu, simply press the escape key. You must first
   select a drive in order to proceed, you'll notice the menu prompts
   you for a drive number upon init. Simply enter a drive number from 1
   to 8. Press the "U" key to select a new drive. The formatter will
   test the drive and will reprompt you if it cannot access the drive.
   If the drive is on-line the formatter will attempt to identify the
   type of drive it is. Ramdisks and hard drives cant be formatted, this
   will be displayed. U/S doublered drives will cause the menu to come
   up in 40 tracks single sided double density hi-speed skew. All other
   floppy drives will come up in 40/SS single density. The formatter is
   intelligent, so it wont let you spec double sided on a 1050 or
   ultraspeed on a drive that is not capable of it.

      Here is a list of the available commands and their respective
   keypresses. Please note that not all of these commands will be valid
   all the time, due to drive type, size, and selected menu options.

        <keypress>   <command>     < description >

           "U"         Unit     /select a drive to format.
           "V"         Volume   /enter a volume label. (8 chars max)
           "S"         Skew     /select sector skew.
           "T"         Tracks   /select #of tracks,#of sides.
           "D"         Density  /select disk density.
           "F"         Format   /format floppy disk only.
           "B"         Build    /build a directory (re-init).
          "Esc"         ---     /quit the format menu.

                         *** Special note ***

              **** Upgraded 130XE users take notice! ****

      If this command appears to "bomb" on your computer please refer to
   the included text files, "PROBLEMS.TXT" and "PETERSON.TXT". As there
   seems to be a minor anomaly in the peterson XE upgrades, it can be
   easily corrected.


 HEX           type:memory safe

  syntax: HEX [hex number]

   e.g. : HEX A
          HEX E456

      This command does the inverse of the DEC command. Converting a hex
   (base 16) number to a decimal (base 10) number. A hex value entered
   here will have its decimal equivalent returned. Up to 3 byte hex
   numbers (e.g. $XXXXXX) are supported. Any non-hex arguments will
   cause a parameter error.


 LIST          type:memory safe

  syntax: LIST [Dn:][>path>][fnam.ext] [/P]

   e.g. : LIST
          LIST D2:
          LIST >TEXT> /P
          LIST *.M65
          LIST D1:DATA>FOO*.DAT

      This command will supply you with a double column directory
   listing in Ataridos format, (e.g. "*"=locked & sector count vs.
   bytes). Upon completion of the directory LIST will return the number
   of valid entries recorded. You may break the listing at any time
   (however an error 128 will be reported). If you use the list command
   with no parameters, a filespec of "*.*" in the current directory will
   be assumed. As for parameters (drivespec, pathname, & filespec)
   simply treat the LIST command as you would the standard SpartaDOS
   "DIR" command.

      Params:   use the "/P" parameter to pause the directory listing.
   Note: at the "more" prompt you may abort via an escape,break or
   control-3 key press.


 MOVE          type: memory safe

  syntax: MOVE [Dn][path]filenam.ext dest>dirpath> [/O]

   e.g. : MOVE TEST.DAT SUBDIR1>
          MOVE D2:*.* >
          MOVE >*.COM >CURRENT>
          MOVE NEW*.M65 >ML> /O

      This function will move files from one directory to another on the
   same drive. The Move function is unlike a file copy since the actual
   data comprising the files is not moved, only the directory entries
   are moved, and the old references deleted. This is useful when disk
   space is at a premium, when trying to avoid fragmenting a hard drive,
   or, when moving large files on the same drive (the move process takes
   the same amount of time wether moving a 1 byte file or a multiple meg
   file). Move requires at least 2 parameters to work, the first is the
   filename (or names, you can use wild cards). The second is the
   destination directory into which you wish to move the files. You may
   alternately spec a drive or dir-path other than the default. If no
   dirpath is specified in the first parameter Move will assume the
   default directory. If an alternate drive is spec'ed move will assume
   the default dir (unless you spec a directory as well). The
   destination directory must be a legal path from.. 1- the current
   directory, when using the default directory. ..or.. 2- the main
   directory, when specifying a source dir OTHER than the current
   default directory.

      ** Please NOTE ** you MUST end the destination parameter with a
   ">" character! This is the same syntax the copy command uses, and you
   will receive an error if you don't. There is no filename restriction
   like my previous versions of Move & Xmove. Take a few moments to
   check your directory paths, the move checks for valid dir-paths, but
   it cant check for the desired one!

      Params: using the "/O" parameter will force an overwrite of
   matching filenames in the destination directory. Use this param with
   caution since Move will erase these files! and new directory entries
   will take their place.

          More on MOVE...

      Move will ONLY work on SpartaDOS formatted disks. Move will NOT
   move locked files, and unless the "/O" parameter is used, Move will
   not transfer any files that it finds to have name matches in the
   destination directory. If during the Move operation, the destination
   directory fills to capacity (127 file entries), the Move operation
   will be terminated and an error 162 will be reported. Also note that
   during a long move operation, the process will seem to slow, this is
   normal, due to the length of the directories being scanned.


 PCOPY         type: memory safe

  syntax:PCOPY D[n]:[path>][fnam[.ext]] [Dn:][path>][fnam[.ext]][/A]

   e.g. :PCOPY *.* D3:
        :PCOPY TEST.OBJ FINAL.COM/A
        :PCOPY SRC> D7:*.?XX

      PCOPY is shorthand for "protected copy". This is useful for
   transferring files WITHOUT destroying anything in the main bank of
   memory. This function is nearly identical to the standard dos Copy
   operation with one exception, Your source device MUST be a Dx:
   device. This should present little problem since the only other
   common device to copy from is the E:ditor. However, I don't endorse
   this practice, and Pcopy does not support it. If you MUST copy from
   the E: device then see the "EDIT" command description.(Edit is also
   memory safe.). With the previously mentioned exception, you may use
   PCOPY in the same manner as the dos copy command. Please refer to
   your SpartaDOS manual for a more detailed description of the COPY
   operation.


 PEEK          type:memory safe

  syntax: PEEK [hex value]

   e.g. : PEEK A
          PEEK E456

      The peek command is familiar to nearly everyone, I wont attempt to
   explain. The result of this operation is returned in a byte and word
   format with the location being peeked being the LSB of the word
   value. all results are in hexidecimal. Please note that this command
   will only allow you to peek the values in the main bank of computer
   memory, the Wedge prevents you from accessing the extended banks via
   the peek or poke command. Further: the wedge's implementation of peek
   (& poke) takes a hexadecimal value as opposed to a decimal value.
   Note: both peek and poke use 4 locations in page 0 $CB to $CE, so you
   will not be able to alter these values since they are restored to
   their original values upon completion of the command.


 POKE          type:*Warning*

  syntax: POKE [location] [value]

   e.g. : POKE 53 0
          POKE 2C5 80CC

      ** Warning! this command makes no checks on location (other than
   relegating all pokes to the main bank of memory), use with caution,
   as you can quickly crash your computer thru a misplaced poke. Make no
   attempt to poke $D301 with any value as this WILL crash your
   computer! **

      This command (like peek) uses hexadecimal values from 1 to 4
   digits as input. no results are output. The Poke command will also
   poke a word (or 2 byte) value into memory with the location (the
   first param) being the LSB of the word being poked. Also note that
   your poked value is entered in MSB/LSB format.


 PURGE         type: memory safe

  syntax: PURGE [Dn:][Dirpath>]

   e.g. : PURGE
          PURGE D3:
          PURGE OLDFILES>

      This function will allow you to delete files in the specified
   directory which are not grouped logically. For example, if all the
   files you wish to delete have the same extender, you could type
   "erase *.M65" and your set! But what if the files are not so
   conveniently grouped? thats where Purge comes in. Purge will scan the
   spec'ed directory (the default if none is specified), and report each
   filename found. It will then ask if you want to delete the file. You
   must respond with a "y" or "n" (caps or lowercase), any other key
   will be ignored, EXCEPT for escape,control-3, or break, which will
   abort the purge operation. Purge will NOT delete locked files. it
   will simply display them and skip to the next file.


 READ          type:memory safe

  syntax: READ [Dn:path>]filename.ext [/A,F,T]

   e.g. :READ NEWFIL.TXT
         READ ASCII.TXT /A
         READ D4:>DATA>FILEX.BIN /F
         READ *.*

      This command will allow you to view or "read" the contents of the
   specified file in a paged format. When the screen fills READ will
   prompt you with a "<---(more)--->" prompt, at which point you may
   simply hit any key to continue reading the file, or, you may hit
   Break, Escape or Control-3 to abort the file "read" operation.

      Some notes about read: Although READ was primarily designed as a
   text file reader, it will view the contents of any file, (binary,
   saved basic etc.). With this in mind there a few things which read
   will do which aren't immediately apparent. Firstly, Read will attempt
   to identify the file, if it can not, it assumes it is a text file and
   enables all screen control codes. Secondly read will enable word wrap
   for text files only. (these would fall under the "text/other" files
   under the WHAT command). If read identifies the file as something
   other than a text file it will disable the screen control codes, and
   word wrap and simply display the file in a paged format, (printing
   ALL characters in the file including screen formatting char's).

      Params:  Read supports 3 parameters which may be used only 1 at a
   time. they are as follows.. "/A" use this param to convert ASCII text
   files to a readable format (e.g. atascii for this reader), this param
   also forces the text mode of the read function. "/F" use this to
   (F)orce an unformatted (or binary type) read of the file. "/T" use
   this to force a file read in the text mode.(this is handy for some
   pre-formatted text files which may "fool" the identify file
   functions).

            READING multiple files. (an AUTOfile function)

         ** See the "SET" command's  "SET AUTO" description **
          ** for more info on using the autofile function. **


      If the Wedge's AUTOfile function is set to on, (the default on
   wedge init) You may optionally read more than one file by using
   wildcards in the filespec. In this case read will print an additional
   prompt. Namely the current file it has open for a read, plus a query.
   Hitting the Escape key at any prompt in the multifile read will cause
   READ to skip to the next file (if there is one), whereas a break or
   control-3 keypress will abort the operation as before. Options
   selected (the /A,/T,/F ) are global in a multi file read, all
   subsequently displayed files will be affected by the chosen option.


 RENDIR        type: memory safe

  syntax: RENDIR [Dn:][path>]oldname newname

   e.g. : RENDIR TEST CURRENT
          RENDIR ASM>ACTION OTHER
          RENDIR <CURRENT TEMP.TXT
          RENDIR D4:TERM>DL1 OLDBUFF

      This function will allow to rename your sub directories, with one
   restriction. You MUST type the entire source and destination
   directory names. Wildcards are not accepted. There are no other
   restrictions. You may even rename the current subdirectory from
   within the subdirectory via the "<" path spec. Note: Rendir checks
   for and does its best to convert input to dos-legal characters, if
   however rendir cannot convert the dir-names specified it will abort
   with an error message. You may use extenders if you wish.


 SET           type:memory safe

  syntax: SET [command] [option]

   e.g. : SET AUTO OFF
          SET AUTO ON
          SET PATH
          SET PATH D3:>WED_UTLS>

      This function is used to modify some of the Wedge defaults.
   Namely, controlling the status of the AUTOfile function, and the
   default directory of all calls for a Wedge Disk Accessory. SET
   currently supports 2 commands "AUTO" for the AUTOfile function, and
   "PATH" for the default path the Wedge will use to call its "Wda's".
   Thus I've broken this description into two parts.

         Using "SET AUTO"..(controlling the AUTOfile function)

      The AUTOfile function is active only in the READ, WHAT, and VIEW
   commands. What it does is this. It checks for any wildcards spec'd in
   the filename parameter. If found the Wedge will enter a multi-file
   mode, where the Wedge will allow you to  operate on ALL files of a
   matching filespec. If the Wedge finds a file with a matching
   filespec, it reports the file currently open for an operation. You
   can, from there, hit any key to continue, hit escape to skip to the
   next file (if there is one). Or, hit break or control-3 to kill the
   operation. This feature is also valid at any "more" prompt printed
   during this process as well.

      Like any feature of this sort, there are times when its nicer NOT
   to have multifile mode. The "AUTO" command allows you to toggle the
   autofile feature on and off. Simply use the set command as in the
   first two examples above.

          Using "SET PATH".. setting a default WDA directory.

      The set path command is used to control the default directory
   where the Wedge will look to load in a wedge disk accessory. You can
   use the set path command to either specify a new default
   directory path, or by using it as in the third example above, to
   clear the currently set default accessory pathname. Directories are
   tested for validity. The resident status of a currently loaded disk
   accessory is invalidated by the use of this command. This means you
   can no longer re-run the resident program by using WDA, you must
   re-load it. See the last two examples above.

       ** See the section entitled "Wedge Disk Accessories". **


 VIEW          type:memory safe

  syntax: VIEW [Dn:path>]filename.ext [/P]

   e.g. :VIEW TEST.ALF
         VIEW D3:>DATA>NEW.ARC /P


      This will allow you to "see" the contents of an Arced or Alfed
   file. The entries are displayed in the following manner.. filename,
   compression type, compressed file size (in bytes) and uncompressed
   file size (also in bytes). note that "stored" files don't have an
   uncompressed filesize. In this case "n/a" will appear in that column.
   Note: You may specify any valid Dn: and/or dirpath in your filespec.
   Also, should you attempt to view a file other than an Arc/Alf file
   you will be informed of an error and the file type (if identifiable)
   will be displayed. Also: this viewer will only work with arc-files of
   16meg or smaller, there is no maximum to the number of viewable
   entries in an arc-file. Viewing files on an ataridos formatted disk
   as opposed to a SpartaDOS formatted disk will result in a marked 
   reduction in the speed of the display.

      Params: The "/P" parameter will pause the screen display after
   view has displayed 22 rows of data, you will be prompted with a more
   prompt. At this point you may abort the display via a Break, Escape
   or control-3 key press. Any other key press will continue the
   display.

            VIEWING multiple files. (an AUTOfile function)

         ** See the "SET" command's  "SET AUTO" description **
          ** for more info on using the autofile function. **


      Again, if the Wedge's AUTOfile function is set to on. You may
   optionally view more than one file by using wildcards in the
   filespec. In this case view will print an additional prompt. Namely
   the current file it has open to view, plus a query. Hitting the
   Escape key at any prompt in the multifile view will cause VIEW to
   skip to the next file (if there is one), whereas a break or control-3
   keypress will abort the operation as before. Options selected (the
   /P) are global in a multi file view, all subsequently displayed files
   will be affected by the chosen option.


 WDA           type:memory safe

  syntax: WDA [Dn:path>][filename] [file-specific params]

   e.g. : WDA
          WDA CALC
          WDA D3:>TEST>HELP
          WDA BMENU D2:>BATFILE>

      This command is the function that allows you to run specialized
   external programs, from within the Wedge environment. This is similar
   to running "external" commands in sparta, but with a few added
   benefits, the foremost being, no memory in the main bank is
   disturbed. To accomplish this, the files are in a special format and
   use a special extender of ".WDG" in their filename. These files are
   called Wedge Disk Accessories, or Wda's for short.

      This command can be used in two ways. In the first example, to
   call an already resident accessory. Or, as in the second example, to
   call a new Wda. Notice you specify the Wda to call by typing its name
   ONLY, no period or extender. These files have an extender of ".WDG".
   Wda's may be called from either the default directory, a supplied
   directory, (as in the third example), or by a default drive/path
   name. You can specify a default pathname by using the "SET PATH"
   command. Further, note that if you spec a pathname before the WDA
   name, that any previously set path will be overridden just for that
   call. The default directory is used if there is no default path or
   supplied pathname. Usage of the "SET PATH" command terminates the
   resident status of a Wda. The last example shows how a disk accessory
   could possibly use the command line to pass information as well.
   NOTE: this is an example only. A disk accessory should document any
   use of the command line in its own instructions.

       ** See the section entitled "Wedge Disk Accessories". **

         ** See the "SET" command's  "SET PATH" description **
          ** for more info on defining a default Wda path. **




 WHAT          type:memory safe

  syntax: WHAT [Dn:path>]filename.ext

   e.g. : WHAT TESTFILE.ARC
          WHAT D3:TEST.DSK
          WHAT >SUB>THIS.*

      This command will identify the filetype of the named file. WHAT
   currently can identify 11 types of files. Arc, Alf, Binary, Discomm,
   Saved BASIC, Extended BXE, Sparta SCOPY, Saved Mac/65, SpartaDOS X
   command, Wedge Disk Accessory, and all other files are classified as
   text/other files. Note:  any dos-legal filename, and/or dirpath will
   be accepted.

           Accessing multiple files. (an AUTOfile function)

         ** See the "SET" command's  "SET AUTO" description **
          ** for more info on using the autofile function. **


      If the AUTOfile function is set to on, You may optionally identify
   more than one file by using wildcards in the filespec. In this case
   "what" will display a prompt. Namely the current file it has open for
   an I.D. plus a query. Hitting the Escape key at the prompt in the
   multifile operation will cause WHAT to skip to the next file (if
   there is one), whereas a break or control-3 keypress will abort the
   operation.

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

                     *** MIO-Specific commands ***

      The following four commands are only enabled if the wedge finds an
   MIO on-line. Non Mio users will not have access to these functions.
   Any calls made to unrecognized (or unusable) commands are treated as
   a standard sparta com-file call. No action is taken and the command
   is passed to Sparta.

........................................................................


 DSWAP         type: memory safe

  syntax:DSWAP /xx[S] [[dn:path>] [filename][ext]]

   e.g. :DSWAP /13
        :DSWAP /23S
        :DSWAP /74S BATFILE
        :DSWAP /56 D1:>ASM>MLPREP.BAT

   This command is functionally identical to version 5.0 Dswap. For
   those unfamiliar with that version. Dswap will allow you to swap
   assigned drives on the MIO from the dos command line, (or from a
   batch file), without going to the MIO menu and manually exchanging
   the assigned drives. To swap the mio drive assigns simply type the
   two drive numbers preceded by a slash, (e.g. "/13").

      Optional parameters: The "S" parameter will restore the current
   directories on the swapped drives. Type in the "S" parameter
   immediately following the drive numbers. (e.g. "DSWAP /13S"). Note
   that there is no space separating the "S" parameter and the drive
   numbers. **Please note:** when using the "S" parameter BOTH drives
   MUST be on-line (and active), or Dswap will error and the operation
   will abort.

      The final parameter is to specify a batchfile to be run upon
   termination of the dswap process. This is particularly handy when
   using dswap from an executing batchfile on a "swapped" drive. Since
   once the drives are switched, the batchfile can no longer be "seen"
   by SpartaDOS. Hence the ability to "chain" a batchfile directly from
   Dswap. Please note: Spec'ed Dx:'s in the chain bat filespec are
   relative AFTER the swap operation. An extender is not necessary if
   the file has a ".BAT" extender.


 LFT           type: memory safe

  syntax: LFT [option]

   e.g. : LFT
          LFT ON
          LFT OFF

      This command will allow you to check or set the linefeed status of
   your MIO. Lft with no parameter displays the current status of
   linefeeds. Use lft ON or OFF to change the linefeed setting.


 MIO           type:*Warning*

  syntax: MIO

   e.g. : n/a

      ** Warning! due to the nature of this command and the manner in
   which the MIO menu functions, main memory (from $3000 to $5000
   approx.) will be overwritten. **

      This command will allow Multi I/O users to access the mio menu
   directly. The advantage to this being, this method of entry will not
   cause a reboot if you have a cartridge installed, so any lomem
   handlers you may have installed will remain intact.




 MLOCK         type: memory safe

  syntax:MLOCK [-,+][#,@]

   e.g. :MLOCK
        :MLOCK +3
        :MLOCK -3
        :MLOCK +@ <--(shifted 8)

      This command will allow you to optionally lock, unlock, or view the
   current lock status of all the assigned drive spaces on the MIO.
   Firstly, be aware that there only 2 types of "legal" devices that can
   be locked via the MIO menu (or MLOCK), they are hard drives and Mio
   ramdisks, you can NOT lock a re-assigned floppy drive with this
   command, Nor can you lock an empty (or un-assigned) drive slot.

      Usage: use the "+"(plus) char to specify a lock operation and a
   "-" (minus) char to specify an unlock operation. Follow these
   "control" characters immediately with the number (1 thru 8) of the
   drive to operate on. Mlock will report the status of the operation
   upon completion (e.g. drive type, Dn:, locked/unlocked). If the drive
   is NOT a legal device, Mlock will abort and report an error. Should
   you desire to lock ALL the legal Mio devices, rather than specifying
   "mlock +1,mlock +2,mlock +3 etc." simply use a shifted 8 "@" in place
   of the drive number. Depending on the control operator (+/-) this
   will lock/unlock ALL legal mio devices. You may view the locked
   status of all 8 mio drives by simply typing "MLOCK" with no
   parameters.

   ....................................................................

                      "Just a few more things"...

      Although not a command, another function of the Wedge is to check
   all "COPY" commands to see if there is a destination parameter. If
   there is no destination found the Wedge will trap that command and
   report an unspecified destination, not allowing the copy to take
   place. Also the "?DIR" function has been replaced, I've found that if
   you happen to use this command when you are past a certain level of
   subdirectories (usually when you MOST need it!), that it will
   overwrite the routines under the OS. So I've supplied my own "?DIR"
   routine with a larger output buffer.

-----------------------------------------------------------------------

                    *** Wedge Disk Accessories ***

      New for the Wedge (in this release), is the ability to call
   external programs, and run them from banked memory, preserving main
   memory. These programs could conceivably perform a variety of
   functions, from a simple calculator to a text editor, to ... who
   knows? This feature will increase the wedge's functionality, since it
   will allow a variety of user specific functions to be performed
   without committing me to writing them, and directly incorporating
   them into the wedge program. These files have their own format so you
   cant just use a simple binary file as a Wda. Sorry for this, but the
   load and run process is a bit complex, so there are certain rules a
   file must conform to in order to be run from the wedge (unarc the
   technical info file for Wda's "WDA_TECH.ARC"). I'm hoping to see
   some interesting user-written Wda's in the future!

=======================================================================


                    System errors under the Wedge.


      From time to time you may encounter an error situation while using
   the extended commands of the Wedge. This is not a problem since, like
   the dos the wedge has some very good error protection built in. You
   will be able to recognize an error encountered by the wedge, as it is
   reported in a number fashion. "Error -- #xxx" So should you encounter
   this situation.. Remember, your dos STILL has it's verbal error
   messages, its just that the Wedge does not.



                       Tips on using the Wedge..


      All Wedge commands can be entered in upper and lowercase,
   including the hex numbers used in the peek, poke, and hex
   commands.(Remember Sparta STILL requires a capital letter for a
   device name!). The Wedge has been extensively tested on both a stock
   130xe and a 320k xe. It has been designed to be both as powerful AND
   benign to current system usage as possible. The Wedge has constantly
   been resident in my system during its development, and has proven to
   be a very useful utility (albeit somewhat habit forming). It also
   Works under text editors (like Textpro 3.2r), providing they don't use
   extended memory. Another application where the Wedge really shines is
   under Bobterm v1.10 with the CLI installed. (imagine being able to
   find a file, view an arc/alf file or read a text file all while
   on-line).

      Should you have a .COM file of the same name as a command you can
   either rename the file, or, you will have to type the ".COM" extender
   of the file. If you do not the Wedge will steal that command. This
   applies to DOS as well as the Wedge's commands. (note another solution
   would be to prefix the filename with a dirpath as well.) There were
   other approaches to this, however in order to maintain the COPY parse
   and to be able to relocate the cursor over a previously typed line,
   having it execute. This method of command parsing was chosen.

      One further note. The output from the wedge's commands cannot
   (currently) be re-directed via the "PRINT" command. The i/o
   redirection has proven to be a difficult proposition to say the
   least, further I've found the "print to diskfile" option of the print
   command to be at best "buggy" even in unmodified Sparta dos.


                           Technical notes.

      The wedge initially loads in at $3000 and uses much of the main
   bank for its load process (up to $9B00), the final routine relocates
   to lo-memory, initializes the code in extended ram, and resets
   dosini, memlo, and vxcomli. The Wedge uses the E:ditor via the put
   vectors in iocb #0 and channels 1 thru 3 to do its I/O. The bulk of
   the commands are not memory destructive. Since preserving main bank
   memory was a major consideration. Please note: that there are some
   programs that will simply NOT work under the wedge. Mainly programs
   that occupy the extended (xe compatibility) banks of memory, or
   programs that keep their screen aria below $8000.


                            More to come??

      Whats in the works for the Wedge? who knows.. Perhaps a few WDA's,
   or something that flicks my switch. Along with the usual maintenance
   stuff. If anyone is interested in coding a Wedge Disk Accessory, or
   has a nice m/l program of 16k or less in size that they would like to
   see work with the Wedge. Unarc the included file "WDA_TECH.ARC" for
   an outline of the requirements for coding a WDA, as well as the
   necessary conversion utility. See the end of this text for info on
   contacting me regarding any difficulties you may have, or, for the
   latest updates to info and conversion utilities.


                           ** disclaimer **

      This program is provided to the user on an "as-is" basis with NO
   promise of suitability for a specific purpose, Further, the Author
   will NOT be responsible for ANY damages caused either directly or
   indirectly thru the use of this program.


                            Caveat and etc.

      As usual (particularly in this version), I'm sure I've missed
   some facet or detail of this program. Please bear in mind, it is
   difficult to cover every base in an environment such as SpartaDOS and
   the Wedge itself. Should you encounter any bugs, have any suggestions
   or questions concerning the Wedge, Feel free to contact me on GEnie,
   my user id. is E.BACHMAN. Or on my support board. The Atari Computer 
   Users Technical Exchange. (A.C.U.T.E. BBS. for short) at 215-261-0620
   (300-2400 baud, 24 hrs), leave feedback to the co-sys. Regarding bug 
   reports, please include a complete system description and report of 
   the problem, thank you.

      This and subsequent versions of the Wedge are shareware. Please
   feel free to distribute the Wedge, (*** PLEASE do NOT distribute the
   Wedge in any other form than in this arc file, or on a disk, with all
   the support files and documentation intact! ***). If you find this
   utility useful to you, tell your friends, tell your neighbors dog,
   tell me, and maybe even consider sending a donation, and help to
   encourage further work on programs and utilities for the Atari 8-bit.

                              Thank you!

                     Send your correspondence to..

                              Ed Bachman
                            417 Hanover St.
                          Bethlehem Pa. 18018

      Please feel free to include any suggestions or ideas you may be
   interested in seeing in future versions of the "Wedge".

                           Happy Computing!!

                              Ed Bachman.
