UTILITY -> Office and communication
© ? (1986)
Video Display Editor 2.30
VDE 2.30

Last Update : Friday 03 February 2017 at 00 h 14

Manual n 1

--------- 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]

Goto Top
CPC-POWER/CPCSOFTS, programming by Kukulcan © 2007-2017 all rights reserved.
Reproduction forbidden without any express authorization. All the game titles used belong to their respective owners.