diff --git a/Doc/Contrib/How to Make Disk Images in Linux with DD Command.pdf b/Doc/Contrib/How to Make Disk Images in Linux with DD Command.pdf new file mode 100644 index 00000000..d2c6835c Binary files /dev/null and b/Doc/Contrib/How to Make Disk Images in Linux with DD Command.pdf differ diff --git a/Source/RomDsk/ROM_1024KB/ZDE.DOC b/Source/RomDsk/ROM_1024KB/ZDE.DOC new file mode 100644 index 00000000..6bf63117 --- /dev/null +++ b/Source/RomDsk/ROM_1024KB/ZDE.DOC @@ -0,0 +1,1043 @@ +ZDE 1.0 Manual + ZDE + + Z-System Display Editor + + Version 1.0 10 Mar 89 + + ZDE and its documentation are copyright 1989 by Carson Wilson, + all rights reserved. They may not be circulated in any + incomplete or modified form without written permission of the + author. Any commercial use of ZDE, defined as any situation + where the duplicator receives revenue by duplicating or + distributing ZDE by itself or in conjunction with any hardware + or software product, is expressly prohibited unless authorized + in writing by Carson Wilson. + + +1. Introduction. + + ZDE, the Z-System Display Editor, is a small, fast, powerful +text editor based Eric Meyer's famous Video Display Editor (VDE). +ZDE retains all features of VDE, but removes defects and supports +special ZCPR and ZSDOS features such as named directories, +register variables, automatic disk relog, and file datestamp +support. The install program has also been improved (see +ZDE10.NEW for a complete rundown of improvements). At the same +time, I have tried to be conscientious about the balance between +features and memory usage. If I added every new feature or +convenience that came to mind, we would soon have a luxurious +in-memory editor for 2 kilobyte files! Much of the following is +adapted with permission from Eric Meyer's VDE.DOC. + + ZDE's native ASCII mode and definable macros make it an ideal +programmer's editor; its full formatting and printing features +also make it an efficient word processor. Written entirely in Z80 +assembler, ZDE is F-A-S-T. There are no disk overlays, and all +editing is done in memory. As a result, finding a string near the +end of a 50K file takes WordStar 3.3 about 14 seconds (8MHz Z80); +ZDE does it in under a second. This is like moving through air +instead of molasses: you will find that you can do more of your +work on screen, and less on paper. + +Among ZDE's features are: + +Full-screen editing User area and named directory support +Block operations Wordwrap and reformat +File datestamp support Macro programs +Disk file operations Margins, tabs, spacing +Find and replace WordStar compatibility +Many print features Undeletion +Configurable options Support for all CP/M terminals + + +2. Installing ZDE. + + ZDE works with Z80 CP/M 2.2 and 3.0 and compatible systems. +It is ideal for portable computers with limited disk space. There +are many user configurable options, and ZDE can be installed for +all CP/M terminals. If you are running ZCPR, ZSDOS or Z3PLUS, ZDE +offers features not available with less advanced system software, +but these system enhancements are not required. + + To install ZDE, use the ZDENSTAL configuration program; see +the accompanying file ZDENSTAL.DOC. You should install ZDE for +your computer's terminal at the earliest convenience, since this +greatly enhances performance. There are many other installable +options; you will discover how you want everything set in the +course of using ZDE, so don't worry about going through all of it +at first. For ease of reference, portions of this manual +referring to installable options and settings are enclosed in +square brackets ("[" and "]"). + + +3. Invoking ZDE. + + ZDE is invoked from your system's command prompt using the +following syntax ("ufn" means "unambiguous file name"): + + ZDE Begin working on a new file. + + ZDE ufn Edit a new or already existing file. + + ZDE dir:ufn Edit a new or existing file from another + directory. + + ZDE ufn m Edit a file using mode "m." + ZDE ufn[m + +"m" above can be either W, A, or N (see File Modes, below), and +"dir" can be either a drive, a user area, a drive followed by a +user area, or a ZCPR named directory. For example: + + ZDE A4:MYFILE.TXT N Begin working on MYFILE.TXT at user + area 4, drive A, in non-document + mode. + + The size of the file to be edited is limited by available +memory. This will vary for different systems, but normally the +maximum size will be between 45 and 55k. If a file is too large +to edit, you must break it up and edit the pieces separately. +Numerous CP/M utilities are available which will break up and +rejoin ASCII files. + + +4. ZDE's Command Set. + + ZDE's commands consist of simple one- or two-key +combinations, easily found by the touch typist without +distraction. Most commands are the same as WordStar's. If you +have questions that this file can't answer, a WordStar manual may +be a useful reference. But ZDE is not a WordStar "clone"; there +are significant differences, including an extended set of +ESC-commands for functions such as macros (see below). + Virtually complete compatibility with the WordStar command +(sub)set can be achieved UNLESS the keys ^J, ^K, and ^L are used +as arrow keys (as on many CP/M computers). In this event ZDE +synonyms must be used: ESC- for the ^K- prefix; ESC-H for ^J; and +^\ for ^L (see ZDENSTAL.DOC for terminal installation). + +4.1. Command Summary. + + Below, the "^" character indicates use of the Ctrl key: ^K = +Ctrl+K. The ESC (^K), ^O, and ^Q prefixes require pressing two +keys in sequence: ^O C, for instance means press ^O, then C (or +^C). Any prefix may be canceled by typing ESC or Space. + +4.1.1. Control Keys: Single Keystroke Commands. + + ^J (ESC H) = display Help menus. + + CR = Carriage return (^M). Marks a paragraph end. + BS = Backspace (^H). + TAB = Hard Tab mode: insert tab (^I). Variable Tab mode: move + to next stop. + + Arrow keys: WordStar: ^E up, ^X down, ^S left, ^D right. + Alternate: configurable, default ^K, ^J, ^H, ^L. + + ^F = move to start of next word right. + ^A = move to start of next word left. + ^R = scroll back one screen. + ^C = scroll forward one screen. + ^W = scroll back one line. + ^Z = scroll forward one line. + + ^G = delete character to the right of the cursor. + DEL = delete character to the left (configurable). + ^U = undelete a character. + ^T = delete word to right of cursor. + ^Y = delete current line. + + ^N = insert a carriage return (break line) at present + position. + ^V = toggle INSERT mode on and off. + ^^ = toggle case (upper/lower) of character at cursor. + ^P = insert following control code in text. + ^B = reformat current paragraph. + ^L (^\) = repeat find/replace (repeats last ^QF or ^QA + command). + +4.1.2. File and Block Commands: first hit ^K (or ESC), then the + key shown. + + ^K I = display file/memory Information message. + + ^K F = List files in disk directory. + ^K E = Erase a disk file. + + ^K L = Load a brand new file to begin editing. + ^K N = change the current file Name (affects Save, eXit). + ^K S = Save the current file to disk, and continue editing. + ^K D = Done. Save the file, then load a new one. + ^K X = eXit: Save the file, then Quit to CP/M. + ^K Q = Quit to CP/M, abandoning current file. + + ^K R = Read a disk file into text at cursor position. + ^K P = Print the text (whole file or block). + + ^K B = mark the start of a Block. + ^K K = mark the end of a block. + ^K U = Unmark the block. + ^K Y = Delete the marked block. + ^K C = Copy the block text at present cursor position. + ^K V = moVe the block text to the present cursor position. + ^K W = Write the marked block to a disk file. + +4.1.3. Escape and Macro Commands: first hit ESC, then the key + shown. + + ESC arrows: Left/Right (including ^S/D) = shift screen + horizontally + by 32 columns. + Up/Down (including ^E/X) = shift screen + vertically + by 1/4 screen. + ESC TAB = move back to last tab stop. + + ESC M = execute a Macro string of commands. + ESC # = store macro on numeric key for later recall. + ESC 0..9 = use stored key. (In macro mode: jump label.) + ESC !,=,~,+ = used in Macro programming (see below). + ESC ; = brief pause, during Macro execution only. + +4.1.4. Quick Commands: first hit ^Q, then the key shown. + + ^Q Arrows: Left/Right (including ^S/D) = go to start or end + of line. + Up/Down (including ^E/X) = go to top or bottom + of screen. + ^Q R = move to top of file. + ^Q C = move to end of file. + ^Q I = move to specified page or line number. + ^Q B = move to marked block. + ^Q Q = move to next line in queue (ZCPR only). + ^Q Z = move to next place marker. + + ^Q F = find next occurrence of a string. + ^Q A = find and replace a string. + + ^Q Y = delete from cursor to end of current line. + ^Q DEL = delete from cursor to beginning of current line. + ^Q T = delete until specified character (caution--powerful!). + ^Q U = undelete a line. + +4.1.5. Onscreen Commands: first hit ^O, then the key shown. + + ^O Arrow: Up (including ^E) = make current line top of + screen. + + ^O R = set right margin (column 1 turns off + wordwrap/formatting). + ^O L = set left margin. + ^O X = toggle Margin Release on/off. + ^O C = center current line. + ^O F = align current line flush with the right margin. + + ^O Q = toggle header on/off. + ^O T = toggle ruler line on/off. + ^O D = toggle display of hard CRs on/off. + + ^O A = toggle Auto Indent on/off. + ^O S = toggle Double Spacing on/off. + ^O H = toggle hyphenation on/off. + ^O V = toggle tab mode Hard/Variable. + ^O I = set variable tab stop. + ^O N = clear variable tab stop. + + ^O P = set page length (0 turns off pagination). + ^O W = toggle windowing on/off (see below). + ^O Z = temporarily blank the entire screen. + + +5. Command Descriptions. + +5.1. Auto-Indent Mode (^O-A). + + Auto-Indent is useful for typing outlines, structured program +source code, and other text where the "left margin" varies. +Auto-Indent causes the RETURN key to act differently: If you are +entering new text, it will be indented to match the previous line. +If you are just moving through the file, the cursor advances past +any existing indentation. + +5.2. Block Commands (^K-B, -K, -U, -R, -Y, -W, -C, -V, -P-B, + ^Q-B). + + A "block" of text is normally delimited by two markers +[default: ^@] which remain in memory until reset or deleted. + ^K-B marks the beginning of the block; ^K-K marks its end. +Markers are inserted in the text. The two markers are identical; +the first one present is the start. + ^K-U unmarks the block, removing any marker(s) set (block +markers can also be deleted individually as ordinary characters). +Markers are automatically removed as appropriate when ^K-B/-K are +used again. + ^K-R reads in the contents of a disk file, inserting it as a +block after the current cursor position. You will be asked for +the name (and, optionally, mode) of the file. Other block +operation commands all require a Block to be marked: + ^K-Y deletes the block (including markers). + ^K-W writes the block text to a disk file; you will be asked +for the filename (and optional mode). + ^K-V moves the Block text to the present cursor location, +deleting the original; ^K-C copies it and leaves the original. +Sometimes ZDE will run out of memory when moving blocks within a +large file. If this occurs, just write the block to a file, +delete it, and read it back in as: "^K-W, ^K-Y, ^K-R". + ^K-P-B (^K-P with B option) prints the block text only. + The ^Q-B command, from wherever you are in the file, moves +the cursor to the Block start. + +5.3. Cursor Movement (Arrow keys; ^F; ^A; ^Q-R, -C, -I). + + ZDE supports three sets of Arrow keys, which function +interchangeably. The two built-in sets support the WordStar +"arrow key diamond" ^E, ^X, ^D, ^S, and the ANSI standard 3-byte +sequences (ESC-[-A, etc.). The third set is user-configurable, +and must be installed with ZDENSTAL. These keys move the cursor +up, down, right, and left respectively. Note: if you install ^J, +^K, and ^L as arrow keys, you must use ESC- commands for help, +file operations, and repeat find/replace, respectively. + Preceded by ^Q-, any arrow key (except ANSI) moves more +quickly: to the top or bottom of the screen, to the left or right +end of the line. + There are also two word movement commands: ^F moves right, to +the start of the next word; ^A moves left, to the start of the +previous (or current) word. Both have maximum ranges of 255 +characters. + For quickly covering large distances, the commands ^Q-R and +^Q-C go all the way to the beginning and end of the file, +respectively, and ^Q-I goes to any specified page (or line, in +non-documents). + +5.4. Deleting (^G, DEL, ^T, ^Y, ^Q-Y, -DEL, -T). + + You can delete text one CHARACTER at a time: ^G deletes to +the right of the cursor, and DEL to the left. [If you have no DEL +key, you can install another equivalent.] Note that the ordinary +BS (^H) does not normally delete. + ^T deletes an entire WORD to the right (up to 255 characters) + ^Y deletes the entire current LINE. ^Q-Y deletes only the +part of the line to the right of the cursor; ^Q-DEL deletes the +part to the left. + ^Q-T deletes UP TO a specified character. Example: "^Q-T." +deletes to the end of the sentence. Special case: "^Q-T-CR" +deletes to the next HARD CR, the end of the paragraph. This is a +powerful command, so use it with caution. + Accidentally deleted text can usually be recovered (see +Undelete, below). + +5.5. Disk Operations (^K-F, -E). + + ^K-F gives an unsorted list of disk FILES: hit CR to list the +directory specified by the current file, or specify a drive, user, +or named directory (colon optional). 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 or Space to +continue. + ^K-E will ERASE a single disk file to provide more room on +the disk (no wildcards allowed). + +5.6. File Commands (^K-N, -S, -X, -Q, -D, -L). + + ^K-N NAMES your work or changes the current file mode. You +can change the filename in the header before saving, and/or change +its mode to WordStar, ASCII, or Nondocument. To set the file +mode, introduce the mode character with the left square bracket, +e.g., "Name: MYFILE.WS [W". + ^K-S SAVES your work: what's in memory is written to disk +under the file name in the header (you must have a file name; one +will be requested if necessary). If that file already existed, a +backup (.BAK) file may be preserved [configurable; see +installation guide]. If you haven't changed the file, ZDE prompts +you to confirm that you want to resave it anyway. + There are several different commands for finishing up: + ^K-X saves your work and then EXITS to CP/M. + ^K-Q just QUITS. If the file has been modified, ZDE asks if +you want to abandon the changes. + ^K-D (DONE) saves your work, then loads a new file to edit. + ^K-L quits the current file and LOADS a new one to begin +editing. + +5.7. Find, Replace (^Q-F, -A, ^L, ^\). + + ^Q-F is the command to FIND a string. The search normally +proceeds from the cursor position forward, and is case +(upper/lower) insensitive. There are two options: "B" = search +backwards; "C" = case sensitive search. If used, the options +must be enclosed in slashes (eg, "/bc/") before the search string. +(If you want to search for a string beginning with a slash, use an +empty (//) option first.) In addition, a ^P-Z [this can be +reconfigured] functions as a wildcard matching any single +character. Other control codes, like ^M for newline, can be +included (with the ^P prefix where needed). Examples: + + Find: /c/^MLABEL matches "LABEL" at start of line only; + Find: 4^Z^Z01 matches "42201", "47401", etc; + Find: wordstar matches "WORDSTAR", "WordStar" etc; + Find: ///88 matches "/88"; + Find: /b/esc looks backwards for "Esc", "esc", etc. + + ^Q-A is the FIND/REPLACE command. It asks for a string to +find, and what to change it to (all options above apply to the +search string only). The cursor will be placed on each occurrence +of the string successively, starting at the cursor location. You +will see the prompt "Chg?" in the header. To replace the old +string with the new one, press "Y"; anything else skips to the +next. To change all further occurrences without being asked, +press "*". ESC cancels at any time. (Note: if ^Q-A is used in a +Macro, it will automatically assume "*" with no further input +required.) + ^L (or ^\, if ^L is an arrow key) repeats the last ^Q-F or +^Q-A command. For ^Q-A, you will be asked whether you want to +replace the found string. For both, direction and case options +remain unchanged. + +5.8. Header (^O-Q). + + ZDE normally gives you a header, or status line, at the top +of the screen. However, if you like you can toggle the header +display on and off with the ^O-Q (QUIET) command. [The header may +also be suppressed by default.] This lets you see more file text. +It can also speed up operation on some slower terminals, as the +position doesn't have to be continually updated. + + A typical header line looks something like: +------------------------------------------------------------------ +B0/WORK:ZDE.DOC [A Pg 8 Ln 31 Cl 53 INS vt hy AI DS MR ^Q_ +------------------------------------------------------------------ + "B0/WORK:ZDE.DOC [A" = Current directory, filename, and mode. + "Pg 8, etc" = Current position in file by page, line, column. +For "N"ondocuments, there is no page number display. If +pagination (^O-P) is off, you will see "Pg 0" (document) or "OP" +(nondocument) here. + "INS" = Insert mode on (^V). + "vt" = Variable tabs on (^O-V). + "hy" = Hyphenation enabled. (^O-H) Doesn't display in "N" + mode. + "AI" = Auto indent mode on (^O-A). + "DS" = Double spacing (^O-S). + "MR" = Margins released (^O-X). Doesn't display in "N" mode. + "^Q_": Prefix keys (and some prompts) display here. + +5.9. Information (^K-I). + + ^KI displays an Information message with: + + - the ZDE version and date; + - whether (Y/N) the file has been changed since last saved; + - the current size of the file in bytes; + - the number of bytes of text memory used and free (1024 + bytes = 1K). + + You will note that the file uses about 20-25% less memory +than its actual length; this is due to ZDE's compression of text. +(Note: ZDE is limited to 16-bit arithmetic. In the unlikely event +that file size should exceed 64K it will be shown mod 64K; just +add 65536.) + Block moves and copying are limited by the amount of free +memory. Further, when there is less than 1K free, response time +can get very slow. + +5.10. Insert Mode (^V). + + ^V toggles insertion on and off. If insert is OFF, any text +to the right of the cursor is overwritten as you type. If insert +is ON, what you type is inserted, and existing text moves to the +right. + +5.11. Line Spacing (^O-S). + + The ^O-S command toggles between single and double line +spacing. In double space mode, the following functions generate +double carriage returns: CR (^M), Insert CR (^N), Reform (^B), +Wordwrap. You can easily mix single and double spacing; the ^B +command can convert between the two. Note: if you prefer to keep +your actual file single spaced, you can still get a double-spaced +printout by using the "D" option of the ^K-P command (see +Printing). + +5.12. Margins (^O-R, -L, -X, -C, -F). + + ^O-R sets the RIGHT margin, enabling wordwrap, reformatting, +and centering. A right margin of 1 disables all formatting +functions (same as in "N"ondocument mode). At the prompt +"Column:" enter the column number (1-255), or just hit CR for the +current cursor column. If the value entered conflicts with the +current left margin, ZDE sets the left margin to 1. + ^O-L sets the LEFT margin in an identical fashion; of course, +the value must always be less than the current right margin, +meaning it's best to set the right margin first. + ^O-X temporarily RELEASES the margins (resets them to 1), +allowing you to type outside them. Use ^O-X again to restore the +margins. + ^O-C CENTERS the current line with respect to the margins, if +set. ^O-F sets the current line FLUSH right, if the right margin +is set. + +5.13. Pagination (^O-P). + + The ^O-P command sets the page length. Enter a value from 0 +to 255, or just hit CR to restore the default value [normally 54]. + When the value is nonzero, it determines the page and line +shown in the document header ("Pg xx Ln xx"), and page-oriented +Print functions (formfeeds, headers, start/stop print) are enabled. + When the value is zero, pagination is off. The header will +say "Pg 0 Ln xxxx", showing you the absolute line number in the +file. Also, printing occurs with no page breaks or formfeeds. +This can be useful for printing small things right after each +other on the same sheet; or, in conjunction with the "*" print +option, can be used to print out multiple copies of index cards, +labels, etc. + ZDE never sends a formfeed before printing; begin your file +with a ^P-L character if you need one. Otherwise, use of ^P-L is +not recommended in document files as it renders ZDE's page count +inaccurate. + +5.14. Place Markers and Line Queue (^P-Z, ^Q-Z, ^Q-Q). + + You can set any number of temporary PLACE MARKERS in the text +with ^P-Z (they will appear as ^Z). The ^Q-Z command moves the +cursor to the next place marker in the file, cycling back to the +top of the file if needed. Place markers are NOT saved to disk. + ZCPR users may also store a QUEUE of up to eight line numbers +in their user-defined messages (a set of sixteen bytes of +protected memory "available for user definition"). The ^Q-Q +command will then cycle through the queue of line numbers, +returning to the first location when it reaches a value of zero. +A value greater than the number of lines in the file takes the +cursor to the end of the file. The numbers are stored as two-byte +inverted hexadecimal words. This facility is intended as an +interface between other programs and ZDE for such purposes as +storing the locations of compiler errors, however ZCPR users may +also find it useful to POKE these locations directly before +invoking ZDE. + +5.15. Printer Codes (^P). + + Control codes for special effects in printing can be entered +in the text with the ^P prefix. Thus pressing ^P-^H (or ^P-H) +embeds a ^H, etc. Several standard codes are: + + ^H - backspace - overstrike previous character + ^I - hard (ASCII) tab - printers respond variously to this + ^L - formfeed (Not recommended unless pagination (^O-P) + disabled) + + The Block marker, normally ^@, cannot be embedded, and ^Z is +reserved for use as a place marker. Control codes display on +screen as capital letters, highlighted if possible. ZDE assumes +they are not characters, so they are not counted when reformatting +text. + For greater convenience, you can also arrange to have a +single ^P-code produce an entire string of bytes for commonly used +printing effects. ZDE supports a subset of WordStar's printer +installation, seven definable codes: four toggles, four switches. +The Printer Installation in ZDENSTAL allows you to choose what +codes you want to use, and install the actual control sequences +your printer needs. The defaults are: + + toggles: ^B, ^D, ^S, ^Y + switches: ^Q, ^W, ^E, ^R + + In WordStar these toggles are Boldface, Doublestrike, +Underline, and Ribbon/Italic respectively, but you can make them +anything you like. "Toggles" are good for features like underline +and bold that are turned on and off. "Switches" are better for +multivalued parameters like character pitch. + Example: your printer uses ESC-U-01 (and 00) to turn +underlining on (and off). If you install these codes with +ZDENSTAL: + ^S toggle on: (03)1B5501 + ...and off: (03)1B5500 + +then all you have to type in ZDE to get underlined text is: +^PSunderlined text^PS. + +5.16. Printing (^K-P). + + The ^K-P command PRINTS all or part of the file in memory. +You will be asked for a set of "Options:", at which point you may +enter zero or more of the following, in any order: + + B prints only the currently marked BLOCK. + P PAUSES for your keystroke before each page (sheet + feed). + D DOUBLE SPACES all text to be printed. + Lnn sets the printer LEFT MARGIN to nn columns [the + default value can be set with ZDENSTAL]. + ^ FILTERS control characters ^X to text "^X". + *nn prints the job out nn TIMES (nn=1..255). + @nn begins printing AT the nn'th page. + =nn renumbers the pages beginning with nn. + #nn prints only (up to) a TOTAL of nn pages. + "..." uses the quoted string as a HEADER. The string, + followed immediately by the page number, will print + at the top right of each page near the margin (maxi- + mum length is 50 characters; an empty string, "", + gives numbered pages with no header text.) + +The last four options (@,=,#,"") are NOT allowed if pagination is +disabled (^O-P), or if "B"lock print was chosen. Examples: + +Options: L12P + - Print the file with a left margin of 12 columns, pausing + before each page for you to press a key (other than Esc). + +Options: @6#2=14"Instructions, page " + - Print the sixth and seventh pages of the file, but numbered + 14 and 15, with the header shown. + +Options: BD^*2 + - Print out the current marked Block twice, double spaced, + with control filtering. + + In "W" mode, lines beginning with a "." will be regarded as +WordStar dot commands, and will neither print out nor affect the +page count (they have no other effect either). + You can abort printing at any time with ESC (this may take a +moment, or a few keystrokes, depending on your BIOS). + +5.17. Ruler Line (^O-T). + + To help you align text properly, ^O-T toggles display of a +"ruler line" above the text on and off. + In each column you will see one of several symbols: "[]" +designate the current margins (if set); "-" indicates areas within +the current margins, "." outside them. Also, tab stops are marked +by either "T" (Variable) or "I" (Hard). Examples: + +("A" mode) [-----T-----T-----------T--------------]........ +("N" mode) I.......I.......I.......I.......I.......I....... + +5.18. Tabs (^I, ESC-TAB, ^O-V, ^O-I, ^O-N). + + There are two Tab modes: Variable and Hard, and the ^O-V +command toggles between them. In Hard Tab mode the Tab key +produces an actual ^I (ASCII 09); whether this overwrites any +existing text depends on the Insert toggle. Hard Tabs display by +default at fixed intervals of 8 screen columns [this is +configurable to any multiple of 2]. + In Variable Tab mode, the Tab key moves the cursor to the +next variable tab stop (you can always get a Hard Tab by typing +^P-I). If Insert is on, spaces are inserted up to the next tab +stop. Otherwise, existing text is skipped over, but spaces are +still added at the end of a line as needed. Up to eight tab stops +may be set with ^O-I and cleared with ^O-N; the defaults are in +columns 6, 11, 16, and 21 [these are configurable]. At the +prompt, enter the column number desired, or hit RETURN for the +cursor column. + The ^O-I command also accepts two multiple-set inputs: "@nn" +sets tab stops every "nn" columns, while "#n1,n2,..." sets tabs at +columns "n1,n2, ...". Both remove any pre-existing tabs, and +typing "@" or "#" alone simply clears all tabs. + The ESC-TAB command moves backward (left) to the previous +variable or hard tab stop. + +5.19. Undelete (^U, ^Q-U). + + The undelete functions may be used (repeatedly if necessary) +to recover a reasonable amount of text deleted either by +overtyping, or with any of ZDE's delete commands, IF the cursor +has not yet been moved away. ^U undeletes one character; ^Q-U +does a whole line. + Restrictions: undelete may not recover all of a Block delete +unless the cursor was in or near the block deleted, and it may +work imperfectly if DEL has been used several times in sequence. + Further use after all deleted text is recovered will produce +junk (usually duplicates of text above the cursor, which is +sometimes useful). + +5.20. Upper/Lower Case (^^). + + The ^^ (ctl-caret) command changes the case of the character +at the cursor, if it was a letter, and moves the cursor one +character to the right. Useful for capitalizing a string of +lowercase text, or vice versa. + +5.21. Window and Screen (^W, ^Z, ESC-Arrows, ^O-Up, -W, -Z). + + ZDE supports several functions to move and alter the display +screen. + The ^W and ^Z commands scroll the screen up and down a line +at a time, without moving the cursor (unless necessary). + Preceded by ESC, any arrow (except ANSI) moves the screen +rather than the cursor: the text as a whole shifts up/down 1/4 +screen, or right/left 32 columns, while the cursor stays put (the +cursor must be past column 32 for horizontal shifts to work). + Preceded by ^O-, any UP arrow key (except ANSI) makes the +current text line the top of the screen. + The ^O-W command creates a WINDOW in the bottom half of the +screen, which retains a copy of the file text starting at the +current line, plus the current status and/or ruler line(s), if +any. Editing continues normally in the top half of the screen. +This is useful for comparing different sections of text within a +file, or even between different files. Typing ^O-W again removes +the Window. Note: Windowing is only supported for screens of 15 +or more lines. + The ^O-Z command temporarily zaps (blanks) the entire screen; +good for avoiding CRT burn-in, or just protecting work from prying +eyes or fingers. Restore the screen by pressing ESC or SPACE. +Note: if Windowing was in effect, any text in the window will be +lost. + +5.22. Wordwrap, Reformat (^B, ^O-D). + + WORDWRAP is automatic in Document ("W" or "A") modes whenever +the right margin is set. Any text entered will be formatted to +the current margin settings as you type. The end of a paragraph +is marked by a "HARD CR", which occurs when you press the RETURN +key (this is a CR immediately following a character of text). In +contrast, when wordwrap occurs you get a "SOFT CR" (which is +actually a CR with a space before it). You can change a hard CR +into a soft one, or vice versa, by deleting or adding a space at +the end of the line. Hitting RETURN also hardens a soft CR. The +distinction between hard and soft CRs is only important when +reformatting. + ^B REFORMATS from the line the cursor is on, to the end of +the paragraph, according to the current margin settings and line +spacing. ^B may be used not only to reshape a paragraph after +editing, but also to change its margins and line spacing. +Indentation can be tricky if you have a left margin set. If the +current line is indented relative to the next one, ZDE assumes +that amount as your paragraph indentation. + ^O-D toggles DISPLAY OF HARD CRs. Hard CRs, otherwise +invisible, can be caused to display as a "<" character. This can +be useful; some may find it distracting, so it turns off. + + +6. Macros. + +6.1. Macro (ESC-M). + + A MACRO is a string of ZDE commands and text that, once +defined, can be repeated automatically. When you type ESC-M you +will be asked for the string, then a "Repeat count". Usually you +will simply type a number for the repeat count (0-9, or "*" for +"indefinitely"). You will see the results as the macro executes, +and you can abort it at any time by pressing ESC. 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 header, if present, will be updated as the Macro runs. + 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 indefinite ("*") Macros containing +them halt there. You may need to abort other indefinite Macros +manually. + ZDE turns INSERT OFF before running a macro, so that the same +key sequence will always have the same effect. INSERT status is +restored when the macro terminates. + In order to include any input line editing characters (BS, +CR, etc.) in a macro, you must prefix them with ^P. (NOTE: To +make them easier to read and understand, Macro listings are given +here as they function, not as they are typed in. ^P prefixes as +needed are NOT shown. Keystrokes are separated by dashes or +commas for clarity, and "_" means a space or blank.) Here are some +sample Macros: + + 1. View a file by scrolling slowly through it: + + ESC-;, ^C + + This will pause, then scroll down. (Use a repeat count + of "*".) + + 2. Can you figure out what this one does? + + ^QR, ^QF, (, CR, ^G, ^KB, ^QF, ), CR, ^G, ^KK, ^QC, CR, ^KV + + (Answer: .elif eht fo dne eht ta meht fo tsil a gnikam + elif a fo tuo sesehtnerap ni stnemmoc ekat lliw tI) + + ZDE Macros are very powerful tools, particularly given their +programmability and storage on function keys. + +6.2. Macro Key (ESC-#, ESC-0..9). + + Up to 10 MACRO KEYS can be stored (0..9), by entering them +with the ESC-M command, then using ESC-# to save them. They can +then be recalled and used simply by typing ESC-number. Example: +typing ESC-#-0 will store the last Macro used in the ESC-0 command +so that it can be recalled and reused at any future time simply by +typing ESC-0. + Ordinarily, Macro Keys operate just like the original Macro, +asking for a "Repeat count" when executed. If you want to +suppress this prompt (resulting in a "function key" that executes +just once) you can type "N" (for No repeat) before storing the key +number. Example: ESC-#-N-0 makes ESC-0 a no-repeat macro key. +If you also don't need to see the Macro work, and want to make it +faster, you can make it QUIET as well by typing "Q" instead (for +Quiet) before the key number. Example: ESC-#-Q-0 stores ESC-0 as +a quiet no-repeat key sequence. + If the Macro (ESC-M) string is empty, using ESC-# will delete +a Macro Key. Using a defined Key makes it the last macro used, so +it can be stored again in another key if desired. Trying to use +an undefined Macro Key results in an error. + There are 500 bytes total available for all 10 keys, and a +128 byte limit for any one Key (ZDE's own input line will only +accept 65 bytes, but ZDENSTAL can handle up to the full 128.) + USAGE HINT: If you want to re-use a macro without having to +type it in again, use ESC-# to assign it to a key, then call it up +by number. + Besides simply storing Macros, here are some useful Macro +Keys: + + 1. Storing different sets of margins (e.g., for quotes). + For example, + ^OL, 12, CR, ^OR, 66, CR + + 2. Typing any frequently repeated phrase; "ESC-6" is much + more convenient than "^PSWorld Wide Widgets Ltd. (N.A.)^PS". + + 3. Swap the two characters preceding the cursor: + ^S, ^S, ^G, ^D, ^U, ^U, ^D, ^G + +[ZDENSTAL allows you to install defaults for all ten Macro Keys. +Thus a copy of ZDE can be customized for any task, such as the +formatting requirements of specialized writing or programming +languages.] + +6.3. Macro Programming (ESC-0..9, ESC-!,=,~,+,;). + + ZDE has several commands which function only in a Macro +string, and give you control over the execution of a macro, +allowing true programming. + ESC-0..9 function as LABELS 0..9 when entered as part of a +Macro. They have no effect, but can be "jumped" to by other +commands. + ESC-! followed by 0..9 is a JUMP instruction, and causes +macro execution to resume with the command following the label +ESC-0..9. Example: ESC!2 jumps to label 2. 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 +0..9 (or "[","]"), are CONDITIONAL JUMPS: they jump to the label +or the start or end of the macro IF the character at the cursor +position matches (ESC-=) or doesn't match (ESC-~) the character +specified. Example: ESC~^M2 jumps to ESC-2 if the current +character is NOT a CR. + ESC-= and ESC-~, followed by a character and then ">" or "<", +are SEARCH LOOPS. They will continue to move the cursor right +(">") or left ("<") AS LONG AS the character at the cursor matches +(ESC-=) or doesn't match (ESC-~) the specified character. Both +search loops terminate automatically at the beginning or end of +the file. Example: ESC=_> moves right as long as the current +character is a space. + ESC-+, followed by 0..9, CHAINS to another macro key, +allowing you to build macros strings longer than the storage limit +of any one key. It does not "call" the key; there is no +returning. Example: ESC+9 chains to Key 9. + ESC-; (semicolon) gives a brief pause, presumably so the user +can see what's happening on screen. + Macro programs are stored just like any other macro string +(usually with "N"o repeat count). If you program in an endless +loop, you will at some point have to abort with ESC. Don't make +macro programs "Q"uiet until you're sure they work. + Example: here is a good macro program (best stored as a Quiet +Key) to move the cursor to the start of the current sentence: + + ESC~.1, ^S, ESC1, ESC~.<, ESC2, ^D, ESC=_2, ESC=^M2 + +You could write this out in programmer's pseudo-code as: + + If not "." goto label1 + Move left ;move left if already on period +label1: While not "." move Left ;move left to previous period +label2: Move right ;now move back right + If " " goto label2 ; as long as you see a space + If "^M" goto label2 ; or a Return + (all done) + + +7. General Information. + +7.1. Disk Space. + + ZDE isn't disk-bound; if you run out of disk space, just +insert another disk (always keep a blank FORMATTED disk around). +Alternatively, you can use the ESC-F and ESC-E commands to purge +unneeded files. [If you have small disks, you can also install +ZDE not to preserve BAK files.] + Let ZDE's filesize limits encourage you to break work up into +files of 50K or less; larger files make inefficient use of floppy +disks. + +7.2. Error Messages. + + Press ESC or Space to continue. "Error" alone means the +command used just won't work in this situation. (Example: a block +command was used with no block marked.) More specific errors are: + + "Out of Memory" - the file, block, or key string won't fit in + RAM. + "Invalid Key" - an illegal command key sequence was pressed. + "I/O Error" - file not found, disk full, empty/invalid + drive, etc. +"Cannot Reformat" - word too long, or margins invalid. + "Not Found" - the object of a search was not found. + "Syntax Error" - a macro programming command was misused. + +7.3. File Modes. + + ZDE has three FILE MODES: "W"ordStar document, "A"SCII +document, and "N"on-document. The basic difference concerns the +format of disk files. + In "W" mode, ZDE reads and writes WordStar-compatible files. +ZDE can edit a WordStar document, except that any right +justification will be lost. WordStar can edit any ZDE "W" file in +Document mode. + In "A" or "N" mode, ZDE reads and writes text as standard +ASCII 7-bit characters, a universal format accepted by virtually +all software. The only difference between "A" and "N" modes lies +in the default settings on loading a new file. Typically "A" mode +is used for word processing, and "N" mode for programming and +other technical applications. + +DEFAULTS FOR: Margins Tabs Hard CR disp. +------------ ------- ---- ------------ +"A"SCII or "W"ordStar mode ACTIVE VARIABLE [ON] +"N"on-document DISABLED HARD OFF + + The file mode option can be specified along with the filename +at any ZDE file function prompt, allowing you to mix WordStar and +ASCII disk files as needed (see Invoking ZDE, above). You can +also change the current mode with the ^K-N function by entering a +new mode (e.g., "[W") with or without a filename. + [ZDENSTAL allows you to select a default file mode, to be +used when no mode is specified (originally this is "A"). Further, +you can specify two filetype masks for automatic mode selection +(e.g., all "ASM" files as "N" mode) to override that default.] + NOTE ON ASCII FILES - The "A"SCII-document file format used +since VDE 2.50, to allow accurate formatting and WordStar +compatibility, distinguishes between HARD and SOFT CRs (see +Wordwrap, above). Consequently, if you edit an ASCII file created +by other software (including earlier versions of VDE), it may +appear to be full of hard CRs, making text impossible to reformat. +There are two easy ways to solve this problem: first, you can use +^Q-A to find "^M"s and selectively replace them with " ^M". +Alternatively, the following Macro (best stored as a Quiet macro +Key) does a good job of "softening up" paragraphs for reformatting: + + ^QS,^X,ESC=_],ESC=CR],^S,^V_^V,^D,ESC![ + +7.4. Hyphenation (^O-H). + + ZDE can't introduce hyphens, but it does recognize them in +the text, treating them as a legitimate place to break a line, so +if you have a long word close to the margin, you can insert a +hyphen where you'd like the word to be broken. + Similarly, ZDE can't unhyphenate. If it is trying to +reformat and finds a hyphen at the end of a line, it will pause to +ask you what to do with it. You will see the prompt "Chg?" in the +header, and can: + Press "Y" to remove the hyphen and space, joining the word; + "N" to leave the hyphen, but still join the word; + "ESC" to leave both the hyphen and the space alone. +Typically you would choose "Y" for "soft" hyphens that you +introduced to break up a word ("intro-duction"); "N" for hard +hyphens that are part of a word ("vis-a-vis"); and "ESC" for +punctuation (dashes "--", etc.). After your choice, reformatting +will proceed automatically. + You can toggle hyphenation on and off with ^O-H. If off, +hyphens are not treated differently from any other text character. +[The ^O-H default can be changed with ZDENSTAL.] + +7.5. Interruption. + + If ZDE is interrupted by messages from other software (BIOS +error, resident utilities, etc.), it may lose control of the +screen. The best way to return it to normal is by blanking and +restoring the screen (^O-Z, ESC). + +7.6. Prompts. + + First, ZDE has several simple prompts requiring you to +confirm an action by typing "Y" or "N": + + "Abandon changes?" - warns the file you want to Quit has + been changed. +"Unchanged; save anyway?" - reminds the file you want saved isn't + changed. + "Delete original?" - do you want to delete block copied + from 2nd file? + "Chg?" - do you want to change this instance of + a string? + +Then, there are a few special purpose prompts: + + "Repeat count:" - enter (optional "Q" and) repeat count + for Macro. + "Key number:" - enter (optional "N/Q" and) key number + for Key. + "Rdy" - press any key to print next page (ESC + quits). + +Finally, there are a variety of prompts for either numeric or +string input, like "Column:" or "Find string:". You are expected +to type in a string (up to 65 characters). The following control +keys operate: + + Correct mistake: BS (^H), ^S, or Del + Erase entire entry: ^X + Abort operation: ^U + +Note that to get any of these codes, or a CR, into the string +itself, you must precede it with ^P (this includes ^P). Examples: +to find a line beginning with a "*" (find "^M,*") type + + ^Q-F, ^P-CR, *, CR. + +Now to get this into a Macro with ESC-M, you would have to type + + ESC-M, ^Q-F, ^P-P, ^P-CR, *, ^P-CR, CR. + +7.7. WordStar Compatibility. + + In most respects ZDE operates much like WordStar; one big +difference is the absence of a "No-File" menu. You are always in +edit mode; use ^K-L to select a new file to edit. + If the keys ^J, ^K, ^L are in use as CP/M arrow keys, you +must use ZDE's original command set to substitute for them as +follows: + + Block prefix (^K-)... ESC- + Help menu (^J)....... ESC-H + Repeat find (^L)..... ^\ + + If these keys are NOT installed as arrow keys, they retain +their WordStar functions. Then, of course, ZDE lacks some +WordStar commands, and has some of its own. Aside from these, +there are the following differences in common commands: + +COMMON USE WORDSTAR 4 ZDE ZDE NOTES +Hide block ^K-H ^K-U Actually unmarks block. +Erase disk file ^K-J ^K-E +Set Place Mark ^K-0..9 ^P-Z Not individually numbered. +Go to Place Mark ^Q-0..9 ^Q-P Cyclic. + +COMMON COMMAND WORDSTAR 4 USE ZDE USE + ^^ Soften hard CR Transpose upper/lowercase + ^K-N Column block mode Rename current work + ^O-D Display ^P codes Display hard CRs + ^O-F Ruler from text Flush right + ^O-P Preview mode Page length + ^Q-U Repeat align Repeat undelete + +Note that ZDE does not implement WordStar "dot commands" in text, +though in "W" mode it avoids printing them. + + +8. Disclaimer. + + You use ZDE at your own risk. The author accepts no +liability for any damages resulting from its use or misuse. +Direct problem reports and suggestions to the author; include a +stamped return envelope for a reply if desired. Thanks to the +many users of ZDE whose feedback has led to improvements and bug +fixes in the past. + + Carson Wilson Sysop: Antelope Freeway RAS + 1359 W. Greenleaf 312-764-5162, Chicago + Chicago, IL 60626 24 hours, 3-12-2400 baud diff --git a/Source/ver.inc b/Source/ver.inc index 49e62882..f6f1e50c 100644 --- a/Source/ver.inc +++ b/Source/ver.inc @@ -2,4 +2,4 @@ #DEFINE RMN 1 #DEFINE RUP 1 #DEFINE RTP 0 -#DEFINE BIOSVER "3.1.1-pre.140" +#DEFINE BIOSVER "3.1.1-pre.141" diff --git a/Source/ver.lib b/Source/ver.lib index 186c8024..3f1fcee4 100644 --- a/Source/ver.lib +++ b/Source/ver.lib @@ -3,5 +3,5 @@ rmn equ 1 rup equ 1 rtp equ 0 biosver macro - db "3.1.1-pre.140" + db "3.1.1-pre.141" endm