VDO was originally written for the Osborne-1, thus
the constant use of Osborne in the following file:

 VDO is a file editor for the Osborne computer.
It is not a text editor in that it does not have
such features as word wrap, paragraph reflow, just-
ification or pagination.  Since every Osborne system
comes with WORDSTAR, it would be foolish to provide
duplicate facilities. But since WORDSTAR is well
known to all Osborne users, VDO has been made as
compatible with WORDSTAR as feasible.

 VDO is intended more as a replacement for the
misbegotten line editor, ED, which comes with any
CP/M system. VDO uses very little disk space, and
can handle reasonably large files. It can be used
to create and maintain CBASIC source files, dBASE
report definitions, or data files for MAIL-MERGE.

 VDO is quick to get started and simple to use,
while still providing the elementary editing func-
tions.

1) Invoking VDO:

 VDO is invoked from the CP/M command prompt ("A>"
or "B>") by typing "vdo" followed by the name of the
file to be edited. In this respect it follows all
CP/M conventions. The chapter entitled "Learning
and Using CP/M" in your User's Reference Guide has
an excellent description of the form of a file name.

Examples:

  A>vdo mypgm.asm
  A>vdo b:glinfo.bas
  B>a:vdo weekly.rpt



2) Editing the file:

 Once VDO has been loaded, it will attempt to load
the file named on the command line. If you are
starting a new file, VDO will not be able to find it
and will give an error message. Just hit any key and
VDO will be ready for you to enter the data you wish
to place in the file.

 VDO works differently from WORDSTAR in that it
keeps the entire file in storage while editing. This
means that you don't need extra space on the disk
for temporary storage and that you can change the
diskettes whenever you wish, without worry!

 There are also some restrictions caused by the way
VDO operates:

 File Size: VDO may not be able to edit files of
       over 50K; it all depends on how many spaces
       are next to other spaces.

 Line Size: No line may exceed 256 characters.

 Adjacent spaces: No more than 127 spaces may be
       adjacent. VDO may also treat adjacent spaces
       as a single character at times.

 Just as you do in WORDSTAR, VDO allows you to move
the cursor (_) around in the file to where you wish
to make the changes. The keyboard is used as follows
to effect your changes.

3) Keyboard usage:

 The arrow keys are used to move around in the file
without making changes. The function is slightly
different from that of WORDSTAR, being more like the
dBASE-II usage.

 RIGHT - Move the cursor to the next character in
       the file (if any). Note that the carriage
       return (CR) at the end of a line is also a
       character.

 LEFT - Move the cursor to the previous character.

 DOWN - Move the cursor to the start of the next
       line. From the last line, DOWN gets you
       to the end of the line.

 UP - Move the cursor to the beginning of the line.
       If at the beginning of the line, move to the
       beginning of the previous line.

 RETURN - If insert is off (indicated at the top of
       the screen) RETURN acts the same as DOWN. If
       insert is on, RETURN inserts a CR into the
       file at the cursor position, starting a new
       line. (ENTER, in the numeric cluster, is the
       same as RETURN.) Note that RETURN at the end
       of the file always adds a new line.

 TAB - Inserts a "TAB" character. The display has
       "Tab stops" every eight columns.

 ESC - Calls up the menu of available ESC functions
       and gives access to them (see below).

 CTRL - Held down while entering a letter in order
       to invoke certain VDO functions (see below).

 All the rest of the keys (letters, numbers, space)
are used to place data in the file. The exact way in
which this is done depends on whether insert is on
or off. With insert on, the characters are inserted
into the file ahead of the character at the cursor
position, moving the rest of the line (if any) to
the right. If insert is off, characters typed will
replace the characters in the file, except for a CR
which always gets moved over.

4) CTRL functions.

 The CTRL key is sort of like the SHIFT key in that
you hold it down to change the meaning of some of
the keys of the key board. The way this is written
is with a caret (^) and a letter. Thus "^G" means
to hold down the CTRL key and hit "G". In VDO the
CTRL functions available are:

 ^G - Delete the character at the cursor position.
       If the cursor is at the end of a line, ^G
       will delete the CR and join the two lines.

 ^- - Delete the character just before the cursor.
       If the cursor is at the beginning of a line,
       ^- will join it to the previous line. ^? has
       the same effect.

 ^T or ^Y - Delete the rest of this line. If the
       cursor is in column 1 at the time, the whole
       line including the CR at the end is deleted.

 ^V - Turn insert (described above) on or off.

 ^N - Insert a CR. This is needed when insert is
       off, and a new line is wanted. It performs
       the same function that CR would if insert
       were on.

 ^P - Accept a single character from the keyboard
       and insert it, as is, into the file. This
       allows you to place a character (such as
       ESC) into the file, rather than have it call
       up a special operation by VDO. See the table
       below for special characters and a warning
       note.

 ^C - Display the next screenfull (scroll down).

 ^R - Display the previous screenfull (scroll up).

 ^F - Repeat the previous FIND operation (see ESC
       operations, below) from after the current
       cursor position,

5) ESC Operations.

 When you hit the ESC key, you get a menu of the
operations available. At the bottom of this menu
there is a handy list of the CTRL functions as well.
The ESC operations are performed by hitting the
corresponding letter after hitting ESC. If you just
want to see the menu, hit ESC when it is displayed
in order to return to editing the file. The meaning
of these operations is:

 T - Move to the first character of the file.

 B - Move to the last character of the file

 F - Accept a string of characters and find the
       next occurance of them in the file. The
       characters are entered at the bottom of the
       menu screen, ending with RETURN. If the FIND
       operation is to be repeated with the same
       characters, hit ^F. You have to be careful
       here, as the string will be found only if it
       is an exact match for the one entered. In
       looking for a match, upper case letters are
       considered to be different from lower case
       letters.

 H - Here is the start of a block of characters to
       be deleted or written to disk.

 D - Delete everything from the last "(esc)H" to
       the current cursor position. In order to use
       "(esc)H" and "(esc)D", they must be issued
       as follows:

       1) Move the cursor to the first character
          to be deleted.

       2) Hit "(esc)H".

       3) Move the cursor forward to after the last
          character to be deleted.

       4) Hit "(esc)D".

 N - Set the file name to be used for I, W, S or X.
       The file name, in standard CP/M format is
       entered at the bottom of the screen.

 I - Insert the file named at the top of the screen
       into storage starting at the current cursor
       position.

 S - Save the current edited data into the file
       named at the top of the screen. If this save
       is the first one after doing a load, and the
       LOAD/SAVE file name has not been changed by
       use of the (ESC) N function since, then the
       old file is renamed to have a file extension
       of ".BAK" before writing the new file.

 W - Write a portion of the text out to the current
       file. The block to be written is from the
       previous "(esc)H" down to the current cursor

      position. "(esc)W" can be used to move text
       from one part of the file to another via an
       intermediate file. another interesting use
       of "(esc)W)" is when you are unable to save
       a file due to a full disk, you can use
       "(esc)N" to point at some large existing
       file and then "(esc)W" to replace it with a
       much smaller one; almost the same as erasing
       it!

 P - Print the entire file on the printer (CP/M
       LST: device). You will be given the chance
       to type in a string of characters to be sent
       to the printer for initialization before the
       file data itself is sent.  VDO performs no
       fancy text reformatting, or pagination. It
       just sends it out to the printer. You may
       want to use the initialization string to set
       TAB stops, for example, or you could store
       the codes necessary to set it up in a file.

 Q - Quit. Give up. Abandon the edited file. Do not
       save the altered version of it. Q is used
       when just looking.

 X - Exit. Do a SAVE and a QUIT.

 L - Load a different file. Abandon the current
       edited file, ask for a new name, and go
       load it.

6) Saving the edited file.

If you load a file, edit it, and then use "(esc)X"
to return to CP/M, VDO will rename your original
file from (for example) "MYFILE.ASM" to "MYFILE.BAK"
and then write the edited text into "MYFILE.ASM".
If you do not have room for the ".BAK" copy on your
diskette, you may have VDO simply replace the old
file by using "(esc)N" to specify the same name as
a new name. If you find, on doing a SAVE, that the
destination diskette is full, you may simply change
to an emptier diskette and retry the save there.

7) Graphics and other special keys available.

There are a few useful characters hidden in your
Osborne, and I'm not refering to Thom Hogan or
Lee Felsenstein; I mean things like { or } or ~.
Take a look: they aren`t on the keyboard!

Here is what you can input using VDO:

 Special characters using CTRL:

   ^, generates  {
   ^. generates  }
   ^/ generates  ~
   ^= generates  `

 Special characters which must be preceeded by ^P:
(NOTE: If you are reading a printed listing of this
document you will not see the pretty graphic char-
acters in the second column, and some of them may
do strange and wonderful things to your printer when
they get there. ^P^S turned my printer off!)

  Input Graphic  Notes...
   ^P^A
   ^P^B
   ^P^C
   ^P^D
   ^P^E
   ^P^F
   ^P^G
   ^P^H
   ^P^I ....Tab - does not display as graphic.
   ^P^J ....Not available - LF is discarded by VDO
   ^P^K    (used as vertical tab by some printers)
   ^P^L    (used as forms feed by some printers)
   ^P^M ....Not available - Actually is CR
   ^P^N    (SO for printers)
   ^P^O    (SI for printers)
   ^P^P
   ^P^Q
   ^P^R
   ^P^S
   ^P^T
   ^P^U
   ^P^V
   ^P^W
   ^P^X
   ^P^Y
   ^P^Z ....Not available, signals end of file.
   ^Pesc SC; used by many printers
   ^P^\
   ^P^-
   ^P^?    DEL

Unfortunatly, some of the graphic characters are not
available since they correspond either to some value
that has a special meaning in an ASCII file, such
as ^I, ^J, ^M, or ^Z, or to values which cannot be
entered from the Osborne keyboard such as the hex
values 00, 1D, or 1E which would give , , or  if
they could ever be entered.

8) Alterations to VDO. If you have the Screen-Pak
(80 column) option on your Osborne, you may change
the point at which VDO shifts the text from 52 to
80 by using DDT to change location 103 to be the
new screen size. The operation would look like this:

  A>ddt vdo.com