;
                                    XOX.COM                                   

             Size (recs) CRC   Version    Author/Latest Issue      Disk
               7k (51)   2AD1  1.0        Rob Friefeld 3/90        Z3COM17

  1- Syntax  2- Installation  3- Operation  4 Examples of Use                 


   XOX is a versatile text file viewer with additional functions for abstract-
ing and merging files.  It does not uncompress files.   

   XOX is a follow-on to VIEW, originally released in 1983.  It is a ZCPR 3.0+
program which requires an extended  TCAP supporting insert/delete  line  func-
tions.  Cursor on/off support is also very nice.  XOX is assembled with VLIB4D
and associated NZTCAPD.
:1

 Syntax   XOX [dir:]afn

   The file specification can be ambiguous.   The first match is loaded.   XOX 
does not protect against loading non-text files.
:2
 Installation 

   XOXINST is  a screen-oriented installation program for patching the control
key set and the initial state of some options.

   The command key list is in the  first record of the program at label <CMD>.
Commands must be single keys, but may be alphabetic or control keys. 

   A printer initialization string of up to 16 bytes may be installed at label
<PRT>.   The first byte is the string count,  and the 16 bytes follow.   There
should be enough to set up left, right, top, and bottom margins & print size.

   The default continuous scroll speed is  a byte at label <OPT>.   A  smaller 
number gives  a faster scroll.   Use  a power of 2 (1,2,4,...,128).   The next 
byte sets the default spacing for the  page  number  display.   If  you  print 
single-spaced, use 1.   If you want the page number to reflect double-spacing,
use 2, and  so forth.   The third  option byte is  a  default setting  for the 
"show controls" command.   If set  to  0FFh,  XOX  displays  all  non-printing 
controls in highlighted ^n format.
:3
                           MOVING THROUGH TEXT 

   As distributed, XOX uses a  functionally simple but not mnemonic layout for
most basic commands.   You don't have to move your fingers from the home row.

               Left Hand                           Right Hand

      F  Next screen (also CR)            J  Previous screen.
      D  Next line.                       K  Previous line.
      S  Scroll forward until key press.  L  Reverse scroll.
      A  End of text.                     ;  Start of text.
      G  Find a string.                   H  Repeat find.

<SP>  Hop forward 10 lines

      A more traditional                   - Next, previous screen
        keyset would be ->            >  < - Next, previous line
                                      Z  W - Forward, back continuous scroll
                                      B  T - End, start of text
                                      F  R - Find, repeat find
 Find String 

- The string is limited to 11 characters.
- The search is forward.
- Search is case sensitive IF any of the characters are upper case.
- Wild card character "_" matches anything.
- If found, the string is highlighted on line 10.  <SP> makes it the top line.


 N - GO TO PAGE #: 

   Give a decimal page number you want to go to.  Page number calculations are
based on the Z3ENV data for the printer  along with the  installed  single- or 
double-spacing calculation base.   Page calculation is simple  minded and does 
not take account of form feeds or other control characters.

 # - GO TO LINE: 

   Give a decimal line number.
                                 MARKING TEXT 

   Ten numbered place markers are available.   Marker #0 is  used as the start
for block operations, described below. 


 O - MARK: 

   Set special Marker #0 to the current screen.   This is the  beginning  mark
for the four block operations.   The marker is initialized to the beginning of
the text if you don't specifically set it.


 Q - QUICK MARK: 

   Set the next available place marker (1-9) to this screen.  
 0..9 - GO TO MARKER: 

   Return display to marker 0 - 9.  Markers are set with Q or O.


 Z - NEXT MARK: 

   Go to next marker.  Cycles through markers which have been set without need
to remember numbers.


 E - ERASE MARKS: 

   Re-initialize markers 1-9 to start of text.


NOTE:  Markers inside a deleted block are reset to the end of the block.
                              BLOCK COMMANDS 


   "Blocks" consist of the text between Marker #0,  which is set at the TOP of
a screen by  pressing "O",  and the BOTTOM of the current screen.   If you are 
doing a lot of block operations,  it may  be  advisable to set  a  mark at the 
present position with "Q", check the position of Marker #0,  and return before 
doing anything.


 P - PRINT BLOCK: 

   Send text in block to the printer.   <ESC> or  <^C>  will  halt the listing
High bits and control characters other than  CR and LF are filtered out.  
 W - WRITE BLOCK: 

   You will be prompted for a file specification, then the block is written to
it.  If the file already exists, you can either cancel the operation or APPEND
the block.  The file is NOT replaced by a write operation.


 V - WRITE BLOCK TO FILE: 

   Skip file name prompt and append  block to  file  opened in  the last Write
command.  Once an output file has been opened, V keeps adding to it.

 U - DELETE BLOCK: 

   The block is removed from XOX's buffer.   This has no effect on the file on
disk!  Deletion is used to eliminate sections before  a printout or disk write
or just to make room in memory to intensively examine the interesting parts of
a large file. 

 B - SHOW CURSOR BLOCK OPERATION: 

   The block operations  are intended to work  as  simply  as  possible.   For
example, to send the current screen to the printer, just press "OP".  To print
a partial screen,  move the text of interest to  the top  and  press "O", then 
move the end of the block to the bottom of the screen and press "P".   This is
almost always the most convenient  way to do  a block op,  especially when you 
get good with the scan up/down commands.
   It may not be possible to position the  text the  way  you  want  it on the 
first or last screen of the file.   The  "B" command displays a cursor on line 
10 (the same line  a Find string appears on).   Move the cursor to the desired 
line with your arrow keys.   Now press  a block  command  key - "O" to set, or 
"P-U-W-V" to execute.  To cancel the cursor , press <RET>.
                               FILE OPERATIONS 


 R - READ: 

   XOX will read as much of a file as available memory allows at one time.  If
the file is too big,  a  "memory full" message will appear.   The Read command 
automatically works in one of two ways:

     1) If memory is  still full,  another memory-sized  batch of file is read 
in, with one screen of overlap.

     2) If some text has been deleted from  memory,  there will now be room to
add more of the file to what is  already in memory.   By eliminating  text you 
are not interested in,  a large file can be abstracted for viewing,  printing, 
or writing to a new file.
 M - MERGE: 

   Read another file to  append to the text in memory.   As  much  as there is 
room for will be read in.   The original file name  remains  default for READ.  
You can use  Merge to combine several  files or just  to  have  a related file 
available for reference while looking at your main file. 


 ESC - RELOG: 

     Start XOX on a new file.
                                MISCELLANEOUS 


 / or ? - HELP SCREEN: 

   Display of command keys.   Changing the command keys  automatically changes
the HELP display.


 Y - DELETE LINE: 

   Deletes the line at the top of the screen.   More convenient than marking a
block for deleting a few lines.


 I - INITIALIZE PRINTER: 

     Send optional init string to printer.
 T - TYPE: 

   Type a line to be sent to printer.   Terminate  with <CR>.   Edit with DEL, 
BSP, ^X.  Can send ^L line feed or other control characters directly.  To send
^X, ^M or ^P, type ^P^X etc.  The string input routine does NOT call BDOS read
string function.


 "+" or "=", "-"  - SCAN SPEED: 

   Continuous scrolling speed may be adjusted faster or slower.


 C - CLEAR: 

   Automatically strip  all lines  starting  with "[" from file.   Intended to
clean up a BBS capture file.
:4 
 Examples of Use - 1/2 


                USING XOX TO PROCESS A BBS CAPTURE FILE


There are several commands intended for this purpose:

C - Clear prompt lines.  All those useless lines that start  with      
    "[" are deleted, e.g. [More...], [Read (Y/N/Q)?].
Y - Delete line.  Get rid of lines you send to the BBS.
O - Set block marker to top of current screen.
W - Write from block  marker to bottom of current  screen  to   a
    file.  You can store  messages in log files by subject, month
    BBS, etc.
V - Write  current  block to  same file  as  last  "W"   command.  
    Repeated use of O and V keeps appending messages you want to
    save to the previously designated log file.
 Examples of Use - 2/2  


                    USING XOX TO CHOP A FILE

The file is too large (e.g. 100k) for a memory resident text editor.

O - Set block marker.  Start of a chop file.
W - Write a convenient size block to a file.  
U - Delete block (from memory only - doesn't affect original disk     
    file).
R - Read more of file.  You can keep  reading more in after  each     
    deletion.
