home *** CD-ROM | disk | FTP | other *** search
- VDE23.DOC
- ---------
- Instructions for VDE (Video Display Editor):
- VDE, VDM 2.30 (9/86)
-
- (c)1986, E. Meyer
-
- ==============================================================================
-
-
- VDE is a small, powerful text editor for CP/M computers. It offers:
- ---
- * full-screen editing * full block operations
- * windowing * disk file input/output
- * auto horizontal scroll * powerful macro functions
- * wordwrap and formatting * find/replace
- * pagination * undelete
- * disk utilities * many user options
-
- VDE is small (under 10k) because it is written in assembler. VDE is fast
- because it edits a file entirely in memory. (This does impose a limit on the
- maximum file size; however, VDE compresses text, so you can actually edit a
- file somewhat larger than the available memory.)
- VDE produces standard ASCII text files, compatible with virtually all
- other software. This makes it an ideal programmer's editor. On the other
- hand, with wordwrap and similar features, it is an efficient (though not
- fancy) word processor as well. VDE can even read in WordStar "document"
- files, though it will convert them to plain ASCII ("non-document") text.
- VDE requires a Z80 CPU, and fully supports both CP/M 2.2 and 3.0 (Plus).
- The generic version of VDE can be installed for practically any terminal, and
- is fast enough in its screen operations that it even works well on laptop
- computers with slow LCD displays. There is also a special version VDM for
- computers with memory-mapped video (MMV) only, which is even faster if your
- hardware supports it. See the section on using the VINSTALL program, below.
- Hereafter "VDE/M" refers to either version; "VDE" alone may also refer to
- either, unless a distinction is being drawn between generic VDE and VDM.
-
-
- USING VDE
-
- VDE is invoked from CP/M: A>vde [filename]
-
- If you omit the filename, VDE will ask you for it. If it's a new file, it
- will of course be empty. If an existing file is too large to fit in memory,
- VDE will not be able to edit it.
- VDE gives you a "status line" at the top of the screen which includes the
- filename, cursor position, INSERT toggle (if on), and prefix flag (if on).
- The position is given by page, line, and column, according to the page length
- value you have installed. At first, the prefix flag will be reminding you
- "ESC-? = menu". If you hit ESC-?, you will get a brief menu of the various
- VDE commands. The menu, like all command prompts and error messages, appears
- temporarily in the top portion of the screen; it is removed when a command is
- selected. It also includes the amount of free memory.
- VDE/M can handle lines of up to 255 characters. When the cursor moves
- past the edge of the screen, the VDM display will scroll horizontally. [VDE
- scrolls a single line, then after a delay the rest of the screen.]
- The VDE command set is similar in many respects to WordStar's, though not
- identical. There are ESC- commands, which mostly correspond to WordStar ^K
- (Block) commands; ^Q- and ^O- commands; and other single-control-key commands.
- The similarities are strong enough that a WordStar user should have no trouble
- adapting to VDE. Differences remain because of the extra functions provided
- by VDE, and the need to support both WordStar and CP/M arrow keys.
-
- THE STATUS LINE AND MENU
- ------------------------------------------------------------------------------
- File D:FNAME.TYP Pg 1 Ln 1 Cl 1 INSERT ESC-
- VDE 2.30 (46174 bytes free)
- ESC- Take Print | ^Q- <udrl> | ^O- B fmt | ^F,A wd r,l ^V INSERT
- <udrl> Copy Name | B block | L,R margins | ^R,C pg u,d ^N insrt CR
- Block Macro Load | R,C TOF,EOF | X rel mrgns | ^B reform DEL,^G d l,r
- Write Key Save | F find | C,F ctr,flsh | ^^ tog case ^T,Y " wd,ln
- Read Files eXit | A replace | P tog pagn | ^P pr code ^U,^QU undel
- Delete Erase Quit | DEL,Y del l,r | W window | ^W wait ^Z rpt find
- ------------------------------------------------------------------------------
-
- ==============================================================================
-
-
- COMMAND SUMMARY
-
-
- I. CONTROL KEYS: single keystroke commands, function without prefix.
-
- Basic keys: CR is a carriage return.
- BS is a nondestructive backspace.
- TAB is a real Tab, ^I.
-
- Arrow keys: CP/M: ^K up, ^J dn, ^L rt [Can be reconfigured];
- WordStar: ^E up, ^X dn, ^D rt, ^S lft.
- ^F = word right.
- ^A = word left.
-
- ^R = scroll upward one screen.
- ^C = scroll downward one screen.
-
- ^G = delete character to the right of the cursor.
- DEL = delete to the left. [Can be reconfigured]
- ^U = undelete a character.
- ^T = delete word to right of cursor.
- ^Y = delete current line.
-
- ^N = insert a carriage return at present position.
- ^V = toggle INSERT mode on and off.
-
- ^^ = toggle case (upper/lower) of character at cursor.
- ^P = insert following control code.
- ^B = reform a paragraph with current margins.
- ^Z = repeat find. (Repeats the last ^QF command.)
- ^W = wait. (Brief pause, useful during Macros.)
-
-
- II. QUICK COMMANDS: first hit ^Q, then the key shown. (ESC cancels)
-
- ^Q Arrows: The Right and Left arrows (including ^S/D), when pressed
- after ^Q, move the cursor quickly to the beginning or end
- of the line. The Up and Down arrows (including ^E/X) move
- to the top or bottom of the screen.
-
- ^Q B = move to block marker (if set with ESC-B).
- ^Q R = move to top of file.
- ^Q C = move to end of file.
-
- ^Q F = find next occurrence of a string.
- ^Q A = global find/replace (see below).
-
- ^Q Y = delete from cursor to end of current line.
- ^Q DEL = delete from cursor to beginning of current line.
- ^Q U = undelete a line.
-
-
- III. ONSCREEN COMMANDS: first hit ^O, then the key shown. (ESC cancels)
-
- ^O R = set right margin (column 1 turns off wordwrap/reformatting).
- ^O L = set left margin.
- ^O X = release margins (do ^OX again to restore).
- ^O C = center current line with respect to margins.
- ^O F = align a line flush to the right margin.
- ^O B = format a paragraph with left margin at current cursor
- column to a new set of margins.
-
- ^O P = toggle pagination on/off.
- ^O W = toggle windowing on/off.
-
-
- IV. ESCAPE COMMANDS: first hit ESC, then the key shown. (ESC cancels)
-
- ESC ? = menu. Display a brief menu of all VDE commands.
- Also shows free memory. Press ESC to clear.
-
- ESC TAB: The TAB key, when pressed after ESC, moves to the next tab
- stop by inserting spaces (instead of an actual Tab).
-
- ESC Arrows: The Up and Down arrow keys, when pressed after ESC,
- scroll the screen vertically by 4 lines, without moving
- the cursor unless necessary.
- The Right and Left arrows, pressed after ESC, scroll
- the screen horizontally by 30 columns, if this can be
- done without moving the cursor.
-
- ESC F = Files. Look at the directory of a disk.
- ESC E = Erase. Erase a disk file.
- ESC L = Load. Load a brand new file to begin editing.
- (Asks for confirmation (Y/N) first)
- ESC N = Name. Change the current filename (affects Save, eXit).
- ESC S = Save. Save the current file, but continue editing it.
- ESC X = eXit. Do a Save, then a Quit (no confirmation needed).
- ESC Q = Quit. Abandon current file and exit VDE.
- (Asks for confirmation (Y/N) first)
-
- ESC B = Block. Mark the start of a Block.
- ESC D = Delete. Delete everything from Block start to cursor.
- ESC T = Take. Take text from Block start to cursor into copy buffer.
- ESC C = Copy. Copy text from copy buffer to present cursor position.
- ESC W = Write. Write everything from Block to cursor to a disk file.
-
- ESC R = Read. Read a disk file into text at cursor position.
- ESC P = Print. Print the file as it now stands, from memory.
-
- ESC M = Macro. Execute a string of commands repeatedly.
- ESC K = Key. Store Macro on function Key for later recall.
- ESC 0..9 = Use stored Key. (In macro mode: label.)
- ESC !,=,~,# Used in Macro programming (see below).
-
- ==============================================================================
-
-
- EXPLANATION OF SELECTED COMMANDS
-
- BLOCK COMMANDS (ESC-B,D,T,C,W, ^QB) - ESC-B marks the beginning of a Block.
- (The marker will display according to your terminal installation, quite
- likely as a highlighted "B", and will remain until deleted or reset.)
- There is no Block end command; wherever the cursor is when you execute a
- block operation (ESC-D,T,W) is the end of the block. (If the Block
- marker is not set, block operations will not work.)
- Modest block moves and copying can be done using ESC-T to Take the
- block into the copy buffer, (ESC-D to Delete the original if desired,)
- and ESC-C to Copy it back elsewhere in the file (or in another file).
- The block remains in the copy buffer until replaced.
- The ^QB command moves the cursor back to the Block marker.
-
- DISK OPERATIONS (ESC-F,E,R) - On using the ESC-F command, you will be asked
- to specify a drive, and its directory will be shown. If there is not
- enough room to fit all the files on the screen, you will see "..." at the
- end to indicate that there were still more. Press ESC to return to
- editing. [ESC-F may be configured to ignore SYStem files.]
- ESC-E can erase a disk file. (Like all VDE commands, it will not
- accept wildcards in the filename.)
- ESC-R reads in an entire disk file, placing the text at the current
- cursor position.
-
- FIND, REPLACE (^QF, ^Z, ^QA) - Once a string is "found" with ^QF its next
- occurrence can be found with ^Z. (^Z does not repeat ^QA.) Matching is
- case sensitive, and there are no wildcards; but control codes (including
- newline, ^M) may be included with ^P.
- ^QA is the global find/replace command. It goes to the top of the
- file, asks for a string to find, and what to change it to. The cursor
- will be placed in succession on each occurrence of the string in the
- file. To change it, press "Y"; anything else skips to the next. If you
- want to change all further occurrences without being asked, press "*".
- ESC cancels at any time.
-
- MACROS (ESC-M) - The macro string may contain text, control keys, escape
- commands, etc as desired, and will execute exactly as if you had typed in
- that same sequence. You will then be asked for a "Repeat count".
- Usually you will simply type a number for the repeat count (0-9, or "*"
- for "global" -- actually 255 times). You will see the results as the
- macro executes, and you can abort it at any time by pressing ESC.
- If you want to put a brief pause in the execution of a Macro, use
- the Wait command, ^W. (Example: "^C^W" is a simple Macro to browse
- through a file.)
- If you are sure you know what you're doing, you can speed up Macro
- execution by specifying "Quiet" mode: press "Q" before the repeat count.
- Only the line/column counts will be updated as the Macro runs. (This is
- particularly useful on laptop computers with slow LCD screens.)
- Macros also stop any time an error occurs; the error message will be
- visible, and can be cleared by pressing ESC. Many commands (like Find or
- Reformat) are designed to generate errors at the end of the file so
- that a global ("*") Macro containing them will halt there. Other global
- Macros may need to be aborted manually.
- CAUTION: Macros can be confusing, even dangerous; be careful.
- Macros don't nest; if you use ESC-M in a macro, the original is simply
- replaced. A repeat count of "*" will insist on repeating 255 times, even
- once the end of the file is reached, unless an ERROR occurs.
- ESC-M turns INSERT OFF first for consistency, so that the same macro
- will always work the same way.
- Here is an example of a macro. Can you figure out what it does?
- (Answer: .elif eht fo dne eht ta meht fo tsil a gnikam elif a fo tuo
- sesehtnerap ni stnemmoc lla ekat lliw tI)
- ^QR,^QF,(,CR,^G,ESC-B,^QF,),CR,^G,ESC-T,ESC-D,^QC,CR,ESC-C
- (Onscreen you will see: QRQF(MG[BQF)MG[T[DQCM[C )
- VDE Macros are very powerful tools, particularly given their program
- ability (see below) and storage on function keys. They can be used to
- customize VDE for any task, such as the formatting requirements of
- specialized writing or programming languages.
-
- MACRO KEYS (ESC-K) - The Key function gives you a convenient way to store
- Macros for later use. Up to 10 Macros can be stored (0..9), by entering
- them with the ESC-M command, then using ESC-K to save them. They can
- then be recalled and used simply by typing ESC-<number>. Example: typing
- ESC-K-0 will store the last Macro used as Key 0, and it can be recalled
- and reused at any future time simply by typing ESC-0. [VINSTALL also
- allows you to install a default set of macro Keys.]
- Ordinarily, Keys operate just like the original Macro: they will
- ask for "Quiet/Repeat count" when executed. If you want to suppress this
- (giving something more like a "function key", that only executes once)
- you can type "N" (for No repeat) before storing the key number. Example:
- ESC-K-N-0 stores a Macro in Key 0 as a once-only function key. Similarly
- you can make it a QUIET once-only key with "Q": eg ESC-K-Q-0.
- If the Macro (ESC-M) string is empty, using ESC-K will delete any
- Key definition. Using a Key replaces whatever was previously in the
- Macro string. Trying to use an undefined Key results in an error.
- Redefining a Key simply replaces its former value.
- There are 245 bytes total available for all 10 Keys (and a 65 byte
- limit for any one Key.) If your request to store (ESC-K) exceeds the
- limit an error will result.
- Besides simply storing Macros, here are some useful function Keys:
- 1. Showing a ruler line. The following sequence:
- ^V, CR, TAB,!,TAB,!,TAB,!,TAB,!,TAB,!,TAB,!, CR, ^V
- can be used to display a ruler line showing tab stops.
- 2. Storing different sets of margins (eg for quotes): for example,
- ^OR, 12, CR, ^OL, 66, CR
- 3. Typing any frequently repeated phrase; "ESC-6" is much more
- convenient than "World Wide Widgets Inc."
-
- MACRO PROGRAMMING (ESC-0..9, ESC-!,=,~,#) - VDE has several commands which
- function only in a Macro string, and give you control over the execution
- of a macro, allowing real programming.
- ESC-0..9, when in a Macro, function as "labels" 0..9. They have no
- effect, but can be "jumped" to by other commands.
- ESC-! followed by 0..9 is a simple "jump" instruction, causing macro
- execution to resume with the command following the label ESC-0..9. As
- two special cases, ESC-!-[ jumps to the beginning of the Macro, and ESC-
- !-] jumps to the end (aborts).
- ESC-= and ESC-~, followed by a character and then a label (or "[",
- "]"), are conditional jumps: they will jump to that label IF the
- character at the cursor position does (or for "~", doesn't) match that
- specified.
- ESC-= and ESC-~, followed by a character and then ">" or "<", are
- search loops. They will continue to move the cursor right (or for "<",
- left) as long as the character at the cursor does(n't) match, or until
- the beginning or end of the file.
- ESC-#, followed by 0..9, is used to "chain" to another macro key.
- In this way you can build up strings longer than the 65-byte limit on
- any one key. It does not "call" the key; there is no returning.
- Macro programs are stored just like any other macro string (usually,
- though not necessarily, with no repeat count). If these commands are
- misused, you will probably get an error. If you program in an endless
- loop, you will at some point have to abort with ESC. Don't make macro
- programs "quiet" until you're sure they work.
- Example: stripping (varible numbers of) leading spaces. The macro:
- ^QS, ESC-=-sp->, ^Q-DEL, CR
- will delete all leading blanks on a line (give any desired repeat count).
-
- MARGINS, WORDWRAP, CENTER, FLUSH, FORMAT (^OR,L,X, ^OF,C, ^B,^OB) -
- ^OR sets the RIGHT margin, and turns ON wordwrap, formatting, and
- centering. The default is column 1, which turns OFF wordwrap, etc. At
- the prompt "Column:" enter the column number (1-255), or just hit RETURN
- for the current cursor column. If this value is to the left of the left
- margin, the left margin will be reset to 1.
- ^OL sets the LEFT margin where the cursor is. Must be to left of
- the right margin, which must have been set first. The default is 1.
- Wordwrap automatically aligns text, as it is typed in, within the
- current margin settings.
- ^OX temporarily RELEASES the margins (sets them to 1); use ^OX again
- to restore the previous margins.
- ^OC CENTERS a line with respect to the margins, if set.
- ^OF FLUSHES a line over to the right margin, if set.
- ^B REFORMS from the line the cursor is on, to the end of the
- paragraph, according to the current right margin (the LEFT margin must
- remain the same). Paragraphs must either be indented beyond the current
- left margin with spaces or tabs, or separated by a blank line; otherwise
- they will all run together. (VDE doesn't use soft spaces or CRs; it has
- to guess what you want when you try to reformat text. Usually this works
- pretty well; but be cautious with formatted columns and tables, etc.)
- ^OB FORMATS text (like ^B), but can also handle text created with
- a different left margin. Place the cursor in the original left margin
- column of the existing text, then type ^OB.
- CAUTION: ^B and ^OB are different. Trying to change the left margin
- with ^B, or using ^OB in the wrong column, can create a mess!
- VDE can't actually hyphenate, but it does recognize hyphens ("-")
- that you have put in the text yourself. If VDE needs to break up a line,
- it will treat a hyphen as a legitimate place to do so. (If you have a
- long word that you'd like to have broken up, put a hyphen in it some-
- where.) If VDE is trying to recombine lines and finds a hyphen at the
- end of one, it will quit with an error. You must join the lines (and
- delete the hyphen, if desired) manually, then press ^B again.
-
- PAGINATION (^OP) - The ^OP command toggles pagination. When on, the default
- page length is reflected in the VDE header ("Pg xx..."), and all page
- functions in the Print routine (formfeeds, headers, start/stop print) are
- enabled. When off, the header will say "Pg 0", and the line count ("Ln
- xx...") will be the line number in the file; also, printing sends the
- whole file out at once, with no pagination from VDE.
- [You cannot toggle pagination on if the default page length is 0.]
-
- PRINTING (ESC-P, ^P) - The ESC-P command Prints the file from memory. You
- will be asked for a set of "Options:", at which point you may enter one
- or more of the following, in any order:
- ^ causes control characters ^X to be FILTERED to ASCII "^X".
- *nn causes the job to print out nn TIMES (nn=1..255).
- @nn causes printing to begin AT page nn.
- #nn causes a MAXIMUM of nn pages to print.
- "..." causes quoted string to print out as a HEADER. The string will
- print at the left, and the page number will appear near the right margin.
- (Maximum header length is 50 characters; use an empty string, "", to get
- numbered pages with no header text.)
- The last three options are NOT allowed if pagination is off (^OP).
- Example: Options: *2 "Instructions" @6#1
- will print out page six of the file twice, with the header shown.
- [Codes to initialize the printer can be specified in the Printer
- Installation section of VINSTALL.]
- You can abort at any time with ESC (though this may take a moment,
- or a few keystrokes, depending on your BIOS).
- For printer control, VDE supports a subset of WordStar ^P print
- codes. These can be entered with ^P, then the control code. First there
- are simple embedded codes:
- ^H - overstrike previous character
- ^L - formfeed (Not recommended when pagination (^OP) is on)
- Then there are seven user-definable codes: three toggles, four switches.
- The Printer Installation in VINSTALL allows you to choose what codes you
- want, and install the control sequences your printer needs. The defaults
- are toggles ^D, ^S, ^Y
- and switches ^Q, ^W, ^E, ^R.
- These correspond to the Doublestrike, Underline, and Ribbon toggles, and
- the four User Codes, in WordStar. Toggles are well suited to features
- (like ^Sunderline^S) that will be turned on and off.
- Control codes other than the 7 installed ones will simply print out
- "as is", that is, ^[ will print as ESC, etc. The only codes you cannot
- enter into a file are ^B and ^Z. Control codes display on screen as (if
- possible, highlighted) letters. Unfortunately, VDE does count these
- codes when reformatting text. Where format is critical, insert ^P codes
- last.
-
- TABS (^I) - The TAB key alone produces a single ^I. When preceded by ESC,
- it moves the cursor over the same amount, but by spaces instead. Either
- way, whether it overwrites existing text depends on the INSERT toggle.
- [The Tab stops are configurable to 2, 4, 8, 16 (etc) columns.]
-
- UNDELETE (^U, ^QU) - The undelete functions can be used (repeatedly if
- necessary) to recover up to 2k of text deleted by overstriking, or with
- ^G, ^T, ^QY/^Y, ^Q-DEL, or ESC-D, as long as the cursor has not been
- moved since. ^U undeletes one character; ^QU does a whole line.
- (Restriction: After DEL, ^U is only good for one character.)
- Further use after all deleted text is recovered will produce either
- duplicates of existing text or junk.
-
- WINDOWING (^OW) - The ^OW command takes the 11 lines of text beginning on the
- cursor line, and splits the screen into two Windows. The bottom window
- retains a copy of this text, while the top window continues to function
- normally. This is useful when comparing different portions of text
- within a file, or even between different files. Use ^OW again to remove.
- Windowing only works on 24 line screens.
-
- ==============================================================================
-
-
- FURTHER INFORMATION
-
- BACKUP FILES - When you edit a previously existing file, VDE will normally
- create a backup (BAK) file each time you save (with ESC-S or ESC-X).
- This can be suppressed entirely with VINSTALL.
- There is one exception: if the ESC-N command has been used to change
- the filename, BAK files will no longer be made. (Thus you can tempor-
- arily avoid BAK files by renaming a file to itself.)
- The block write command (ESC-W) does not create BAK files.
-
- INTERRUPTION - If VDE gets interrupted by a message from some other software
- (BIOS error, resident utilities, etc), it may lose control of the screen.
- You can always restore the text by, for example, scrolling up and back
- down again (^R^C).
-
- RUNNING OUT OF ROOM - VDE has excellent error recovery, under both CP/M 2.2
- and 3.0: BDOS errors are trapped entirely within VDE, so you will never
- lose any text.
- If you run out of disk space, you can just swap disks (you should
- always keep a blenk FORMATTED disk around). Alternatively, you can use
- the ESC-F and ESC-E commands to delete unneeded files.
- If you want to Take a block to copy it, but run out of memory, write
- it out to a disk file instead.
- Remember that the copy block remains in memory. If you run low on
- memory, you may want to delete it (by Taking nothing, ESC-B ESC-T).
- If you want to Copy it back but don't have room, delete some text or Load
- a new file first.
- You can always find the amount of free memory in the ESC-? Menu.
-
- SPACE COMPRESSION - VDE 2.1 uses a new text compression algorithm that can
- effectively increase memory capacity by over 25%. (I have loaded a 67k
- text file into 53k of free RAM.) Of course this compression is undone
- when writing the file back to disk.
- (Earlier versions of VDE used a compression algorithm inherited from
- VDO, that was about half as efficient.)
-
- STRING ARGUMENTS - When confronted with a prompt like "Find:", you are
- expected to type in a string (up to 65 characters) then hit CR. During
- this process, you can correct mistakes with BS, DEL, or any left arrow;
- and ^X will delete the whole entry. Note that to get any of these codes
- into the string itself, you must precede it with ^P (this includes ^P).
- Examples: to find a line beginning with a "*" (find "CR,*") type
- ^QF, ^P,CR, *, CR.
- Now to get this into a Macro with ESC-M, you would have to type (whew)
- ESC-M, ^QF, ^P,^P, ^P,CR, *, ^P,CR, CR.
-
- ==============================================================================
-
-
- MESSAGES
-
- All messages appear in the line just below the header. First
- there are PROMPTS requiring user input (though most assume a natural
- default, or exit, if you just type RET):
-
- "Abandon file?" - please confirm ("Y") a Quit or Load request.
- "Find:", etc - enter the string argument for the command.
- "Column:", etc - enter a number 0..255
- "[Quiet], Repeat count:" - enter [opt. "Q" and] repeat count for Macro.
- "[No rpt/Quiet], Key number:" - enter [opt. "N/Q" and] key number for Key.
-
- Then there are the (temporary) INFORMATIONAL messages:
-
- "I/O working... please WAIT" - disk or printer operations in progress.
-
- Then there are ERROR messages: you need to press ESC to continue.
-
- "Out of Memory" - the file, block, or key string won't fit in RAM.
- "Invalid Key" - an illegal control or ESC sequence was pressed.
- "I/O Failure" - file not found, disk full, empty/invalid drive, etc.
- "Cannot Reformat" - end of file; hyphen at end of line; or word too long.
- "Not Found" - the search string was not found.
- "Syntax Error" - a macro programming command was misused.
- "Error" - the command used won't work in this situation.
- (Example: block isn't marked...)
-
- ==============================================================================
-
-
- INSTALLING AND MODIFYING VDE
- ----------------------------
-
- As distributed, VDE is set up for Osborne computers, and VDM is set up
- for an Osborne Executive. If you use another computer/terminal, you will most
- likely have to re-"install" VDE/M; otherwise it will make more or less of a
- mess on your screen, and (possibly, with VDM) crash.
- The default printer installation is empty. You will probably want to
- redo this, so you will have access to your printer's special features.
- There are also many options affecting the operation of VDE that you can
- select or modify to suit your taste.
- All this can be done using the VINSTALL program, which should be
- distributed as part of VDE.LBR.
-
- VINSTALL SYNTAX: A>vinstall [d:]vde/m [termname]
-
- You can use VINSTALL to modify VDE/M.COM simply by typing:
- A>vinstall vde
- Alternatively, you can use (or create) an INSTALLATION FILE by typing:
- A>vinstall vde termname
- In this case, VINSTALL will load the file TERMNAME.VDE (or VDM) and install
- it, if it already exists; and will create or update it at the end, when you
- save and exit. Example: you can create the file OSBEXEC.VDM, to install VDM
- for the Osborne Executive, simply by typing:
- A>vinstall vdm23 osbexec
- and then choosing to "SAVE", since that is how VDM is already installed by
- default. Alternatively, you can create KAYPRO84.VDE, to install VDE for New
- Kaypro (84) computers, by typing:
- A>vinstall vde23 kaypro84
- Then go through the "Terminal Installation" routine. (The only values you
- would need to change are "erase to end of line" and "alternate video".) When
- you save, the new configuration will be written to KAYPRO84.VDE as well.
- Each installation file (VDE or VDM) is 1k, and includes only the terminal
- installation data (not options, printer, keys, etc). Once you've created one
- for your terminal, please circulate it for the benefit of others.
-
- The version numbers of VDE/M, VINSTALL, and any installation files must
- "agree" or you will get an error. The match need not be exact, as there may
- be a new release of VDE without modifying the installation areas. But if
- there has been a change in these, a new version of VINSTALL will be provided,
- and you will have to create new installation files.
-
- VINSTALL is largely self-documenting, and steps you through each item
- individually. If this is your first time running the program, take advantage
- of the "Help" option before you start in, for some basic instructions. What
- follows is a more detailed explanation of installation items, in about the
- same order as in the VINSTALL procedure.
- Note that all the number entry in VINSTALL is hexadecimal; you will find
- a good ASCII/base-conversion chart helpful. The only error that VINSTALL can
- detect is the attempt to define a longer hex string than will fit; it can't
- check for legal values. Don't install illegal values, or VDE will behave very
- strangely.
-
- CONFIGURING USER OPTIONS
- Create BAKup files (Y/N) - Do you want backup files to be made when you
- save a file with VDE?
- Default insert on (Y/N) - Do you want the INSERT toggle to start out on
- when VDE loads a new file?
- Left and Right margin columns (00-FF hex) - Default margin settings.
- Set both to 1 to turn off wordwrap and reformatting.
- Tab spacing -1 (01,03,07,0F,1F...) - The tab spacing can be 2, 4, 8, 16
- (etc) columns, any power of 2. Enter one less than the value desired, in
- hex, as shown above. Other values cause the TAB key to act erratically.
- Page length (00-FF) - Set the page length to affect header display and
- printer pagination. Set to 0 to turn off pagination entirely. [Note:
- this is the number of lines you want to print, not the physical length of
- the sheet, and does not include an extra 3 lines for a header if used.]
- Scroll overlap (00-lines) - This is the number of lines overlap between
- screens when scrolling with ^R/^C. The smaller, the faster the scroll.
- Show system files (Y/N) - Do you want files with the SYStem attribute
- to show in the VDE directory display?
- Ring bell on error (Y/N) - Do you want your terminal bell to ring when
- a VDE error message displays?
- Clock speed in MHz (01-FF) - Set this to your CPU clock speed; many
- CP/M computers are 4.0 MHz (use 40 here). Can also be adjusted to vary
- length of delays in VDE.
-
- TERMINAL INSTALLATION (Both versions)
- VDE will run on nearly all computers, and is very easy to install. If
- you have memory-mapped video, you may be able instead to use VDM, which is
- much faster, but requires a bit more skill to install. First there are some
- things in common in both installations:
- Terminal ID - This is just a place to put the name of the terminal you
- are installing (up to 16 characters).
- Viewable screen columns (28-FF) - Enter the width of your screen in
- columns. The normal value is 50 for eighty columns.
- Screen lines -1 (07-1F) - Enter one less than the number of lines on
- your screen. Normally 17 for twenty-four line screens.
- DELete character (00-7F) - Normally 7F. If your keyboard can't
- generate this, and you want a DEL key, change it to something else.
- Arrows up, down, right, left (00-7F) - Enter the ASCII codes for your
- terminal arrow keys in this order, one byte each. Ignore parity. Use a
- value of FF to mean "not used". (Wordstar arrows ^E,^X,^D,^S and
- backspace ^H are always accepted, and should not be redefined here.) The
- default set is CP/M ^K,^J,^L, entered as 4B4A4CFF.
- Terminal init, uninit - Enter the codes you want sent to initialize
- your screen on entry into VDE, and to uninitialize on exit, in the form
- (# of bytes),bytes. You will at least want to clear the screen, and can
- optionally do other things as well. Example: ^Z alone is common, (01)1A.
-
- TERMINAL INSTALLATION (Generic)
- VDE should run with adequate speed on most terminals. If your BIOS
- doesn't buffer the keyboard well, you might lose characters when typing while
- the screen is being updated. If so, consider the following hints:
- (1) Installing Scroll Up/Down [see below] correctly makes a big difference.
- (2) Response speed improves if you have INSERT OFF while typing in text.
- Installation:
- Horizontal scroll delay (01-FF) - This controls the delay between
- scrolling the current line and scrolling the rest of the screen, when
- working beyond column 80. The average value is 80h; adjust as you like.
- Also affected by the setting of clock speed, above.
- Clear to end of line - Enter the ASCII string to clear to the end of
- the line, as (#),bytes. Example: (02)1B54. If your terminal can't do
- this then zero it out (00).
- Alternate video on/off - Enter the codes (#),bytes to turn some video
- mode (eg inverse), that you want to use to highlight control codes, on and
- off. If your terminal can't do this, zero them out (00).
- Use high bit for alt. video (Y/N) - If your terminal needs the high bit
- set on characters to get them in alternate video, zero the above strings
- out and say Yes here; otherwise, No.
- Console filter (7D-FF) - This is the highest ASCII code that will be
- sent to the screen. Normally 7F; if your terminal can't display codes 7F
- or 7E (DEL and tilde), lower this to 7E or 7D.
- Cursor column before row (Y/N) - Normally No; if your terminal expects
- column,row order when positioning the cursor instead of row,column, say
- Yes. (Don't worry; if you get this wrong, you'll notice!)
- Position cursor at (0,0) - Enter the 4-byte sequence for addressing the
- cursor to the top left: two lead bytes, then two row/column values. Most
- terminals use ESC,=,20h+row,20h+col, or 1B3D2020. If you have only one
- lead byte, make the first something innocuous.
- Scroll up and down - What is wanted here is to get the text to scroll
- up or down a line, by either deleting or inserting a line at the top. A
- common way to do this is to send the cursor to the second screen line
- (first text line) and delete/insert a line. Example: on an ADM3-style
- terminal, 1B3D2120 puts the cursor on line 2, 1B52 deletes a line, and
- 1B45 inserts a line. So what you need for scroll up is (06)1B3D21201B52,
- and for scroll down (06)1B3D21201B45. Some terminals require different
- approaches; if yours can't do this at all, zero this out (00).
-
- TERMINAL INSTALLATION (Memory-mapped)
- VDM assumes the following about video memory: (1) its high bit can be
- used to highlight and provide a cursor; (2) its absolute address is at or
- above 3000h (above VDM code itself). Installation:
- Unused columns of RAM (00-FF) - Enter the number of unused bytes in
- video RAM between the end of one visible line and the start of the next.
- Example: many computers have 128 bytes of RAM per line, but only show 80
- of them. So there would be 48 unused columns (30 hex).
- Cursor on/off - Enter the codes (#),bytes to turn the regular CP/M
- cursor on and off, so it won't appear on the VDE screen. If you can't do
- this zero them out (00), and the cursor will remain visible at the upper
- corner of the screen.
- Video RAM start (3000-FFFF) - Enter the starting address of your video
- memory, in hex.
- Video in/out code - If your video RAM is in the ordinary bank of
- memory, just put C9000000... here (that's a RET instruction). Otherwise,
- you will need the machine-language code to switch video memory in and
- out. There are 16 bytes for each routine, and you must preserve all the
- CPU registers, and end with a RET. You should find the assembler code to
- do this in your terminal manual; to convert it to hex, either look up the
- hex values in a Z80/8080 reference book, or use DDT or ASM/MAC to write
- and assemble the code to hex form.
-
- PRINTER INSTALLATION
- Printer ID - Just room for a text string (16 bytes) to identify the
- printer you are installing.
- Printer initialization - Enter a string of codes (#),bytes to send to
- the printer before printing text, to set print mode, margins, etc. If
- none, zero it out (00).
- Send LF after CR (Y/N) - Normally Yes. But with some printers, which
- manufacture their own LF on receiving a CR, you will want No here.
- Toggles and switches - Enter the ASCII codes for the three toggles,
- then four switches, as described above. Toggles turn a feature on and
- off again; switches just send the same code each time. The defaults,
- which correspond to Wordstar, are toggles ^D,^S,^Y (doublestrike,
- underline, and ribbon) and switches ^Q,^W,^E,^R. You can use any codes
- here EXCEPT ^B,^H,^I,^J,^L,^M,^Z, which are used for other purposes.
- Codes for toggles (on/off) - Enter the codes (#),bytes to send to the
- printer on encountering each of the three toggle codes. See your printer
- manual.
- Codes for switches - Enter the codes (#),bytes to send to the printer
- on encountering each of the four switches.
-
- MACRO KEYS
- VINSTALL gives you the ability to install a default set of macro keys.
- (It also lets you see the keys, which VDE can't.) Keys defined with ESC-K
- while running VDE override the defaults, but are only temporary. VINSTALL
- gives you a display much like this:
-
- MACRO KEYS: (C7 bytes free) <---- note free bytes (up to F5 = 245)
- <0><>
- <1><> <---- "<>" flag means empty
- <2><>
- <3>^C^W <---- normal macro key
- <4><>
- <5><N>World Wide Widgets Inc. <---- "<N>" flag means no-rpt key
- <6><>
- <7><Q>^QR^[B^QC^[T^[C <---- "<Q>" flag means quiet key
- <8><>
- <9><>
- Select <0-9>, <Z>ap, or <CR> to save:
-
- This is pretty straightforward; you just select the number of the Key you
- wish to redefine, then type in the new definition, much as you would in
- VDE (though the display is a bit different). All the same rules apply.
- To erase all the keys and start over, press "Z".
-
- FURTHER USER PATCHING
- The address of the user patch area will be given to you by VINSTALL.
- This small region in VDE can be used to install any extra patch code you
- need. (Example: if your video in/out routines won't fit into 16 bytes,
- you can jump to the user patch area and put more code there.) This is the
- ONLY such area available, as VDE uses all memory after its own code for
- editing text.
- VINSTALL also tells you the addresses of the command tables in VDE/M.
- You may find this useful if you need to go in and change a VDE command key
- that conflicts with your computer's firmware. There are four command
- tables: basic, ESC, ^Q, and ^O. Each is a list of 3-byte entries, with a
- one byte keycode, then a two byte address. (Examples: you will find the
- ^T command and the ESC prefix in the basic table; and the ^OX command
- appears in the ^O menu, as ^X.) Find the problem keycode, and use DDT or
- another utility to change it. (You will also see the keycodes 80-84h in
- the tables; these are the arrow keys and DEL, as installed in the Terminal
- section above.)
-
- ==============================================================================
-
-
- ANCIENT HISTORY
-
- The original VDO (Fritz Schneider, 1982) was modified by George Peace to
- run on Osborne computers (VDO-EX, 1984). This is where my own VDE began from.
- My first Osborne VDE, VDE-2, 2B, 2C series (1984) was followed by
- VDE-OS,OX 2.4-2.7; this has now developed into VDM, adaptable to most MMV
- computers. My Epson Geneva adaptation VDE-PX (1985) has now become the
- generic terminal version of VDE.
- (VDE and VDM are both clearly identified by a version message at the
- beginning of the COM file. You can view this with DDT or a similar utility.
- Do not alter this in any way.)
- There are other descendants of VDO; each has evolved in a different
- direction, with its own advantages and compromises. VDE reflects my own
- tastes, and has by now been thoroughly enough rewritten that I consider it
- (and the name "VDE/M") mine. Please respect this, particularly if you begin
- to play with the source code for an earlier version of VDO or VDE. I do not
- plan to release the source for VDE 2.xx, but I welcome suggestions.
-
- MODERN HISTORY
-
- Versions 2.00 of VDE and VDM are equivalent in features and format.
- Future revisions will attempt to maintain this correspondence in the first two
- digits (#.#), possibly with separate bug fixes in the third. RECENT UPDATES:
-
- v 2.10 (6/86) - Macro Key (ESC-K) function; window; undelete;
- new compression algorithm; true block marker;
- directory; improved pagination and scrolling;
- printer installation; small fixes.
- v 2.20 (8/86) - Larger, more Wordstar-compatible command set;
- left margins; hyphenation; macro programs.
- v 2.30 (9/86) - New VINSTALL program replaces overlays. New
- functions ^F,^A,^T, ^QE/X, and ^QU. New global
- replace ^QA. New Print options; restrictions
- on ^P entry removed. Macro key chaining.
- Several small bugs fixed.
-
- *************************************************************************
- ***** The VDE editor and this documentation are (c)1986 E. Meyer. *****
- ***** They may be freely copied and distributed for NONPROFIT use *****
- ***** only. No changes are to be made to this documentation, nor *****
- ***** to the VDE program itself (except as detailed above). *****
- *************************************************************************
-
- I want VDE to continue to be a valuable utility for all CP/M users.
- Please direct problem reports and suggestions to:
-
- Eric Meyer
- 427 N. Washington
- Bloomington IN 47401 CompuServe [74415,1305]
-
- ==============================================================================
- gton IN 47401