home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / BEEHIVE / OS / CONIX2.LBR / CHAPTER8.DQC / CHAPTER8.DOC
Text File  |  2000-06-30  |  81KB  |  2,707 lines

  1.  
  2.  
  3.  
  4.  
  5.                Chapter 8 - Utility Commands
  6.  
  7.  
  8.     Description of the ConIX internal utility commands, available  for
  9.     use on the command line.
  10.  
  11.  
  12.                    - CONTENTS -
  13.     __________________________________________________________________
  14.  
  15.  
  16.       8.  Utility Commands......................................   8-1
  17.  
  18.         8.1      = (Equals): Set Disk Variables....................   8-1
  19.  
  20.         8.2      ATRIB: Get/Set File Attributes....................   8-2
  21.  
  22.         8.3      BDEC:    Convert    Binary to Decimal...................   8-3
  23.  
  24.         8.4      BOT: Print Bottom Address of ConIX................   8-3
  25.  
  26.         8.5      BTOP:    Print BDOS Top Address......................   8-4
  27.  
  28.         8.6      BYE: Exit to CP/M.................................   8-4
  29.  
  30.         8.7      CHR: Convert ASCII to    Hex.........................   8-4
  31.  
  32.         8.8      CLS: Output Clear Screen Sequence.................   8-4
  33.  
  34.         8.9      COPY:    Copy a Disk File............................   8-5
  35.  
  36.         8.10  DECB:    Convert    Decimal    to Binary...................   8-5
  37.  
  38.         8.11  DEL: Delete Files with Confirmation...............   8-6
  39.  
  40.         8.12  DIR: List Directory...............................   8-6
  41.  
  42.         8.13  ECHO:    Print Arguments.............................   8-8
  43.  
  44.         8.14  ERA: Erase Files..................................   8-9
  45.  
  46.         8.15  EXAM:    Examine    Memory..............................   8-9
  47.  
  48.         8.16  EXEC:    Execute    Arguments...........................   8-9
  49.  
  50.         8.17  FILL:    Fill Memory with a Constant.................  8-10
  51.  
  52.         8.18  FIND:    Find File in Search Path....................  8-10
  53.  
  54.         8.19  FLUSH: Empty the Print Spooler....................  8-11
  55.  
  56.         8.20  HXPR:    Convert    Hex to ASCII........................  8-11
  57.  
  58.         8.21  IN: Input Data From a    Port........................  8-11
  59.  
  60.  
  61.  
  62.                       -    i -
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.         8.22  INDEX: Find String................................  8-11
  71.  
  72.         8.23  LOG: Log-In a    Drive...............................  8-12
  73.  
  74.         8.24  MOVE:    Copy Memory.................................  8-13
  75.  
  76.         8.25  OPT: Enter ConIX Options..........................  8-13
  77.  
  78.           8.25.1   +/-AF: Set Archive File Location.............  8-14
  79.  
  80.           8.25.2   +/-BC: Set Boot Command......................  8-15
  81.  
  82.           8.25.3   +BP: Set    Bell in    Prompt......................  8-15
  83.  
  84.           8.25.4   -BP: Remove Bell    in Prompt...................  8-15
  85.  
  86.           8.25.5   +/-CD: Set Data Files Location...............  8-15
  87.  
  88.           8.25.6   +/-CS: Set Clear    String Sequence.............  8-15
  89.  
  90.           8.25.7   +/-CX: Set ConIX    Program    Location............  8-16
  91.  
  92.           8.25.8   +/-DC: Set Number of DIR    Columns.............  8-16
  93.  
  94.           8.25.9   +DL: Auto-Login on Disk Reset................  8-16
  95.  
  96.           8.25.10  -DL: No Login on    Disk Reset..................  8-17
  97.  
  98.           8.25.11  +DR: Disk Reset on Warm Boot.................  8-17
  99.  
  100.           8.25.12  -DR: No Reset on    Warm Boot...................  8-17
  101.  
  102.           8.25.13  +DW: Enable Disk    Wait Control................  8-17
  103.  
  104.           8.25.14  -DW: Disable Disk Wait Control...............  8-17
  105.  
  106.           8.25.15  +/-ER: Restore ConIX Environment.............  8-17
  107.  
  108.           8.25.16  +/-ES: Save ConIX Environment................  8-18
  109.  
  110.           8.25.17  +/-FC: Set Function Character Keys...........  8-18
  111.  
  112.           8.25.18  +/-FK: Set Function Keys    Lead-in.............  8-19
  113.  
  114.           8.25.19  +GS: Set    the GOSUB Stack.....................  8-19
  115.  
  116.           8.25.20  -GS: Restore the    GOSUB Stack.................  8-19
  117.  
  118.           8.25.21  +/-IA: Set Input    Port Address................  8-20
  119.  
  120.           8.25.22  +/-IB: Set Input    Buffer Length...............  8-20
  121.  
  122.           8.25.23  +/-IP: Set Input    Port Device.................  8-20
  123.  
  124.           8.25.24  +/-MM: Set Memory Management.................  8-21
  125.  
  126.  
  127.  
  128.                       -    ii -
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.           8.25.25  +/-OA: Set Output Port Address...............  8-21
  137.  
  138.           8.25.26  +/-OB: Set Output Buffer    Length..............  8-22
  139.  
  140.           8.25.27  +/-OP: Set Output Port Device................  8-22
  141.  
  142.           8.25.28  +PC: Enable Command Print....................  8-23
  143.  
  144.           8.25.29  -PC: Disable Command Print...................  8-23
  145.  
  146.           8.25.30  +/-PF: Set Pipe File Location................  8-23
  147.  
  148.           8.25.31  +PR: Enable Transcript Mode..................  8-23
  149.  
  150.           8.25.32  -PR: Disable Transcript Mode.................  8-24
  151.  
  152.           8.25.33  +PS: Set    Print Spooling......................  8-24
  153.  
  154.           8.25.34  -PS: Disable Print Spooling..................  8-24
  155.  
  156.           8.25.35  +SA: Enable Archive Searching................  8-25
  157.  
  158.           8.25.36  -SA: Disable Archive Searching...............  8-25
  159.  
  160.           8.25.37  +SB: Set    BDOS Address (&0006)................  8-25
  161.  
  162.           8.25.38  -SB: Reset BDOS Address......................  8-26
  163.  
  164.           8.25.39  +/-SL: Set Screen Length.....................  8-26
  165.  
  166.           8.25.40  +SO: Enable Spooler on Output................  8-26
  167.  
  168.           8.25.41  -SO: Disable Spooler on Output...............  8-26
  169.  
  170.           8.25.42  +/-SP: Set Disk Search Path..................  8-26
  171.  
  172.           8.25.43  +SS: Set    the SWITCH Stack....................  8-27
  173.  
  174.           8.25.44  -SS: Restore the    SWITCH Stack................  8-27
  175.  
  176.           8.25.45  +/-ST: Set Sleep    Time Constant...............  8-27
  177.  
  178.           8.25.46  +TA: Set    Type-Ahead Buffer...................  8-28
  179.  
  180.           8.25.47  -TA: Reset Type-Ahead Buffer.................  8-28
  181.  
  182.           8.25.48  +/-TC: Set Type-Ahead Cancel Character.......  8-28
  183.  
  184.           8.25.49  +TE: Enable Type-Ahead Echo..................  8-28
  185.  
  186.           8.25.50  -TE: Disable Type-Ahead Echo.................  8-29
  187.  
  188.           8.25.51  +TR: Enable Command Tracer...................  8-29
  189.  
  190.           8.25.52  -TR: Disable Command Tracer..................  8-29
  191.  
  192.  
  193.  
  194.                      - iii -
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.           8.25.53  +UC: Set    Upper Case Mapping..................  8-29
  203.  
  204.           8.25.54  -UC: Disable Upper Case Mapping..............  8-29
  205.  
  206.           8.25.55  +/-VF: Set Variable File    Location............  8-30
  207.  
  208.           8.25.56  +XD: Enable ExpanDisk References.............  8-30
  209.  
  210.           8.25.57  -XD: Disable ExpanDisk References............  8-30
  211.  
  212.           8.25.58  +/-XS: Set Extension Search List.............  8-30
  213.  
  214.           8.25.59  +XU: Set    Extended User Areas.................  8-30
  215.  
  216.           8.25.60  -XU: Disable Extended User Areas.............  8-31
  217.  
  218.         8.26  OUT: Output Data to a    Port........................  8-31
  219.  
  220.         8.27  READ:    Read a File into Memory.....................  8-31
  221.  
  222.         8.28  REN: Rename a    Disk File...........................  8-31
  223.  
  224.         8.29  RESET: Reset Disks................................  8-32
  225.  
  226.         8.30  SET: Set Disk    Variables...........................  8-32
  227.  
  228.         8.31  SRCH:    Search for a Byte in Memory.................  8-33
  229.  
  230.         8.32  TEXT:    Read Text with Editing......................  8-34
  231.  
  232.         8.33  TOP: Print Top Address of ConIX...................  8-34
  233.  
  234.         8.34  TYPE:    List File Contents..........................  8-35
  235.  
  236.         8.35  UDIR:    List Files Through User    Areas...............  8-35
  237.  
  238.         8.36  WP: Write Protect Disks...........................  8-35
  239.  
  240.         8.37  WRITE: Write Memory to a File.....................  8-36
  241.  
  242.         8.38  XSTAT: Print Exit Status..........................  8-36
  243.  
  244.         8.39  ZAP: Modify Memory................................  8-37
  245.  
  246.         8.40  Command Name Conflicts............................  8-37
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.                       -    iv -
  261.  
  262.  
  263.  
  264.  
  265.  
  266.     ConIX Operating    System                  Utility Commands
  267.  
  268.     8.  Utility Commands
  269.  
  270.     There are two major classifications of commands    under the ConIX
  271.     environment.  The first    is the disk-based commands, which are
  272.     executable programs stored on disk in files whose names    end with a
  273.     .COM extension.     These commands    are loaded from    disk into memory
  274.     each time they are requested on    the command line.
  275.  
  276.     The second classification is the internal commands, which are
  277.     executable programs that are resident within ConIX itself.  They
  278.     are loaded from    the main CONIX.COM file, and executed directly
  279.     from the memory    which ConIX occupies.  These built-in functions
  280.     are used for such mundane tasks    as listing, examining, erasing,
  281.     and renaming files.  Also available are    commands that allow access
  282.     to system memory.  The sections    that follow will detail    the usage
  283.     of the ConIX internal utility commands.
  284.  
  285.  
  286.     8.1  = (Equals): Set Disk Variables
  287.  
  288.         <A:00> = <variable> (value)
  289.  
  290.     The `='    or Equals command is used to set the contents of the 52
  291.     disk-based letter variables.  The variable to be set is    specified
  292.     by a single upper/lower    case letter, a-z or A-Z.  Its value may    be
  293.     supplied as the    following argument on the command line.     If no
  294.     value is given,    a line of raw (uneditable) console input will be
  295.     taken as the value.
  296.  
  297.     For example, the command line:
  298.  
  299.         <A:00> = a "hello"
  300.  
  301.     will set the variable $A to contain the    string "hello".
  302.     Similarly, the command:
  303.  
  304.         <A:00> = a
  305.         hello
  306.         <A:00>
  307.  
  308.     will also set the $A variable to the value of "hello".    The only
  309.     difference is that, in the latter case,    the value of the variable
  310.     was taken from the console input stream    instead    of the command
  311.     line.  This is most useful for setting a variable from the output
  312.     stream of a program, as:
  313.  
  314.         <A:00> dir | = a
  315.  
  316.     where $A is set    to the first line of the output    from the DIR
  317.     command.  Any control characters passed    through    the input stream
  318.     of the command will not    be stripped, but stored    as data    within the
  319.     variable.  For example,    the sequence:
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.                        8-1
  327.  
  328.  
  329.  
  330.  
  331.  
  332.     Utility    Commands                ConIX Operating System
  333.  
  334.         <A:00> = a
  335.         g<-hello
  336.         <A:00>
  337.  
  338.     where you typed    a `g' by mistake, hit backspace, then typed the
  339.     correct    string.     The $A    variable will contain the backspace
  340.     control    character (CTRL-H), since the variable is set to the raw
  341.     input from the keyboard.  The end of input is signaled by the
  342.     <RETURN> or CTRL-M character.  To input    with editing, use:
  343.  
  344.         <A:00> getl |@ = <variable>
  345.  
  346.     where the GETL command will read a line    of editable input from the
  347.     system keyboard    into the given variable.
  348.  
  349.     The contents of    all letter variables are stored    in the disk file
  350.     A:0/VARS.SET.  This file is created with its SYStem attribute set,
  351.     and will therefore not appear in a regular directory listing.  If
  352.     the file does not exist, it will be created when a variable is
  353.     set.  Each variable stored in the file is assigned a maximum space
  354.     of 255 bytes.  The directory location of the variables file is
  355.     settable via the OPT +/-VF internal command.
  356.  
  357.     Should the command line    argument be null (""), or the input
  358.     contain    only a blank line, the variable    will be    reset to contain
  359.     no value.  All letter variables    are initialized    to hold    no data
  360.     value.    If the variable    had a value and    was later reset    to null,
  361.     its entry slot is freed    from the disk variable file.  This slot
  362.     may later be occupied by the same or another variable.    Disk space
  363.     is not freed by    this action.
  364.  
  365.  
  366.     8.2  ATRIB: Get/Set File Attributes
  367.  
  368.         <A:00> atrib <#num> <#action> <filename>
  369.  
  370.     There are special attributes which may be set in the name of a
  371.     file that indicate certain things about    the way    it is stored.  For
  372.     example, the SYStem or DIRectory attribute determines whether or
  373.     not the    file will be printed in    a regular directory listing.
  374.     There is also the R/O (Read-Only) and R/W (Read-Write) attribute
  375.     which determines if a file may be modified.
  376.  
  377.     The ATRIB command allows you to    manipulate these file attributes.
  378.     The num    argument refers    to the particular attribute bit, a number
  379.     which may range    from 0-11.  Each attribute number corresponds the
  380.     setting    of the high-bit    of one of the twelve possible characters
  381.     in a filename.
  382.  
  383.     The action argument determines the action that is to take place    on
  384.     the specified attribute.  If action is 0, the attribute    is reset
  385.     to zero    (the hi-bit turned off).  If action is 1, the attribute
  386.     bit will be activated.    If action is 2,    the current setting of the
  387.     attribute will be listed.  The filename    argument specifies the
  388.     file that is to    be affected by this action.
  389.  
  390.  
  391.  
  392.                        8-2
  393.  
  394.  
  395.  
  396.  
  397.  
  398.     ConIX Operating    System                  Utility Commands
  399.  
  400.     Although 12 attributes are available, only two are actually pre-
  401.     assigned certain meanings.  They are:
  402.  
  403.          tab(@); lw(.5i)0 l    l.  #9@0 = R/W@1 = R/O #10@0 = DIR@1 = SYS
  404.  
  405.     The others are available for your own purposes.
  406.  
  407.     To illustrate, let's say you wanted to find if a file has its SYS
  408.     attribute set.    You may    type:
  409.  
  410.         <A:00> atrib 10    2 foo.asm
  411.         0
  412.         <A:00>
  413.  
  414.     which prints the setting of the    tenth attribute    bit of the file
  415.     FOO.ASM.  In this case it is zero, indicating that the file is
  416.     DIR.
  417.  
  418.     You may    now decide to change it    to SYS,    as:
  419.  
  420.         <A:00> atrib 10    1 foo.asm
  421.  
  422.     which sets the tenth attribute to an ``on'' value, thus    making the
  423.     file SYS.  Examining this attribute would now show:
  424.  
  425.         <A:00> atrib 10    2 foo.asm
  426.         1
  427.         <A:00>
  428.  
  429.     where the `1' indicates    that the attribute bit is set.
  430.  
  431.  
  432.     8.3  BDEC: Convert Binary to Decimal
  433.  
  434.         <A:00> bdec (&num)
  435.  
  436.     BDEC will convert the 16-bit hexadecimal number, num, given as its
  437.     argument into its decimal equivalent.  For example:
  438.  
  439.         <A:00> bdec ffff
  440.         65535
  441.         <A:00>
  442.  
  443.     where FFFF hex is equal    to 65535 decimal.
  444.  
  445.  
  446.     8.4  BOT: Print    Bottom Address of ConIX
  447.  
  448.         <A:00> bot
  449.  
  450.     The BOT    internal command prints    the bottom or ending address of
  451.     ConIX in memory.  This address references the first byte after the
  452.     last memory location occupied by ConIX.     Memory    between    this
  453.     address    and the    start of the BDOS (as reported by the BTOP
  454.     command) is not    used by    any system or application software, and    is
  455.  
  456.  
  457.  
  458.                        8-3
  459.  
  460.  
  461.  
  462.  
  463.  
  464.     Utility    Commands                ConIX Operating System
  465.  
  466.     available for private data storage.  Note that this area may be
  467.     lengthened by specifying a lower relocation address at INSTALL
  468.     time.
  469.  
  470.  
  471.     8.5  BTOP: Print BDOS Top Address
  472.  
  473.         <A:00> btop
  474.  
  475.     BTOP is    used to    determine the top or starting address of the CP/M
  476.     BDOS in    memory.     This address points to    the first byte of the JMP
  477.     instruction into the original CP/M syscall decoder.
  478.  
  479.  
  480.     8.6  BYE: Exit to CP/M
  481.  
  482.         <A:00> bye
  483.  
  484.     The BYE    command    will terminate the execution of    ConIX, and return
  485.     control    to the resident    CP/M CCP.  This    command, in effect,
  486.     performs a BIOS    warm boot operation, which causes CP/M and the CCP
  487.     to be reloaded from the    system tracks of the A:    disk, and then
  488.     executed.  Of course, be sure that the disk in A: contains a CP/M
  489.     system image before executing BYE.
  490.  
  491.  
  492.     8.7  CHR: Convert ASCII    to Hex
  493.  
  494.         <A:00> chr (string)
  495.  
  496.     CHR will convert and print the hexadecimal equivalent of the ASCII
  497.     character string given as its first argument.  For example, the
  498.     command:
  499.  
  500.         <A:00> chr "hello"
  501.         68 65 6C 6C 6F
  502.         <A:00>
  503.  
  504.     where `h' was converted    to 68 hex, `e' to 65, etc.
  505.  
  506.  
  507.     8.8  CLS: Output Clear Screen Sequence
  508.  
  509.         <A:00> cls
  510.  
  511.     CLS will output    the contents of    the clear screen sequence, as set
  512.     by the OPT +/-CS internal command.  This feature was chosen so as
  513.     to provide portability between systems that use    different
  514.     character sequences to clear the terminal screen.
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.                        8-4
  525.  
  526.  
  527.  
  528.  
  529.  
  530.     ConIX Operating    System                  Utility Commands
  531.  
  532.     8.9  COPY: Copy    a Disk File
  533.  
  534.         <A:00> copy <dest>=<source>
  535.  
  536.     This command will copy the contents of the disk    file source to the
  537.     file dest.  For    example:
  538.  
  539.         <A:00> copy foo.sav=foo.asm
  540.  
  541.     will make a copy of the    file FOO.ASM in    FOO.SAV.  The destination
  542.     file must be non-existent, or else an error message will be
  543.     printed    and the    copy function will be aborted.
  544.  
  545.     Additionally, you may copy from    a source file that is stored in    a
  546.     different disk or user area, as:
  547.  
  548.         <A:00> copy foo.sav=b:10/foo.asm
  549.  
  550.     where the source file resides on B:10/ and the copy will be made
  551.     in the current default directory.  If the copy is also to reside
  552.     in a different directory, specify the disk and/or user area as:
  553.  
  554.         <A:00> copy b:10/foo.sav=b:10/foo.asm
  555.  
  556.     where the copy will be made in B:10/, the same directory that
  557.     contains the source file.
  558.  
  559.     If the filename    and extension specification in dest is not
  560.     supplied, the source filename will be assumed, as:
  561.  
  562.         <A:00> copy a:=b:foo.asm
  563.  
  564.     where a    copy of    B:0/FOO.ASM is made in A:0/.
  565.  
  566.     Note that the COPY command uses    TPA memory from    location 100 until
  567.     the top    of ConIX (if necessary)    to buffer the read/writes.
  568.     Programs or data residing in the TPA may be overwritten    by this
  569.     function.
  570.  
  571.     Note that COPY strips the R/O (read-only) attribute bit    when
  572.     creating the destination file.
  573.  
  574.  
  575.     8.10  DECB: Convert Decimal to Binary
  576.  
  577.         <A:00> decb (#num)
  578.  
  579.     DECB will convert the decimal number, num, given as its    argument,
  580.     into its 16-bit    hexadecimal equivalent.     For example:
  581.  
  582.         <A:00> decb 65535
  583.         FFFF
  584.         <A:00>
  585.  
  586.  
  587.  
  588.  
  589.  
  590.                        8-5
  591.  
  592.  
  593.  
  594.  
  595.  
  596.     Utility    Commands                ConIX Operating System
  597.  
  598.     where 65535 decimal is equal to    FFFF hex.
  599.  
  600.  
  601.     8.11  DEL: Delete Files    with Confirmation
  602.  
  603.         <A:00> del <file(s)>
  604.  
  605.     The DEL    command    is used    for deleting disk files    with user-
  606.     interactive questioning.  For each file    that is    specified or
  607.     matched, the user is asked to confirm whether or not the file is
  608.     to be deleted.    Respond    with a `y' to erase the    file, or any other
  609.     character to leave it on disk.    These responses    are read in
  610.     ``raw''    mode as    single characters, therefore no    carriage return    is
  611.     necessary after    your response.    Any combination    of filenames or
  612.     patterns (using    the `*'    and `?'    characters) may    be specified as
  613.     arguments to DEL.  For example:
  614.  
  615.         <A:00> del foo.asm 10/*.com
  616.         A:00/FOO.ASM (y/n) ? y
  617.         A:10/FOO.COM (y/n) ? n
  618.         A:10/BAR.COM (y/n) ? <RETURN>
  619.         <A:00>
  620.  
  621.     where only the first file, FOO.ASM, was    deleted    since the user
  622.     responded with a `y' affirmative.  Note    that the command:
  623.  
  624.         <A:00> del *.*
  625.  
  626.     is quite powerful, although not    dangerous at all, since    you are
  627.     given the ability to selectively delete    the matched files.  It is
  628.     recommended if you have    a disk with many files to clean    up, and    do
  629.     not want to specify each one on    the command line.
  630.  
  631.  
  632.     8.12  DIR: List    Directory
  633.  
  634.         <A:00> dir (file(s))
  635.  
  636.     The DIR    command    is used    to list    the files stored in the    disk
  637.     directory.  Any    combination of filenames or patterns (using the
  638.     `?' and    `*' characters)    may be specified as arguments to DIR.  For
  639.     example:
  640.  
  641.         <A:00> dir foo.asm *.com
  642.         A:00  FOO      ASM
  643.         A:00  FOO      COM  :  BAR    COM
  644.         <A:00>
  645.  
  646.     where the requested file and any files matching    the given pattern
  647.     were listed.  If no file arguments are specified, the current disk
  648.     directory will be listed, as:
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.                        8-6
  657.  
  658.  
  659.  
  660.  
  661.  
  662.     ConIX Operating    System                  Utility Commands
  663.  
  664.         <A:00> dir
  665.         A:00  FOO      ASM  :  FOO    COM  :    BAR     COM
  666.         <A:00>
  667.  
  668.     If only    a disk and/or user area    is specified, the entire directory
  669.     of that    disk and user area will    be listed, as in:
  670.  
  671.         <A:00> dir b: 10/
  672.         B:00  FOOBAR   ASM
  673.         A:10  FOOSAV   ASM  :  BARSAV    ASM
  674.         <A:00>
  675.  
  676.     Note that the extra white space    before and after the listed
  677.     filenames is used to indicate whether a    file has its SYStem
  678.     (invisible) or R/O (read-only) attributes set.    If the file is
  679.     stored with its    invisible attribute set, it can    only be    listed by
  680.     specifying a pattern or    its exact filename, and    its name will be
  681.     enclosed in parenthesis    to indicate the    setting    of this    attribute.
  682.     A file which is    stored with its    read-only attribute set    will be
  683.     listed with an asterisk    to the right of    its name.
  684.  
  685.     For example, let's say the directory of    A:01 contained the
  686.     following files:  TEST.ASM - Read Only,    TEST.HEX - System, and
  687.     TEST.COM - Read    Only and System.  The command:
  688.  
  689.         <A:00> dir 1/
  690.         A:01  TEST     ASM *
  691.         <A:00>
  692.  
  693.     lists only one file, TEST.ASM, which is    read-only.  The    other two
  694.     files are not listed because they have the invisible attribute
  695.     set.  We can, therefore, define    ``invisible'' as meaning that the
  696.     file will not be printed in a regular directory    listing.  This
  697.     feature    can be defeated    by typing:
  698.  
  699.         <A:00> dir 1/*.*
  700.         A:01  TEST    ASM *: (TEST    HEX) : (TEST    COM)*
  701.         <A:00>
  702.  
  703.     which lists all    the files in the directory, including the
  704.     invisible ones.     The total number of all files listed is stored    in
  705.     the $$0    hex variable, which is accessible as:
  706.  
  707.         <A:00> bdec $$0
  708.         3
  709.         <A:00>
  710.  
  711.     which, after the previous example, would be 3, since that many
  712.     files were listed.
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.                        8-7
  723.  
  724.  
  725.  
  726.  
  727.  
  728.     Utility    Commands                ConIX Operating System
  729.  
  730.     8.13  ECHO: Print Arguments
  731.  
  732.         <A:00> echo (arg(s)) (\>#column) . . .
  733.  
  734.     The simplest form of the ECHO command occurs when it is    used to
  735.     display    its arguments on the console screen, as:
  736.  
  737.         <A:00> echo hello world!
  738.         HELLO WORLD!
  739.         <A:00>
  740.  
  741.     where the two arguments    HELLO and WORLD!  were output to the
  742.     console    screen.
  743.  
  744.     ECHO also contains a special formatting    instruction which may be
  745.     used to    generate columnar output.  For example:
  746.  
  747.         <A:00> echo  1 \>5  2  \>10  3    \>15  4
  748.         1      2      3         4
  749.         <A:00>
  750.  
  751.     where ``\>5'' indicates    a tab to column    5, ``\>10'' to column 10,
  752.     etc.  If the actual column number is greater than the one
  753.     requested, no tab will take place.  The    tabified format    is
  754.     achieved through the output of the appropriate number of space
  755.     characters.
  756.  
  757.     ECHO terminates    each line of output with a CR/LF sequence.  If
  758.     this is    not desired, simply place two backslashes after    the last
  759.     character in the last argument,    as:
  760.  
  761.         <A:00> echo hello\\; echo \ there!
  762.         HELLO THERE!
  763.         <A:00>
  764.  
  765.     where the first    ECHO didn't terminate the output line with a CR/LF
  766.     so that    the second could continue from that point.  This is most
  767.     useful for prompting for user input within Command Language
  768.     programs.
  769.  
  770.     ECHO is    also useful for    outputting strings to memory or    system
  771.     devices.  For example, to feed a sheet of paper    out of your
  772.     printer, you can use:
  773.  
  774.         <A:00> echo ^l\\ > :lst
  775.  
  776.     which will send    a form-feed (CTRL-L) character to the system
  777.     printer    device.
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.                        8-8
  789.  
  790.  
  791.  
  792.  
  793.  
  794.     ConIX Operating    System                  Utility Commands
  795.  
  796.     8.14  ERA: Erase Files
  797.  
  798.         <A:00> era <file(s)>
  799.  
  800.     The ERA    command    is used    to erase files stored in the disk
  801.     directory.  Each file which is specified or matched by a pattern
  802.     (using the `?' and `*' characters) will    be removed without
  803.     confirmation, as in:
  804.  
  805.         <A:00> era foo.asm 10/*.com
  806.         <A:00>
  807.  
  808.     Only error messages are    printed    after the invocation of    ERA to
  809.     indicate a bad or non-existent filename    or pattern.  A returned
  810.     prompt should be taken as an indication    that the requested files
  811.     were successfully deleted.
  812.  
  813.     Users that are left rather uncomfortable by the    silence    of ERA
  814.     should use the DEL command instead, which prompts for each
  815.     individual file    to be deleted.
  816.  
  817.  
  818.     8.15  EXAM: Examine Memory
  819.  
  820.         <A:00> exam <&start> <&end>
  821.  
  822.     EXAM is    used to    examine    the contents of    system memory.    The hex
  823.     data values in memory from the start to    end addresses will be
  824.     listed to the console screen.  The right margin    of the listing
  825.     will contain an    ASCII interpretation of    the data in memory.  If
  826.     the data at a particular memory    location is a printable    character
  827.     (20 hex    to 7E hex), it will be printed in ASCII    as that    character.
  828.     Otherwise, a `.' will be substituted in    its place.  If the hi-bit
  829.     of the character is on,    it will    be interpreted as if it    had been
  830.     off.  The value    of the first and last byte printed is saved in the
  831.     hex variables $$0 and $$1, respectively.
  832.  
  833.  
  834.     8.16  EXEC: Execute Arguments
  835.  
  836.         <A:00> exec (arg(s))
  837.  
  838.     EXEC takes its arguments and transmits them back into the input
  839.     command    line to    be re-parsed.  In effect, it's like EXEC types the
  840.     input once again for you.  It is mainly    intended for use with the
  841.     ConIX variables.
  842.  
  843.     To illustrate, let's say the variable $A contained the string:
  844.  
  845.         dir>dir.out
  846.  
  847.     which appears to be a command that would execute the DIR command
  848.     with its output    redirected into    the file DIR.OUT.  If you were to
  849.     try and    execute    the contents of    this variable as:
  850.  
  851.  
  852.  
  853.  
  854.                        8-9
  855.  
  856.  
  857.  
  858.  
  859.  
  860.     Utility    Commands                ConIX Operating System
  861.  
  862.         <A:00> $a
  863.         DIR>DIR.OUT?
  864.         <A:00>
  865.  
  866.     you'd get an error, because ConIX does not ``parse'' the
  867.     characters within the variable,    and didn't determine that output
  868.     redirection was    requested.  To get this    to function properly, use
  869.     the EXEC command, as:
  870.  
  871.         <A:00> exec $a
  872.  
  873.     which would then reparse the contents of the $A    variable as its
  874.     argument into the proper command sequence.
  875.  
  876.     If you wanted to execute $A more conveniently, you could set the
  877.     variable to contain the    EXEC command, as:
  878.  
  879.         exec dir>dir.out
  880.  
  881.     and then you could simply type:
  882.  
  883.         <A:00> $a
  884.  
  885.     to execute the command.
  886.  
  887.     Note that any arguments    to EXEC    which were specified in    double
  888.     quotes will remain in double quotes when reparsed.  Additionally,
  889.     EXEC can only reparse up to 128    characters.  Excess characters
  890.     will cause an ``overflow'' message to be printed.
  891.  
  892.  
  893.     8.17  FILL: Fill Memory    with a Constant
  894.  
  895.         <A:00> fill <&start> <&end> <&value>
  896.  
  897.     The FILL command is used to fill an area of system memory from the
  898.     start to end addresses with the    specified value.  The most common
  899.     usage is:
  900.  
  901.         <A:00> fill 100    fff 0
  902.  
  903.     which will zero    memory so you can see what a program modified in
  904.     memory after it    executes.
  905.  
  906.  
  907.     8.18  FIND: Find File in Search    Path
  908.  
  909.         <A:00> find <filename>
  910.  
  911.     The FIND command is used to locate a file in the search    path.  If
  912.     the given filename contains no disk or user area reference, a
  913.     search through the path    will be    performed.  Otherwise, FIND will
  914.     look only in the specified directory.  If the file is found, its
  915.     full disk and user specification, including the    filename itself,
  916.     will be    printed    to the screen.    Bad exit status    will be    returned
  917.  
  918.  
  919.  
  920.                        8-10
  921.  
  922.  
  923.  
  924.  
  925.  
  926.     ConIX Operating    System                  Utility Commands
  927.  
  928.     if the file cannot be found.
  929.  
  930.  
  931.     8.19  FLUSH: Empty the Print Spooler
  932.  
  933.         <A:00> flush
  934.  
  935.     The FLUSH command is used to wait until    all characters in the
  936.     spool file have    been sent to the printer.  This    is useful in
  937.     combination with the OPT -PS command, which is used to turn the
  938.     spooler    off.  Use a FLUSH beforehand to    make sure that the spooler
  939.     is not disabled    while there are    still characters in it that are
  940.     waiting    to be sent to the printer.
  941.  
  942.  
  943.     8.20  HXPR: Convert Hex    to ASCII
  944.  
  945.         <A:00> hxpr (&numlist)
  946.  
  947.     HXPR will convert the 8-bit hex    numbers    given as its arguments
  948.     into their ASCII equivalents.  These characters    will be    printed    to
  949.     the screen, as in:
  950.  
  951.         <A:00> hxpr 68 65 6C 6C    6F
  952.         hello
  953.         <A:00>
  954.  
  955.     where 68 was converted to `h', 65 to `e', and so on.
  956.  
  957.  
  958.     8.21  IN: Input    Data From a Port
  959.  
  960.         <A:00> in <&port>
  961.  
  962.     The IN command is used to read and print the value at the
  963.     specified system machine port, as in:
  964.  
  965.         <A:00> in 20
  966.         FF
  967.         <A:00>
  968.  
  969.     where FF is the    hex value read from system port    #20 hex, and is
  970.     saved in the $$0 hex variable.    Legal port numbers range from 0    to
  971.     FF, which is the standard number of ports that the 8080/Z80
  972.     processors can address.
  973.  
  974.  
  975.     8.22  INDEX: Find String
  976.  
  977.         <A:00> index <str1> (str2)
  978.  
  979.     INDEX is used to search    for the    occurrence of the string str1
  980.     within str2.  If found,    the character position of the match is
  981.     stored in $$0, and good    exit status is returned.  Otherwise, $$0
  982.     is set to zero,    and INDEX returns bad exit status.  For    example:
  983.  
  984.  
  985.  
  986.                        8-11
  987.  
  988.  
  989.  
  990.  
  991.  
  992.     Utility    Commands                ConIX Operating System
  993.  
  994.         <A:00> index hello abchellodef
  995.         <A:00> xstat
  996.         00
  997.         <A:00> bdec $$0
  998.         4
  999.         <A:00>
  1000.  
  1001.     This command sequence indicates    that the string    HELLO was found
  1002.     within the string ABCHELLODEF, starting    at the fourth character.
  1003.     Good exit status was also returned.
  1004.  
  1005.     If str2    is omitted, the    input stream is    searched for a match of
  1006.     str1.  Each line which contains    str1 within it will be printed to
  1007.     the screen.  If    a match    occurs,    $$0 will be set    to the character
  1008.     position of the    first match, and $$1 to    the last.  Bad exit status
  1009.     will be    returned if no match occurred.    For example,
  1010.  
  1011.         <A:00> index test < file.txt
  1012.  
  1013.     will list each line read from the given    input file, FILE.TXT, that
  1014.     contains the character string TEST.
  1015.  
  1016.  
  1017.     8.23  LOG: Log-In a Drive
  1018.  
  1019.         <A:00> log (drive(s))
  1020.  
  1021.     When CP/M is initially booted, all disk    drives,    except for A:,
  1022.     come up    in a ``reset state'', namely CP/M does not yet know of
  1023.     their existence.  That's why the first time you    type ``B:'' there
  1024.     is a delay while CP/M tries to figure out what kind of a drive it
  1025.     is, and    what is    stored in the directory.  This process is called
  1026.     the Disk Login,    and is used mainly to determine    the amount of free
  1027.     space that is available    for writing onto the disk.  From then on,
  1028.     every time the disk directory is accessed, CP/M    compares it to
  1029.     what the directory should be.  If they differ, then the    disk was
  1030.     probably changed, and the drive    is set to read only.
  1031.  
  1032.     The LOG    command    is used    to activate the    disk login vector.  The
  1033.     specified drives are referenced    by a single letter (A-P)
  1034.     corresponding to the drive to be logged    in.  For example:
  1035.  
  1036.         <A:00> log b
  1037.  
  1038.     will cause drive B: to be logged in.  Similarly,
  1039.  
  1040.         <A:00> log bcd
  1041.  
  1042.     will cause drive B:, C:    and D: to be activated.     If the    drive
  1043.     specification is eliminated, as:
  1044.  
  1045.         <A:00> log
  1046.  
  1047.     then all drives    appearing in the disk search path will be logged
  1048.     in.  This is especially    useful for conveniently    activating your
  1049.  
  1050.  
  1051.  
  1052.                        8-12
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.     ConIX Operating    System                  Utility Commands
  1059.  
  1060.     drives for auto    searching after    a disk reset.
  1061.  
  1062.     Note that any drives which were    already    activated will not be
  1063.     logged in again.  Any drive which is unlogged must be ready and
  1064.     on-line, since the login process requires a disk to be loaded in
  1065.     the drive.  If there is    none, the system may hang.
  1066.  
  1067.     If a question mark is given as an argument to LOG, a single letter
  1068.     corresponding to each currently    logged-in disk will be printed to
  1069.     the screen.  For example:
  1070.  
  1071.         <A:00> log ?
  1072.         AB
  1073.         <A:00>
  1074.  
  1075.     indicates that drives A: and B:    are currently activated.
  1076.  
  1077.  
  1078.     8.24  MOVE: Copy Memory
  1079.  
  1080.         <A:00> move <&start> <&end> <&new>
  1081.  
  1082.     MOVE will move or copy memory from one region to another.  The
  1083.     block to be copied is specified    by the start and end addresses.
  1084.     The location to    which it is to be copied is specified as new.  The
  1085.     amount of memory which will be changed is determined by    the size
  1086.     of the source block.
  1087.  
  1088.  
  1089.     8.25  OPT: Enter ConIX Options
  1090.  
  1091.         <A:00> opt +/-/?<option> (arg(s))
  1092.  
  1093.     The OPT    command    is the most extensive of all the internal
  1094.     utilities, allowing you    to change many default settings    within the
  1095.     ConIX system.  With this command, you can customize the    way ConIX
  1096.     will operate in    your particular    environment.
  1097.  
  1098.     The option argument is a two letter mnemonic referring to the
  1099.     specific setting you wish to change.  The option name must be
  1100.     preceded by a `+', `-',    or `?',    to indicate the    action to be
  1101.     taken.
  1102.  
  1103.     Many options have dual purposes.  The first may    be a positive
  1104.     action,    as ``yes'' to do the action, as    indicated by the `+'
  1105.     character.  The    second may be negative,    as ``not'' to do the
  1106.     action,    or to reverse its meaning, as indicated    by the `-'
  1107.     character.  The    `?' is used to query the current setting of the
  1108.     specified option.
  1109.  
  1110.     For example, the action    of the BP option is to set a bell in the
  1111.     system prompt.    It may be used as:
  1112.  
  1113.         <A:00> opt +bp
  1114.  
  1115.  
  1116.  
  1117.  
  1118.                        8-13
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.     Utility    Commands                ConIX Operating System
  1125.  
  1126.     where the `+' means, ``yes, set    the bell in the    prompt''.
  1127.     Conversely, you    could type:
  1128.  
  1129.         <A:00> opt -bp
  1130.  
  1131.     where the `-' means, ``no, do not set the bell'', which    would turn
  1132.     off the    bell if    it was on.
  1133.  
  1134.     Some options require arguments which may be given on the command
  1135.     line, immediately following the    option name.  For example, the DC
  1136.     option sets the    number of columns displayed by the DIR command,
  1137.     as:
  1138.  
  1139.         <A:00> opt +dc 4
  1140.  
  1141.     where the argument to the DC option indicates that four    columns
  1142.     are to be printed in a directory listing.
  1143.  
  1144.     To query the current setting of    an option, use the `?' specifier,
  1145.     as, for    example:
  1146.  
  1147.         <A:00> opt ?dc
  1148.         4
  1149.         <A:00>
  1150.  
  1151.     which shows the    DC option to be    set for    4 output columns.
  1152.  
  1153.     Note that, in order to save memory, there is very little error
  1154.     checking done by the OPT command.  It is assumed that the user
  1155.     will supply the    correct    arguments and values to    the selected
  1156.     option.     Be careful, as    specifying incorrect options may produce
  1157.     strange    results.  The following    sections contain usage
  1158.     descriptions of    all available options.
  1159.  
  1160.  
  1161.     8.25.1    +/-AF: Set Archive File    Location
  1162.  
  1163.         <A:00> opt +/-af (D:)(#/)
  1164.  
  1165.     Commands which are preceded by a `%' are read from the default
  1166.     archive    file, %.ARC.  By default, ConIX    will look for this file    on
  1167.     drive A, user area 0 (A:0/).  This location may    be changed by
  1168.     using the AF option, where D: is the disk code (A: - P:), and #/
  1169.     is the user area (0/ - 31/).  Either or    both of    these codes may    be
  1170.     specified in the argument string.  If any is omitted, the current
  1171.     value will be assumed.    For example:
  1172.  
  1173.         <A:00> opt +af b:
  1174.  
  1175.     changes    the default from A:0/ to B:0/.
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.                        8-14
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.     ConIX Operating    System                  Utility Commands
  1191.  
  1192.     8.25.2    +/-BC: Set Boot    Command
  1193.  
  1194.         <A:00> opt +/-bc <command>
  1195.  
  1196.     ConIX provides a special ``command boot'' feature that allows the
  1197.     user to    simply hit CTRL-B at the system    prompt and boot    up a
  1198.     predetermined program.    By default, this program is set    to
  1199.     ``MENU'', but may be changed with the BC option    to the desired
  1200.     command    string (maximum    32 characters).
  1201.  
  1202.  
  1203.     8.25.3    +BP: Set Bell in Prompt
  1204.  
  1205.         <A:00> opt +bp
  1206.  
  1207.     Invoking the +BP option    will set a bell    character (07) to be
  1208.     embedded within    the system prompt string.  This    will cause the
  1209.     console    terminal bell to sound each time the prompt is listed.
  1210.     This is    useful if you are performing many time consuming
  1211.     operations, and    would like an audible notification of when the
  1212.     process    is completed, and the prompt is    returned.
  1213.  
  1214.  
  1215.     8.25.4    -BP: Remove Bell in Prompt
  1216.  
  1217.         <A:00> opt -bp
  1218.  
  1219.     The -BP    option is used to remove the bell character from the
  1220.     system prompt string, returning    it to a    ``silent mode''.  This
  1221.     setting    is the startup default.
  1222.  
  1223.  
  1224.     8.25.5    +/-CD: Set Data    Files Location
  1225.  
  1226.         <A:00> opt +/-cd (D:)(#/)
  1227.  
  1228.     The CD option is used to change    the directory in which ConIX will
  1229.     store its temporary operational    data files.  This includes the
  1230.     CONIX.DAT/$ file which holds the contents of the Permanent Data
  1231.     Storage    Section    of ConIX, created when the highest level of memory
  1232.     management is invoked.    Also included is the CONIX.ENV environment
  1233.     file, which is utilized    whenever one Command Language program
  1234.     nests to another.
  1235.  
  1236.     By default, these files    are stored in the directory from which
  1237.     ConIX was initially invoked.  This location may    be changed by the
  1238.     CD option to the specified disk    and/or user area.
  1239.  
  1240.  
  1241.     8.25.6    +/-CS: Set Clear String    Sequence
  1242.  
  1243.         <A:00> opt +/-cs (string)
  1244.  
  1245.     This option will set the value of the clear string sequence output
  1246.     to the screen by the CLS command.  The characters in this string
  1247.  
  1248.  
  1249.  
  1250.                        8-15
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.     Utility    Commands                ConIX Operating System
  1257.  
  1258.     should cause the console screen    to clear, placing the cursor in
  1259.     the left topmost position (home).  If the console is a printer,
  1260.     this string should contain a character sequence    that would advance
  1261.     the paper to the top of    the next page, with the    carriage
  1262.     positioned at the beginning of the line.
  1263.  
  1264.     The characters in the string are specified directly on the command
  1265.     line in    the first argument to the CS option.  Up to 7 characters
  1266.     may be used for    the clear string.  Control codes may be
  1267.     represented by using the `^' character.     By default, the clear
  1268.     string is not set.
  1269.  
  1270.  
  1271.     8.25.7    +/-CX: Set ConIX Program Location
  1272.  
  1273.         <A:00> opt +/-cx (D:)(#/)
  1274.  
  1275.     The ConIX Operating System is stored on    disk in    the file
  1276.     CONIX.COM, which is loaded into    memory from the    CP/M CCP after a
  1277.     cold system reset.  This file is later used by ConIX to    reload
  1278.     itself after memory management is invoked.  It is assumed to be
  1279.     stored,    by default, on the drive and user area from which ConIX
  1280.     was initially loaded.
  1281.  
  1282.     The CX option is used to change    the directory of the ConIX machine
  1283.     code file.  The    new location is    specified in the first argument,
  1284.     where D: is the    disk code (A: -    P:), and `#/' is the user area (0/
  1285.     - 31/).     Either    or both    of these codes may be supplied in the
  1286.     argument string.
  1287.  
  1288.  
  1289.     8.25.8    +/-DC: Set Number of DIR Columns
  1290.  
  1291.         <A:00> opt +/-dc <#cols>
  1292.  
  1293.     The DIR    command    lists directory    files in columnar form.     With the
  1294.     DC option, you can set the output to be    formatted by cols number
  1295.     of columns.  The default startup setting is 4.
  1296.  
  1297.  
  1298.     8.25.9    +DL: Auto-Login    on Disk    Reset
  1299.  
  1300.         <A:00> opt +dl
  1301.  
  1302.     When this option is set, all search path disks will be
  1303.     automatically logged in    after a    disk reset.  This entire operation
  1304.     has the    same effect as typing the commands RESET and LOG on the
  1305.     command    line.
  1306.  
  1307.     If the +DR and +DL options are both in effect, a warm boot by a
  1308.     program    or a CTRL-C entered at the system prompt will cause the
  1309.     reset and login    function to be executed.  Otherwise, should the    -
  1310.     DR option alone    be in effect, only a CTRL-C at the prompt level
  1311.     will cause this    operation to take place.
  1312.  
  1313.  
  1314.  
  1315.  
  1316.                        8-16
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.     ConIX Operating    System                  Utility Commands
  1323.  
  1324.     8.25.10     -DL: No Login on Disk Reset
  1325.  
  1326.         <A:00> opt -dl
  1327.  
  1328.     The -DL    option is used to disable the drive auto-login feature.
  1329.     This is    the default mode of operation.    The current setting of
  1330.     +/-DR will remain unchanged after this option is iNvoked.
  1331.  
  1332.  
  1333.     8.25.11     +DR: Disk Reset on Warm Boot
  1334.  
  1335.         <A:00> opt +dr
  1336.  
  1337.     When this option is enabled, a program which terminates    in a warm
  1338.     boot (jump to location 0000 or BDOS system call    0) will    cause an
  1339.     automatic disk reset.  This is operationally equivalent    to
  1340.     entering the RESET command at the system prompt    after the program
  1341.     finishes execution.  In    addition, if the +DL option is set, all
  1342.     search path disks will be logged in after the reset.
  1343.  
  1344.  
  1345.     8.25.12     -DR: No Reset on Warm Boot
  1346.  
  1347.         <A:00> opt -dr
  1348.  
  1349.     This option is used to disable auto-reset after    program    warm boot,
  1350.     and is the default mode    of operation.  The setting of +/-DL will
  1351.     not be changed by the invocation of this option.
  1352.  
  1353.  
  1354.     8.25.13     +DW: Enable Disk Wait Control
  1355.  
  1356.         <A:00> opt +dw
  1357.  
  1358.     The +DW    option enables Disk Wait Control, which    allows you to use
  1359.     a CTRL-S to pause execution when a program is accessing    disk.
  1360.     Once paused, you may abort using CTRL-C, or continue by    typing any
  1361.     other character.  This feature is, by default, enabled on startup.
  1362.  
  1363.  
  1364.     8.25.14     -DW: Disable Disk Wait    Control
  1365.  
  1366.         <A:00> opt -dw
  1367.  
  1368.     The -DW    option disables    CTRL-S pause control during disk accesses,
  1369.     and is used primarily to disallow an abort when    performing
  1370.     operations that    should not be disturbed    by the user.
  1371.  
  1372.  
  1373.     8.25.15     +/-ER:    Restore    ConIX Environment
  1374.  
  1375.         <A:00> opt +/-er
  1376.  
  1377.     The ER option is used to restore the ConIX environment saved in
  1378.     the CONIX.DAT/$    file by    the ES option, below.  Note that, when
  1379.  
  1380.  
  1381.  
  1382.                        8-17
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.     Utility    Commands                ConIX Operating System
  1389.  
  1390.     used with Command Language programs, the restoration of    the
  1391.     environment will cause command execution to start from the point
  1392.     at which the environment was initially saved.
  1393.  
  1394.  
  1395.     8.25.16     +/-ES:    Save ConIX Environment
  1396.  
  1397.         <A:00> opt +/-es
  1398.  
  1399.     The ConIX environment refers to    the permanent data section, namely
  1400.     Memory Management level    7.  It is in this section that the current
  1401.     settings of all    options    and features are stored.  When managed out
  1402.     (memory    level above 7),    this segment is    saved into and recalled
  1403.     from the CONIX.DAT/$ file.  The    ES option simulates this ``save''
  1404.     operation, storing the contents    of the permanent data section in
  1405.     the environment    file.  This file can be    used later to facilitate
  1406.     the quick restoration of the environment if ConIX has to be
  1407.     ``cold'' reloaded (as is done within the WARMBT    program.)
  1408.  
  1409.  
  1410.     8.25.17     +/-FC:    Set Function Character Keys
  1411.  
  1412.         <A:00> opt +/-fc <&lead-in> (+)(&key) (&value) . . .
  1413.  
  1414.     This option is used to set the lead-in character used to access
  1415.     the Programmable Function Character Keys as well as the    values of
  1416.     the keys themselves.  To change    only the lead-in character,
  1417.     specify    its hex    code as    the first argument after the FC    option.
  1418.     This will set the given    key to indicate    the start of a function
  1419.     character sequence.  Typically,    you should set the lead-in
  1420.     character to be    in the control range (00 - 1F hex), although any
  1421.     value is allowed.  To enter the    lead-in    character as input to a
  1422.     program, simply    type it    twice.    By default, the    lead-in    is not
  1423.     set, but CTRL-K    or 0B hex is recommended.
  1424.  
  1425.     To set the function character keys, specify the    hex code for the
  1426.     key and    its corresponding value, each as separate arguments.
  1427.     These definitions must appear on the command line directly after
  1428.     the lead-in argument.  To avoid    resetting the lead-in each time    a
  1429.     key is given, substitute the null string ("") for the lead-in
  1430.     argument, and the current value    will be    assumed.
  1431.  
  1432.     Setting    one character key will cause all other key values to be
  1433.     reset, unless a    `+' is specified before    the first key argument.
  1434.     In this    case, all subsequent definitions will be added to those
  1435.     keys currently set.  Up    to 24 key definitions can be made.  Any
  1436.     excess will be ignored.     By default, some character keys will be
  1437.     preset at startup, as:
  1438.  
  1439.         A = @    At-sign
  1440.         B = \    Backslash
  1441.         C = ^    Caret or Circumflex
  1442.         D = DEL    DELETE or Rub Out (7F hex)
  1443.         K = }    Close Brace
  1444.         L = [    Left Bracket
  1445.  
  1446.  
  1447.  
  1448.                        8-18
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.     ConIX Operating    System                  Utility Commands
  1455.  
  1456.         O = {    Open Brace
  1457.         P = |    Pipe Symbol
  1458.         Q = `    Backwards Quote
  1459.         R = ]    Right Bracket
  1460.         T = ~    Tilde
  1461.         U = _    Underscore
  1462.         X = !    Exclamation Point
  1463.  
  1464.     These keys were    chosen because they are    often not found    on some    older
  1465.     keyboards.  Many of them have special meaning to ConIX,    and
  1466.     come preset and    ready for use, if needed.
  1467.  
  1468.  
  1469.     8.25.18     +/-FK:    Set Function Keys Lead-in
  1470.  
  1471.         <A:00> opt +/-fk <&lead-in>
  1472.  
  1473.     This option is used to set the lead-in for the Programmable
  1474.     Function Keys.    The lead-in argument is    a hex byte code
  1475.     corresponding to the character which would indicate the    start of a
  1476.     function key sequence.    It should be set to a value in the control
  1477.     range (00 - 1F hex), although any value    is permissible.     To enter
  1478.     the lead-in as an actual character to a    program, simply    type it
  1479.     twice.    By default, the    lead-in    is not set, although a CTRL-F or
  1480.     06 hex is recommended.
  1481.  
  1482.  
  1483.     8.25.19     +GS: Set the GOSUB Stack
  1484.  
  1485.         <A:00> opt +gs <&address> (#levels)
  1486.  
  1487.     The +GS    option allows the location in memory of    the GOSUB stack    to
  1488.     be set to a user-supplied address.  The    size of    the stack is
  1489.     specified by levels, which indicates the maximum number    of levels
  1490.     to which a GOSUB may be    nested.     If no level number is specified,
  1491.     a default of 16    will be    assumed, with each level requiring 3 bytes
  1492.     of memory.  The    end address of the stack is equal to address +
  1493.     (levels    * 3).
  1494.  
  1495.     The default stack setting resides in an    area within ConIX memory
  1496.     that can accommodate up    to 16 nested levels.  This default is
  1497.     activated whenever a Command Language program is invoked.
  1498.     Therefore, the GS option can only be used to modify the    stack
  1499.     location within    a running program.
  1500.  
  1501.  
  1502.     8.25.20     -GS: Restore the GOSUB    Stack
  1503.  
  1504.         <A:00> opt -gs
  1505.  
  1506.     The -GS    option is used to reset    the GOSUB stack    to use the default
  1507.     internal stack of 16 levels.
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.                        8-19
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.     Utility    Commands                ConIX Operating System
  1521.  
  1522.     8.25.21     +/-IA:    Set Input Port Address
  1523.  
  1524.         <A:00> opt +/-ia <&address>
  1525.  
  1526.     The input port address is used to reference a machine code routine
  1527.     which will do character    input as the :UIA device.  The IA option
  1528.     is used    to set this routine to begin at    the specified address in
  1529.     memory.     This program should return the    input character    in the CPU
  1530.     Accumulator, with the end of the input stream marked by    an EOF
  1531.     character (CTRL-Z).  Of    course,    the device driver should be loaded
  1532.     into memory before the device is referenced on the command line.
  1533.  
  1534.  
  1535.     8.25.22     +/-IB:    Set Input Buffer Length
  1536.  
  1537.         <A:00> opt +/-ib <#records>
  1538.  
  1539.     A data buffer is automatically created at the end of the TPA
  1540.     whenever input is being    redirected from    a disk file.  This buffer
  1541.     will contain the characters being read from the    input file, and    is
  1542.     intended to cut    down on    the number of disk accesses necessary when
  1543.     reading    data from a file.  ConIX will read a block of characters
  1544.     into the memory    buffer and then    transfer them individually to the
  1545.     input of the running program.
  1546.  
  1547.     The IB option will set the number of 128 byte records that are to
  1548.     be used    for buffering the input    file in    memory.     The maximum
  1549.     number of records is 16, or a buffer size of 2048 bytes, with the
  1550.     startup    default    being 8    records.
  1551.  
  1552.     Note that this option is most useful for computers which use
  1553.     single density disks.  Many double density systems already buffer
  1554.     1024 bytes in memory, therefore    making the input redirection
  1555.     buffer redundant and unnecessary.  For such systems, the minimum
  1556.     record count of    1 is recommended.
  1557.  
  1558.  
  1559.     8.25.23     +/-IP:    Set Input Port Device
  1560.  
  1561.            <A:00> opt +/-ip    <&stat><&mask><0/1><&data>
  1562.  
  1563.     The IP option will set the parameters of the special user-
  1564.     definable input    device,    :UDI.  This is done by internally using    a
  1565.     procedure to read a system status port,    stat, masking off the
  1566.     ready bits using the mask byte,    and checking if    the data is ready.
  1567.     The 0/1    argument specifies which overall value at the status port
  1568.     indicates the ready condition.    If "0" is given, a zero    value of
  1569.     the masked bits    means that the data is ready.  Otherwise, if a "1"
  1570.     is given, a non-zero value is taken to indicate    data ready.  In
  1571.     any case, when the data    is tested to be    ready, it is read from the
  1572.     machine    port data and returned to the running program.
  1573.  
  1574.     This entire procedure can be internally    summarized as a    simple
  1575.     8080 assembly language routine:
  1576.  
  1577.  
  1578.  
  1579.  
  1580.                        8-20
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.     ConIX Operating    System                  Utility Commands
  1587.  
  1588.     1) For a zero mask value:
  1589.  
  1590.         wait: in     status    ; read the status port         ani
  1591.     mask   ; strip off the ready bits        jnz       wait      ; if any
  1592.     bits are on, keep trying       in      data     ; read    the data
  1593.           ret        ; return character to program
  1594.  
  1595.     2) For a non-zero mask value:
  1596.  
  1597.         wait: in     status    ; read the status port         ani
  1598.     mask   ; strip off the ready bits        jz       wait      ; if no
  1599.     bits are on, keep trying       in      data     ; read    the data
  1600.           ret        ; return character to program
  1601.  
  1602.     The most typical implementation    is the second one, since most I/O
  1603.     ports use a non-zero value in the mask bits to indicate    the data
  1604.     ready condition.  The end of the stream    of input characters should
  1605.     be marked by an    EOF (CTRL-Z).
  1606.  
  1607.  
  1608.     8.25.24     +/-MM:    Set Memory Management
  1609.  
  1610.         <A:00> opt +/-mm <#level>
  1611.  
  1612.     This option is used to set the default memory management level,
  1613.     indicating the topmost segment of ConIX    which is to remain in
  1614.     memory when a disk-based command (.COM)    file is    executed.  The
  1615.     level number may range from 1 to 8, where 1 is the lowest level
  1616.     (all of    ConIX remains in memory) and 8 is the largest (all but the
  1617.     1/2K loader will be removed).  By default, the management level    is
  1618.     set to 1 at startup.
  1619.  
  1620.     Note that, as expected,    OPT ?MM    will print the current memory
  1621.     level number.  In addition, supplying a    particular level argument
  1622.     will give you the address in memory of the beginning of    the
  1623.     specified level.
  1624.  
  1625.  
  1626.     8.25.25     +/-OA:    Set Output Port    Address
  1627.  
  1628.         <A:00> opt +/-oa <&address>
  1629.  
  1630.     The output port    address    is used    to reference a machine code
  1631.     routine    which will do character    output as the :UOA device.  The    OA
  1632.     option is used to set this routine to begin at the specified
  1633.     address    in memory.  The    device handler should expect to    receive
  1634.     the output character in    the E register.     Be sure that this routine
  1635.     has been loaded    into memory before referencing the device.
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.                        8-21
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.     Utility    Commands                ConIX Operating System
  1653.  
  1654.     8.25.26     +/-OB:    Set Output Buffer Length
  1655.  
  1656.         <A:00> opt +/-ob <#records>
  1657.  
  1658.     When output is redirected to a disk file, a buffer is
  1659.     automatically created at the TPA end in    order to cut down on the
  1660.     number of disk accesses    necessary when writing the output file.
  1661.     ConIX will first fill this block in memory with    the output
  1662.     characters before transferring them to the disk    file.
  1663.  
  1664.     The OB option will set the number of 128 byte records of output    to
  1665.     be buffered in memory.    The maximum number of records that can be
  1666.     allocated to this buffer is 16,    or 2048    bytes.    The default buffer
  1667.     size is    8 records, although a record count of 1    is recommended for
  1668.     systems    which internally buffer    disk operations    in 1024    byte
  1669.     blocks.
  1670.  
  1671.  
  1672.     8.25.27     +/-OP:    Set Output Port    Device
  1673.  
  1674.            <A:00> opt +/-op<&stat><&mask><0/1><&data>
  1675.  
  1676.     This option will set the parameters of the special user-definable
  1677.     output device, :UDO.  Output to    this device references an internal
  1678.     procedure to read a system status port,    masking    off the    ready bits
  1679.     using the mask byte, and checking if the device    is ready to
  1680.     receive    the data.  The 0/1 argument specifies what overall value
  1681.     of the mask bits will indicate that the    output port is ready.  If
  1682.     "0" is given, a    zero value of the masked bits means that the data
  1683.     can be sent to the device.  Otherwise, if a "1"    is given, a non-
  1684.     zero value will    indicate the ready condition.  In any case, when
  1685.     the device is tested to    be ready, the character    will be    sent to
  1686.     the given data port.
  1687.  
  1688.     The following 8080 code    demonstrates this operation:
  1689.  
  1690.     1) For a zero mask value:
  1691.  
  1692.         wait: in     status    ; read the status port         ani
  1693.     mask   ; strip off the ready bits        jnz       wait      ; if any
  1694.     bits are on, keep trying       mov      a,e     ; get the data
  1695.     from the E register          out    data   ; send it to the
  1696.     device         ret           ; done
  1697.  
  1698.     2) For a non-zero mask value:
  1699.  
  1700.         wait: in     status    ; read the status port         ani
  1701.     mask   ; strip off the ready bits        jz       wait      ; if no
  1702.     bits are on, keep trying       mov      a,e     ; get the data
  1703.     from the E register          out    data   ; send it to the
  1704.     device         ret           ; done
  1705.  
  1706.     The latter routine represents the most typical implementation, as
  1707.     I/O ports generally use    a non-zero mask    to indicate the    data ready
  1708.     condition.
  1709.  
  1710.  
  1711.  
  1712.                        8-22
  1713.  
  1714.  
  1715.  
  1716.  
  1717.  
  1718.     ConIX Operating    System                  Utility Commands
  1719.  
  1720.     8.25.28     +PC: Enable Command Print
  1721.  
  1722.         <A:00> opt +pc
  1723.  
  1724.     The +PC    option allows the printing of commands entered at the
  1725.     prompt level when transcript mode is enabled by    CTRL-P or the +PR
  1726.     option.     With this feature, the    output to the printer will be an
  1727.     exact replica of what was typed    and displayed at the system
  1728.     console.  This is the default setting on startup.
  1729.  
  1730.  
  1731.     8.25.29     -PC: Disable Command Print
  1732.  
  1733.         <A:00> opt -pc
  1734.  
  1735.     The -PC    option will disable command printing when transcript mode
  1736.     is in effect.  Commands    entered    at the prompt level will not be
  1737.     displayed on the printer device.  Only output from an executing
  1738.     command    will be    printed.  This is useful when a    contiguous
  1739.     printout of many commands is desired, without having the listing
  1740.     marred by the instructions typed at the    prompt level.
  1741.  
  1742.  
  1743.     8.25.30     +/-PF:    Set Pipe File Location
  1744.  
  1745.         <A:00> opt +/-pf (D:)(#/)
  1746.  
  1747.     The PF option provides the user    with the ability to select the
  1748.     directory which    will be    used to    hold the temporary pipe
  1749.     redirection file TMPIPnnn.$$$.    Upon startup, the default is to
  1750.     create the temporary file in the directory from    which the piped
  1751.     commands were invoked.    Using the PF option, any desired directory
  1752.     can be used for    this file.
  1753.  
  1754.     Users of hard disk or memory drive (ramdisk) systems should use
  1755.     this feature to    have ConIX perform the pipe operation on the
  1756.     fastest    storage    medium.     This will reduce much of the delay when
  1757.     using floppy disks for the temporary file.
  1758.  
  1759.  
  1760.     8.25.31     +PR: Enable Transcript    Mode
  1761.  
  1762.         <A:00> opt +pr
  1763.  
  1764.     This option enables printer transcript mode.  Console output will
  1765.     be sent    to the printer device (:LST) as    well as    the console
  1766.     screen.     This option performs the same function    as when    CTRL-P is
  1767.     hit to enable transcript printing.
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.                        8-23
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.     Utility    Commands                ConIX Operating System
  1785.  
  1786.     8.25.32     -PR: Disable Transcript Mode
  1787.  
  1788.         <A:00> opt -pr
  1789.  
  1790.     This option disables transcript    print mode as set by the +PR
  1791.     option or a CTRL-P.  This setting is the default on startup.
  1792.  
  1793.  
  1794.     8.25.33     +PS: Set Print    Spooling
  1795.  
  1796.         <A:00> opt +ps (#size) (D:)(#/)    (&eof) (#delay)
  1797.  
  1798.     The +PS    option is used to activate the print spooling feature.
  1799.     The size argument specifies the    number of records to be    set aside
  1800.     for use    by the spool file.  The    disk and user codes specify the
  1801.     location on disk where the spool file is to be stored.    The name
  1802.     of this    file is    CONIX.SPL and is created with its invisible (SYS)
  1803.     attribute set.    The default disk and user area is A:0/,    and will
  1804.     be used    to hold    the spool file if no location is specified.  The
  1805.     default    size is    8 records.  Therefore, invoking    this option with
  1806.     no arguments sets the spool file to be 8 records in length and
  1807.     stored in A:0/.     The maximum size of the spool file is 65,535
  1808.     records, or, effectively, as large as available    disk space
  1809.     permits.
  1810.  
  1811.     The eof    argument specifies the character that is to be used as the
  1812.     spooler    EOF.  This special character is    used internally    to
  1813.     indicate the end of the    spool output stream.  It is set, by
  1814.     default, to 0FF    hex.  You may set this to any character    you like
  1815.     if FF would be an actual character output to the printer when
  1816.     spooling, in which case, you wouldn't want it to be interpreted    as
  1817.     an EOF.     Since only text is sent to the    printer    in most
  1818.     applications, the default setting should be fine.  If screen dumps
  1819.     or bit-mapped images are output, you must find a character that
  1820.     will never be output to    the printer, and set it    to be the EOF.
  1821.     The eof    value must be unique in    order for the spooler to function
  1822.     properly.
  1823.  
  1824.     The delay argument specifies the loop constant used to determine
  1825.     the amount of time that    should elapse before spooling restarts
  1826.     after a    character is entered at    the console keyboard.  By default,
  1827.     this constant is set to    2FFF hex, which    should be sufficient for
  1828.     most systems.  If your system utilizes interrupt driven    input,
  1829.     then this delay    is probably unnecessary, and should be set to 1,
  1830.     the smallest possible value.
  1831.  
  1832.  
  1833.     8.25.34     -PS: Disable Print Spooling
  1834.  
  1835.         <A:00> opt -ps
  1836.  
  1837.     This option will disable the print spooling feature, and delete
  1838.     the spooler file from disk.  Note that it is permissible to do
  1839.     this while the system is still spooling    off the    disk file.  To
  1840.     prevent    a loss of characters, use the FLUSH command to empty the
  1841.  
  1842.  
  1843.  
  1844.                        8-24
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.     ConIX Operating    System                  Utility Commands
  1851.  
  1852.     spooler    before disabling it.
  1853.  
  1854.  
  1855.     8.25.35     +SA: Enable Archive Searching
  1856.  
  1857.         <A:00> opt +sa
  1858.  
  1859.     When archive searching is enabled by this option, ConIX    will
  1860.     automatically search the default archive file, %.ARC, for a
  1861.     requested command.  This searching takes place only if the command
  1862.     could not be found in the default directory or on the disks in the
  1863.     search path.
  1864.  
  1865.  
  1866.     8.25.36     -SA: Disable Archive Searching
  1867.  
  1868.         <A:00> opt -sa
  1869.  
  1870.     This option disables the automatic archive searching feature, and
  1871.     is the default startup setting.
  1872.  
  1873.  
  1874.     8.25.37     +SB: Set BDOS Address (&0006)
  1875.  
  1876.         <A:00> opt +sb <&address>
  1877.  
  1878.     All programs communicate with the operating system through what
  1879.     are known as System Calls, or syscalls for short.  These calls
  1880.     request    certain    complex    functions to be    performed, such    as
  1881.     creating, writing, reading, and    erasing    files.    A program accesses
  1882.     the operating system through a JMP instruction stored at location
  1883.     0005 in    memory,    which takes the    program    into the BDOS syscall
  1884.     decoder.
  1885.  
  1886.     This system entry point    may also be used by a program for
  1887.     determining the    amount of TPA memory that is available for storing
  1888.     its data.  The address at location 0006    points to the first byte
  1889.     in memory occupied by the operating system.  All memory    from
  1890.     location 100 hex until this address may    be used    by the program for
  1891.     data manipulation.
  1892.  
  1893.     The +SB    option allows you to change this address to any    location
  1894.     in memory between 100 hex and the top of ConIX (as determined by
  1895.     the TOP    internal command).  This is useful for ``cordoning off''
  1896.     an area    in memory for data storage (by redirection into    memory,
  1897.     etc.) so that programs will not    access it and modify it.
  1898.  
  1899.     For example, let's say you wanted to reserve 256 bytes of memory
  1900.     for data storage.  You would first determine the top location of
  1901.     ConIX, which, for demonstration    purposes, we will say is at the
  1902.     address    6000 hex.  Next, subtract 256 from this    number,    giving you
  1903.     5F00 hex.  This    will be    the address which you specify to the +SB
  1904.     option.     The actual BDOS entry address will be set to 11 bytes
  1905.     before this location.  These bytes will    hold a JMP into    the
  1906.     syscall    decoder    and the    four error vector addresses.  The area
  1907.  
  1908.  
  1909.  
  1910.                        8-25
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.     Utility    Commands                ConIX Operating System
  1917.  
  1918.     between    5F00 and 6000 can now be used for safe data storage.  When
  1919.     a program looks    at location 0006, it just sees a smaller memory
  1920.     space, and will    not disturb your private data area.
  1921.  
  1922.     Note that memory management will not execute while the +SB address
  1923.     is set.     This is because the memory size is fixed by this option,
  1924.     and managing out ConIX is not going to change it.
  1925.  
  1926.  
  1927.     8.25.38     -SB: Reset BDOS Address
  1928.  
  1929.         <A:00> opt -sb
  1930.  
  1931.     The -SB    option is used to restore the default BDOS address.  It
  1932.     will also return memory    management to its normal mode of
  1933.     operation.
  1934.  
  1935.  
  1936.     8.25.39     +/-SL:    Set Screen Length
  1937.  
  1938.         <A:00> opt +/-sl <#lines>
  1939.  
  1940.     The SL option will set the number of lines per screen for the Auto
  1941.     Screen Paging function.     This number may range from 0 to 255.
  1942.     After the specified number of lines are    printed    on the console
  1943.     screen,    the system will    automatically wait for the user's signal
  1944.     to continue.  The default number of lines per screenful    is set to
  1945.     0, thus    disabling the auto-paging feature on startup.
  1946.  
  1947.  
  1948.     8.25.40     +SO: Enable Spooler on    Output
  1949.  
  1950.         <A:00> opt +so
  1951.  
  1952.     This option will enable    characters waiting in the print    spooler    to
  1953.     be sent    to the printer during screen output as well as keyboard
  1954.     input.    This setting is    the startup default.
  1955.  
  1956.  
  1957.     8.25.41     -SO: Disable Spooler on Output
  1958.  
  1959.         <A:00> opt -so
  1960.  
  1961.     This option will disable the print spooler from    outputting its
  1962.     characters to the printer during screen    output.     This setting is
  1963.     useful for reducing the    extra overhead required    for running the
  1964.     spooler    while characters are being output to the screen.
  1965.  
  1966.  
  1967.     8.25.42     +/-SP:    Set Disk Search    Path
  1968.  
  1969.         <A:00> opt +/-sp (path)
  1970.  
  1971.     The SP option is used to set the Search    Path which File    and
  1972.     Extension Searching will use to    find a file.  The path argument
  1973.  
  1974.  
  1975.  
  1976.                        8-26
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.     ConIX Operating    System                  Utility Commands
  1983.  
  1984.     takes the form:
  1985.  
  1986.         <disk>(user#)
  1987.  
  1988.     where disk represents the disk code, A-P, and user# the    optional
  1989.     user code, 0-31.  If no    user number is supplied, 0 will    be
  1990.     assumed.  If a `:' is given as the disk, the current default drive
  1991.     at the time of the invocation will be assumed.    If a `/' is given
  1992.     as the user#, the default user area at invocation will be assumed.
  1993.  
  1994.     For example, a path of ``:ab'' will cause a command to be searched
  1995.     in the current directory, user area 0 of the current disk, A:0/,
  1996.     and B:0/.  Note    that even though there appears to be a chance that
  1997.     one directory can be searched more than    once (if you were in A:0/,
  1998.     for example), in reality this will never occur.     Internally, all
  1999.     directories that were searched are remembered, and ConIX will
  2000.     never waste time searching a directory more than once.
  2001.  
  2002.  
  2003.     8.25.43     +SS: Set the SWITCH Stack
  2004.  
  2005.         <A:00> opt +ss <&address> (&size)
  2006.  
  2007.     With this option, the location in memory of the    SWITCH stack will
  2008.     be set to reside at address.  The length of the    stack is specified
  2009.     by the size argument, which indicates the number of characters
  2010.     that may be in a SWITCH    construct at one time.    If no size is
  2011.     specified, a default of    130 bytes will be assumed.
  2012.  
  2013.     The default stack setting resides in area within ConIX memory that
  2014.     can accommodate    up to 128 SWITCH characters.  This default is
  2015.     activated whenever a Command Language program is invoked.
  2016.     Therefore, the SS option can only be used to set the stack within
  2017.     a running program.
  2018.  
  2019.  
  2020.     8.25.44     -SS: Restore the SWITCH Stack
  2021.  
  2022.         <A:00> opt -ss
  2023.  
  2024.     This option will reset the SWITCH stack    to use the default
  2025.     internal buffer    of 130 bytes, or 128 characters.
  2026.  
  2027.  
  2028.     8.25.45     +/-ST:    Set Sleep Time Constant
  2029.  
  2030.         <A:00> opt +/-st <#value>
  2031.  
  2032.     The SLEEP command uses a built-in timing loop for determining the
  2033.     amount of real time used by each increment of its argument.  This
  2034.     loop simply decrements a number    until it becomes zero.    The ST
  2035.     option is used to set this counter to value, which is the number
  2036.     of iterations to be executed in    this timing loop.  This    value will
  2037.     produce    varied results on different machines, and therefore, you
  2038.     must experiment    with different numbers which may range from 0 to
  2039.  
  2040.  
  2041.  
  2042.                        8-27
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.     Utility    Commands                ConIX Operating System
  2049.  
  2050.     65535.    Each loop should idle the CPU for one-tenth of a second.
  2051.  
  2052.  
  2053.     8.25.46     +TA: Set Type-Ahead Buffer
  2054.  
  2055.         <A:00> opt +ta <&address> (#size)
  2056.  
  2057.     This option will set the address of the    buffer which is    used to
  2058.     hold type-ahead    characters.  By    default, this buffer is    set to an
  2059.     internal storage area capable of holding up to 80 characters.  The
  2060.     specified address sets the location in memory of the type-ahead
  2061.     buffer.     The length of this buffer is determined by the    size
  2062.     argument, which, if omitted, is    assumed    to be a    default    of 80
  2063.     bytes.
  2064.  
  2065.  
  2066.     8.25.47     -TA: Reset Type-Ahead Buffer
  2067.  
  2068.         <A:00> opt -ta
  2069.  
  2070.     This option resets the type-ahead buffer address to the    default    80
  2071.     character internal storage area.
  2072.  
  2073.  
  2074.     8.25.48     +/-TC:    Set Type-Ahead Cancel Character
  2075.  
  2076.         <A:00> opt +/-tc <&char>
  2077.  
  2078.     The type-ahead cancel character    is used    to flush all characters    in
  2079.     the type-ahead buffer.    It is set by default to    CTRL-_ (1F hex),
  2080.     and may    be changed with    this option, where char    is the hex value
  2081.     of the new cancel character.  A    value in the control range is
  2082.     recommended.
  2083.  
  2084.  
  2085.     8.25.49     +TE: Enable Type-Ahead    Echo
  2086.  
  2087.         <A:00> opt +te
  2088.  
  2089.     When the +TE option is specified, any input characters which enter
  2090.     the type-ahead buffer will be printed to the screen.  This
  2091.     provides for the viewing of characters as they are being read into
  2092.     the type-ahead buffer.    This setting is    especially useful for
  2093.     systems    which do not implement internal    type-ahead.  On    such a
  2094.     system,    you would have to wait until a character is read by ConIX
  2095.     before typing the next.     This setting allows for visual
  2096.     confirmation of    receipt    of the typed character so that you may
  2097.     enter the next.
  2098.  
  2099.     Note that echo is not instantaneous, as    ConIX only samples input
  2100.     during disk operations and screen output.
  2101.  
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.                        8-28
  2109.  
  2110.  
  2111.  
  2112.  
  2113.  
  2114.     ConIX Operating    System                  Utility Commands
  2115.  
  2116.     8.25.50     -TE: Disable Type-Ahead Echo
  2117.  
  2118.         <A:00> opt -te
  2119.  
  2120.     The -TE    option disables    the echoing of type-ahead characters as
  2121.     set by the +TE option.    This setting is    the default on startup.
  2122.  
  2123.  
  2124.     8.25.51     +TR: Enable Command Tracer
  2125.  
  2126.         <A:00> opt +tr
  2127.  
  2128.     This option is used to enable the Command Line Tracer, which
  2129.     displays each entered command exactly as will be executed.
  2130.     Variables referenced on    the command line will be expanded in the
  2131.     trace.    In other words,    the contents of    the parsed or final
  2132.     command    line will be displayed.
  2133.  
  2134.     This command is    most useful for    tracing    the execution of a Command
  2135.     Language program, where    each program step will be displayed on the
  2136.     console    screen.     A `+' sign is placed before each trace    line,
  2137.     thereby    making it easier to distinguish    program    output from tracer
  2138.     output.
  2139.  
  2140.  
  2141.     8.25.52     -TR: Disable Command Tracer
  2142.  
  2143.         <A:00> opt -tr
  2144.  
  2145.     This option is used to turn off    the command line tracer    which was
  2146.     previously enabled by the +TR option.
  2147.  
  2148.  
  2149.     8.25.53     +UC: Set Upper    Case Mapping
  2150.  
  2151.         <A:00> opt +uc
  2152.  
  2153.     The +UC    option enables the standard action of mapping all
  2154.     lowercase letters on the command line to uppercase before
  2155.     execution.  This is the    default    mode of    operation on startup.
  2156.  
  2157.  
  2158.     8.25.54     -UC: Disable Upper Case Mapping
  2159.  
  2160.         <A:00> opt -uc
  2161.  
  2162.     This option will disable the uppercase mapping of all all
  2163.     characters typed on the    command    line.  In this mode, the case of
  2164.     the characters entered will remain unmodified.    The only exception
  2165.     is the command name itself, which will be mapped to uppercase to
  2166.     maintain compatibility with disk-based programs    and ConIX internal
  2167.     commands.
  2168.  
  2169.  
  2170.  
  2171.  
  2172.  
  2173.  
  2174.                        8-29
  2175.  
  2176.  
  2177.  
  2178.  
  2179.  
  2180.     Utility    Commands                ConIX Operating System
  2181.  
  2182.     8.25.55     +/-VF:    Set Variable File Location
  2183.  
  2184.         <A:00> opt +/-vf (D:)(#/)
  2185.  
  2186.     The 52 disk-based variables are    stored in the disk file    VARS.SET
  2187.     which is created with its invisible (SYS) attribute enabled.  By
  2188.     default, ConIX will assume to manipulate this file on A:0/.  This
  2189.     location may be    changed    by using the VF    option,    where D: is the
  2190.     disk code, and #/ is the user area.  Either or both of these codes
  2191.     may be specified in the    argument string.
  2192.  
  2193.  
  2194.     8.25.56     +XD: Enable ExpanDisk References
  2195.  
  2196.         <A:00> opt +xd <start> (end) (mount)
  2197.  
  2198.     This option is used to set the disk drives which will be utilized
  2199.     by the ExpanDisk feature.  Any disk drive code (A-P) that is
  2200.     referenced in the range    of start to end, will be mounted on the
  2201.     mount disk drive.  If the end disk is not specified, it    is set,    by
  2202.     default, to drive P:.  If the mount disk is not    specified, it is
  2203.     assumed    to be the start    disk minus one drive (as B: - 1    = A:).
  2204.  
  2205.     By default, the    start disk is set to I:, the end disk to K:, and
  2206.     the mount disk to A:.  Therefore, only drives I, J, and    K
  2207.     reference the mount-disk A.  All other drive references    are passed
  2208.     unmodified to CP/M.
  2209.  
  2210.  
  2211.     8.25.57     -XD: Disable ExpanDisk    References
  2212.  
  2213.         <A:00> opt -xd
  2214.  
  2215.     This option disables the ExpanDisk feature.  All drive references
  2216.     will be    passed to CP/M for evaluation.
  2217.  
  2218.  
  2219.     8.25.58     +/-XS:    Set Extension Search List
  2220.  
  2221.         <A:00> opt +/-xs <.EXT(s)>
  2222.  
  2223.     The XS option sets the Extension Search    List, which contains the
  2224.     filename extensions for    which ConIX will search    when not found in
  2225.     the current directory.    The .EXT argument is the three character
  2226.     filename extension of the file to be searched.    Up to 10 such
  2227.     extension arguments may    be supplied.
  2228.  
  2229.  
  2230.     8.25.59     +XU: Set Extended User    Areas
  2231.  
  2232.         <A:00> opt +xu
  2233.  
  2234.     The +XU    option enables command line access to extended user areas
  2235.     (16-31), which is the ConIX startup default.  When these user
  2236.     areas are enabled, the byte at 0004h will no be    longer used for
  2237.  
  2238.  
  2239.  
  2240.                        8-30
  2241.  
  2242.  
  2243.  
  2244.  
  2245.  
  2246.     ConIX Operating    System                  Utility Commands
  2247.  
  2248.     storing/retrieving the current user area.  This    will cause
  2249.     incompatibility    with programs that modify 0004h    to change the
  2250.     default    user area.  (A special syscall is now available    to perform
  2251.     this function.)
  2252.  
  2253.  
  2254.     8.25.60     -XU: Disable Extended User Areas
  2255.  
  2256.         <A:00> opt -xu
  2257.  
  2258.     The -XU    option disables    command    line access to user areas above
  2259.     15.  This setting provides compatibility with programs that use
  2260.     location 0004h to change the default user area.
  2261.  
  2262.  
  2263.     8.26  OUT: Output Data to a Port
  2264.  
  2265.         <A:00> out <&port> <&data>
  2266.  
  2267.     The OUT    command    is used    to write a data    value to a system port,    as
  2268.     in:
  2269.  
  2270.         <A:00> out 20 3F
  2271.  
  2272.     which outputs a    3F to port 20.    Legal port numbers range from 0    to
  2273.     FF, which is the standard number of ports that an 8080/Z80 can
  2274.     address.
  2275.  
  2276.  
  2277.     8.27  READ: Read a File    into Memory
  2278.  
  2279.         <A:00> read <&start> <&end> <filename>
  2280.  
  2281.     The READ command is used to read a disk    file directly into an area
  2282.     of system memory specified by the start    and end    addresses.  The
  2283.     filename argument indicates the    name of    the file to be read, as
  2284.     in:
  2285.  
  2286.         <A:00> read 100    fff foo.asm
  2287.  
  2288.     which will read    the disk file FOO.ASM into memory from location
  2289.     100 hex    to location FFF.
  2290.  
  2291.     If the memory buffer is    not large enough to hold the file, the
  2292.     remainder will be discarded.  In any case, the location    after the
  2293.     last byte written in memory is stored in the hex variables, with
  2294.     $$1 holding the    hi-byte    and $$2    the lo-byte of the address.
  2295.  
  2296.  
  2297.     8.28  REN: Rename a Disk File
  2298.  
  2299.         <A:00> ren <new>=<old>
  2300.  
  2301.     This command is    used to    change the name    of an existing disk file.
  2302.     The argument to    REN specifies the new filename to be assigned to
  2303.  
  2304.  
  2305.  
  2306.                        8-31
  2307.  
  2308.  
  2309.  
  2310.  
  2311.  
  2312.     Utility    Commands                ConIX Operating System
  2313.  
  2314.     the old, or current name of the    file, as in:
  2315.  
  2316.         <A:00> ren foo.sav=foo.asm
  2317.  
  2318.     which will change the name of the file FOO.ASM to FOO.SAV.  If you
  2319.     wish to    change the name    of a file in disk or user area other than
  2320.     the one    you're currently working in, use:
  2321.  
  2322.         <A:00> ren b:10/test.asm=test.sav
  2323.  
  2324.     which renames the file B:10/TEST.SAV to    B:10/TEST.ASM.    You cannot
  2325.     rename files across disks and user areas.  Instead, you    must make
  2326.     a copy and delete the original.
  2327.  
  2328.  
  2329.     8.29  RESET: Reset Disks
  2330.  
  2331.         <A:00> reset (drive(s))
  2332.  
  2333.     RESET is used to reset or unlog    the specified disk drive(s).  Each
  2334.     drive to be reset is specified as a single letter (A-P)    in the
  2335.     first argument.     For example,
  2336.  
  2337.         <A:00> reset bc
  2338.  
  2339.     will reset only    drives B: and C:.  If the drive    specification is
  2340.     eliminated, all    disks will be reset.  This command is useful for
  2341.     cancelling any write protect settings which may    have occurred
  2342.     after a    disk swap or write error.
  2343.  
  2344.     NOTE: Rumors have it that there    exists a bug in    the CP/M RESET
  2345.     DRIVE syscall (#37) which can sometimes    cause damage to    a disk
  2346.     directory.  This syscall is used by RESET when the drive(s)
  2347.     argument is specified.    We have    not been able to verify    the rumor,
  2348.     so exercise caution when using this syscall.  Using RESET without
  2349.     arguments to reset all disks at    once should not    be affected by
  2350.     this problem.
  2351.  
  2352.  
  2353.     8.30  SET: Set Disk Variables
  2354.  
  2355.         <A:00> set ((variable) =) (value)
  2356.  
  2357.     The SET    command    is used    to change the contents of the 52 disk-
  2358.     based letter variables.     The variable to be set    is specified by    a
  2359.     single letter, a-z or A-Z.  Its    value may be given as the third
  2360.     argument on the    command    line.  If no argument is given,    a line of
  2361.     input will be taken as the value of the    variable.
  2362.  
  2363.     For example, the command line:
  2364.  
  2365.         <A:00> set a = "hello"
  2366.  
  2367.     will set the variable $A to contain the    string "hello".     The same
  2368.     result will occur when using the command:
  2369.  
  2370.  
  2371.  
  2372.                        8-32
  2373.  
  2374.  
  2375.  
  2376.  
  2377.  
  2378.     ConIX Operating    System                  Utility Commands
  2379.  
  2380.         <A:00> set a =
  2381.         hello
  2382.         <A:00>
  2383.  
  2384.     The only difference is that the    value of $A was    taken from the
  2385.     console    input stream instead of    the command line.  Note    that if
  2386.     the input stream should    contain    any control characters,    they will
  2387.     be stored as a part of the variable.
  2388.  
  2389.     If no arguments    are given to SET on the    command    line, then all
  2390.     variables which    contain    a value    will be    listed to the screen, as:
  2391.  
  2392.         <A:00> set
  2393.         A: A:00     FOO      ASM  :  FOO       COM
  2394.         X: exec    asm foo.aaz; load foo; foo
  2395.         <A:00>
  2396.  
  2397.     The number of variables    listed by this operation will be saved in
  2398.     the internal hex variable $$0.
  2399.  
  2400.     This last feature is the only functional difference between the
  2401.     SET and    = (Equals) command.  The Equals    command    was simply
  2402.     provided as a matter of    style.    To illustrate, the command:
  2403.  
  2404.         <A:00> dir | set a =
  2405.  
  2406.     is 100%    equivalent in operation    to the command:
  2407.  
  2408.         <A:00> dir | = a
  2409.  
  2410.     Both of    these command lines set    the $A variable    to the first line
  2411.     of the DIR command output.  However, the latter    usage reads and
  2412.     looks much better than the former.  The    SET command seems to imply
  2413.     the need for a value on    the command line, as ``set variable A
  2414.     equal to something''.  The Equals command seems    to be best suited
  2415.     to reading its value from the console input, as    ``set something    to
  2416.     equal variable A''.
  2417.  
  2418.     All letter variables are stored    in the disk file, A:0/VARS.SET.
  2419.     This file is created with its SYS attribute set, and will not
  2420.     appear in a regular directory listing.    If this    file does not
  2421.     exist, it will be created when a variable is set or accessed by
  2422.     SET or Equals.    Each variable stored in    the variable file is
  2423.     assigned a space of 255    bytes (two records).
  2424.  
  2425.  
  2426.     8.31  SRCH: Search for a Byte in Memory
  2427.  
  2428.         <A:00> srch <&start> <&end> <&byte> (&new)
  2429.  
  2430.     SRCH will search an area of memory for a specific byte,    and print
  2431.     each address at    which a    match was found.  The memory to    be
  2432.     searched is specified by the start and end addresses.  The value
  2433.     it will    be looking for is specified as byte.  For example:
  2434.  
  2435.  
  2436.  
  2437.  
  2438.                        8-33
  2439.  
  2440.  
  2441.  
  2442.  
  2443.  
  2444.     Utility    Commands                ConIX Operating System
  2445.  
  2446.         <A:00> srch 100    1ff ff
  2447.         13F
  2448.         170
  2449.         1FA
  2450.         <A:00>
  2451.  
  2452.     will search memory from    100 to 1FF hex for a data value    of FF.
  2453.     The addresses printed represent    the locations in memory    which
  2454.     contain    this value.
  2455.  
  2456.     You may    also change all    matched    bytes by specifying the    new byte,
  2457.     as:
  2458.  
  2459.         <A:00> srch 100    1ff ff 0
  2460.         13F
  2461.         170
  2462.         1FA
  2463.         <A:00>
  2464.  
  2465.     which changes the three    locations which    contained FF to    now
  2466.     contain    0.
  2467.  
  2468.  
  2469.     8.32  TEXT: Read Text with Editing
  2470.  
  2471.         <A:00> text (-)
  2472.  
  2473.     The TEXT command will read editable lines of text from the
  2474.     keyboard and output them to the    console.  You may reference `$'
  2475.     variables directly in the input    stream,    and their contents will    be
  2476.     substituted automatically into the output stream.  If you do not
  2477.     want this substitution to occur, preface the dollar sign with a
  2478.     backslash.  Typing an exclamation point, `!', at the beginning of
  2479.     a line,    with no    other characters following it, indicates the end
  2480.     of the input stream.  TEXT will    always read from the console
  2481.     keyboard, even when used from within a command file.
  2482.  
  2483.     If the "-" argument is specified, all leading spaces or    tabs
  2484.     before the text    on each    line of    input will be removed before
  2485.     printing.  White space between words will be preserved.
  2486.  
  2487.  
  2488.     8.33  TOP: Print Top Address of    ConIX
  2489.  
  2490.         <A:00> top
  2491.  
  2492.     TOP is used to determine the top or starting address of    ConIX in
  2493.     memory.     This address points to    the location in    memory before the
  2494.     first byte of the ConIX    machine    code, and is useful for
  2495.     calculating the    amount of available TPA    memory.     Note that the
  2496.     address    value returned by TOP is not changed when the OPT +SB
  2497.     command    is used.  To determine the true    end of the TPA segment,
  2498.     examine    the lo-hi word at location 0006    in memory.
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504.                        8-34
  2505.  
  2506.  
  2507.  
  2508.  
  2509.  
  2510.     ConIX Operating    System                  Utility Commands
  2511.  
  2512.     8.34  TYPE: List File Contents
  2513.  
  2514.         <A:00> type (file(s))
  2515.  
  2516.     TYPE will list the ASCII contents of the specified file(s) to the
  2517.     console    screen.     If no arguments are supplied, TYPE will read its
  2518.     input from the console keyboard, terminated by an EOF (CTRL-Z).
  2519.     This makes it useful as    a filter when reading characters through a
  2520.     pipe stream.
  2521.  
  2522.  
  2523.     8.35  UDIR: List Files Through User Areas
  2524.  
  2525.         <A:00> udir <#start> <#end> (file(s))
  2526.  
  2527.     UDIR will search from the start    to end user area for the specified
  2528.     file(s).  If no    files are specified, or    a disk and/or user area    is
  2529.     given, the entire directory will be listed.  Files may be
  2530.     specified according to the syntax of the DIR command.  For
  2531.     example,
  2532.  
  2533.         <A:00> udir 0 10 *.asm
  2534.  
  2535.     will list the names of all files that end with a .ASM extension    in
  2536.     user areas 0 through 10.
  2537.  
  2538.  
  2539.     8.36  WP: Write    Protect    Disks
  2540.  
  2541.         <A:00> wp (drive(s))
  2542.  
  2543.     The WP command will write protect the specified    drive(s), as in:
  2544.  
  2545.         <A:00> wp ac
  2546.         <A!00>
  2547.  
  2548.     where disks A: and C: will be write protected.    If the drive
  2549.     specification is omitted, the current drive will be assumed.
  2550.     Writing    to a protected disk will cause a system    error:
  2551.  
  2552.         Bdos Err On D: R/O
  2553.  
  2554.     where R/O means    that the drive was read-only or    write protected.
  2555.     This error will    cause the program's execution to be terminated.
  2556.     Note that swapping disks without hitting a CTRL-C or performing    a
  2557.     disk reset will    automatically cause the    drive to be write
  2558.     protected the next time    its directory is accessed.
  2559.  
  2560.     If a question mark is specified    as the argument    to WP, a single
  2561.     letter corresponding to    each disk which    is software write-
  2562.     protected will be listed to the    screen.     For example:
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.                        8-35
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.     Utility    Commands                ConIX Operating System
  2577.  
  2578.         <A!00> wp ?
  2579.         AC
  2580.         <A!00>
  2581.  
  2582.     indicates that disks A:    and C: are currently write-protected.
  2583.  
  2584.  
  2585.     8.37  WRITE: Write Memory to a File
  2586.  
  2587.         <A:00> write <&start> <&end> <filename>
  2588.  
  2589.     The WRITE command is used to save an area of system memory to a
  2590.     disk file.  This area is specified by the start    and end    addresses,
  2591.     and the    filename indicates the file which is to    hold the data, as
  2592.     in:
  2593.  
  2594.         <A:00> write 100 fff mem.dat
  2595.  
  2596.     which writes memory from location 100 hex to location FFF into the
  2597.     file MEM.DAT.
  2598.  
  2599.     Note: the WRITE    command    replaces the SAVE command that is built
  2600.     into the CP/M CCP.  It's syntax    was:
  2601.  
  2602.         SAVE <records> <filename>
  2603.  
  2604.     where records indicated    the number of 256 byte buffers in memory
  2605.     to be written to the file.  The    WRITE command makes this obsolete
  2606.     because    SAVE was limited to starting from location 100 and writing
  2607.     only in    increments of 256.  Using WRITE, you no    longer have to
  2608.     convert    into records the amount    of memory which    is to be written.
  2609.     Direct addressing specifies this for you, quickly and easily.
  2610.  
  2611.     To convert from    the old    SAVE to    WRITE, use the formula:
  2612.  
  2613.         end = (256*(records+1))-1
  2614.  
  2615.     where records is the number of 256 byte    buffers    normally specified
  2616.     to the SAVE command.  The start    address    should be specified as 100
  2617.     hex.
  2618.  
  2619.  
  2620.     8.38  XSTAT: Print Exit    Status
  2621.  
  2622.         <A:00> xstat (&status)
  2623.  
  2624.     The XSTAT command will report the exit status of the previously
  2625.     executed command.  After XSTAT finishes    execution, it will set the
  2626.     given exit status.  If invoked without the status argument, the
  2627.     exit status of the previous command will be maintained.     In this
  2628.     way, you may place XSTAT in a command sequence to monitor the exit
  2629.     status of a particular command without affecting the operation of
  2630.     the whole.
  2631.  
  2632.  
  2633.  
  2634.  
  2635.  
  2636.                        8-36
  2637.  
  2638.  
  2639.  
  2640.  
  2641.  
  2642.     ConIX Operating    System                  Utility Commands
  2643.  
  2644.     8.39  ZAP: Modify Memory
  2645.  
  2646.         <A:00> zap <&address> (&value(s))
  2647.  
  2648.     With the ZAP command you can change the    data stored at any
  2649.     location in system memory.  The    start address points to    the first
  2650.     location to be changed.     The specified value will be placed in
  2651.     memory at that location.  Additional values will be stored
  2652.     sequentially from the start address, as:
  2653.  
  2654.         <A:00> zap 100 c3 00 00
  2655.  
  2656.     which changes location 100 hex to C3, and locations 101    and 102    to
  2657.     00.
  2658.  
  2659.  
  2660.     8.40  Command Name Conflicts
  2661.  
  2662.     If you have a disk-based .COM file with    the same name as a ConIX
  2663.     built-in command, the ConIX command will always    execute    when
  2664.     requested.  This is because ConIX attempts to find a command
  2665.     internally before searching the    disk directory.     To resolve this
  2666.     conflict, you can either change    the name of the    program    to one
  2667.     that doesn't conflict, or preface the command name with    a colon
  2668.     when invoked on    the command line, as:
  2669.  
  2670.         <A:00> :<command> (arg(s))
  2671.  
  2672.     where the requested command will only be searched for in the disk
  2673.     directory and search path.
  2674.  
  2675.  
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.                        8-37
  2703.  
  2704.  
  2705.  
  2706.  
  2707.     <A