This file contains parameters that the user may optionally alter in order to change the initial values evident when WordStar begins operation (i.e., the default conditions) or to disable or modify many of the WordStar features. Related material is contained in the Terminal Installation Areas (USER1) where features involve the installation of terminal devices and the Printer Installation Areas (USER4A, USER4B, USER4C and USER4D) where provision for printer installation is provided. The WordStar Features Installation Area is composed of three basic types of installation areas; the INITIALIZATION ITEMS, the CUSTOMIZATION ITEMS and the KEYBOARD INSTALLATION ITEMS. Any of the items in these areas may be changed using the LABEL PATCHER in your WordStar's installation utility (INSTALL or WINSTALL). If you have WordStar Revision 3.3 or later, many of the INITIALIZATION INITIALIZATION and CUSTOMIZATION ITEMS may be changed by selecting the WORDSTAR FEATURES option at the "INSTALLATION MENU". Slecting this option will display a menu of some of the following features. Features displayed in this menu may be changed simply by following the instructions that are displayed subsgequent to selecting the feature of interest at this menu. Where a feature discussed in his section is subject to menued installed, an asterisk appears to the left of the label in the summary of that features action. 1. INITIALIZATION ITEMS: Initialization items can be altered by the user while using WordStar via an appropriate WordStar command at the keyboard or via dot commands at print time. Changing an initialization items via byte changes in this area will cause WordStar to come up in your desired "default" condition thus eliminating the need to issue the relevant command each time WordStar is invoked. The initialization items are: * ITHELP: initial HELP LEVEL NITHLF: MAXIMUM HELP LEVEL message control * ITITOG: Initial INSERT condition control * ITDSDR: Initial OPENING-MENU DIRECTORY display control * INITPF: Initial PAGE FORMATTING conditions (INITPF:-INITPF:+18H) * INITLM: Initial LEFT MARGIN * INITRM: Initial RIGHT MARGIN INITSR: Initial SUB/SUPERSCRIPT ROLL * INITWF: 16 bytes that control the conditions that characterize the differences between NON-DOCUMENT and DOCUMENT MODE. 1 2. CUSTOMIZATION ITEMS: The customization items cannot be set via a command from the WordStar and must be set via byte changes in the indicated area or at INSTALLation time via the "Features Installation Menu" (WordStar Revision 3.3 or later). The customization items are: * NONDOC: NON-DOCUMENT/DOCUMENT MODE control * DECCHR: Character that terminates DECIMAL TAB action DOTCHR: Character that signals at DOT COMMAND (in 1st column) BLNCHR: Character that signals a NON-BREAK SPACE DOTSON: Character that controls on screen display of DOT COMMAND effects on text. HZONE: Controls the number of characters to the left of the right margins within which HYPHENATION-HELP will be active. PVWTB: Two byte value at this starting at this location (low order byte first) is the address of the hypenation help vowel table. PNCON: Two byte value starting at this location (low order byte first) is the address of the hypenation help non- consonant table. VOWTAB: Start of the hyphenation help table of all vowels NONCON: Start of the hyphenation help table of non- consonant letters and continuation of the vowel table (VOWTAB:). EOFCHR: Character that signals the end of a file. BOFCHR: Character that signals the beginning of a file CONCHR: Character that indicates that a file line continues on next screen line. OVPCHR: Character that signals that the next screen line overprints the current one. LFCHR: Character that indicates that a line ends in a line feed without a carriage return. PAGCHR: Character that indicates that a line is the last line of a page. SOFTCR: The character that indicates that a line is not the final line in a paragraph. HARDCR: The character that indicates that a line is the final line in a paragraph. FDTCHR: The character that indicates that a line has a properly formed dot command on it. SOFHYC: Character which signals a soft-hyphen. PAGFIL: Character used to form the page-break line at the end of a page. MARKS: Fifteen (15) bytes starting at this label hold the characters used to indicate the various block and place marker mark, move and copy locations. * PODBLK: Four (4) bytes starting at this label 2 control the default responses to the printer options DISK FILE OUTPUT, USE FORM FEEDS, SUPPRESS PAGE FORMATTING, and PAUSE BETWEEN PAGES. NOUFF: Flag to control the display of the "USE FORM FEEDS" question. * ITPOPN: Flag to control PAGE NUMBER insertion at print time. ITMIJ: Flag to control use of MICROJUSTIFICATION at print time. ITBIP: Flag to control use of BIDIRECTIONAL PRINT at print time. RVELIM: Character used to delimit fields in a record * RVQUOT: Character used to enclose field data with the field delimiter as part of the field data. * VARCH1: The character that signals the start of a MailMerge variable. * VARCH2: The character that signals the end of a MailMerge variable. VARNBC: The character that signals MailMerge to omit printing a line when the variable read from a data file is empty. VAROPC: The character which signals that the character immediately following it is a MailMerge option character (like the omit line if field empty option VARNBC:). FNWSCM: The name of the file that contains the main WordStar command file (usually WS.COM) DSKTNA: The name of the file that contains the WordStar messages (normally WSMSGS.OVR). FNOVLY: The name of WordStar's main (or first) overlay file (normally WSOVLY1.OVR). FNMRGP: The name of WordStar's MailMerge overlay (Normally MAILMRGEOVR). AUTOBS: The AUTOMATIC BACKSPACE character table. BSCHR: The character/code which signals a backspace operation. 3 3. KEYBOARD INSTALLATION ITEMS: This information is presented in a format designed to provide help quickly. Where material is covered in more detail by one of the questions in the Technical Support Manual, the relevant material is referenced below the "Instructions" column and/or next to the word "REFERENCE." The material is keyed to the label for which an action or installation feature is implemented. (See Question LABL-1 for a discussion of labels and Question LABL-7 regarding changes to label usage with newly released products.) The number to the immediate right of the label refers to the number of bytes provided to implement a function. This number can range from 1 to 128. Note that when an area is intended for the installation of a string, one of these bytes must be used for the number of bytes in the string. This is important when using the Label Patcher of the newly released product (see Question LABL-7), since the new Label Patcher does not automatically install the number of bytes input by the operator for any given string. The user must, therefore, remember to subtract one byte from this number under such circumstances. Below the "Instructions" for each label, you'll find the type and absolute address of the installation area for the most current revisions of any MicroPro product subject to terminal installations by means of a User Area. The WordStar product prefix is followed by the revision (or version) number. These lines are divided into two groups which identify the operating system under which they are functional. TYPE Installation areas may be of four types: 1. Flags. Flags enable or disable a program feature and usually take on a value of 00 or FF, although other values are possible. A flag that has values other than 00 or FF will be explained further in the label instructions. (See Question INTR-3 for a more detailed discussion of flags.) 2. Strings. A string is one or more characters sent to a peripheral device to affect the behavior of the device in some predictable way. The first character of any string installed in your program must be the number of characters in the string and not one of the characters of the string to be sent. (See Question INTR-4 for a more detailed discussion of strings and Question #_____ regarding the requirements of new product releases.) 4 3. Values. A value is usually one or two bytes used by the program to calculate or modify the consequences of an operation. Screen height (HITE:) and screen width (WID:) are examples of values. Unless otherwise indicated, values may be between 00 and FF hexadecimal. 5 4. Address. An address is a special location in memory, the contents of which is needed by the program to execute a function. User areas that require an address provide two bytes for installation. Many times a user area that requires an address is pre-installed with an address. When this is the case, the address currently in that area is used to calculate a new address or can be used to access a subroutine (OUTCHR: and PBGMEM:, for example). When patching addresses into your program, remember to install the address so that the second (or low order) byte of the address is the first byte in the user area. ABSOLUTE_ADDRESS The absolute address of any label is rarely needed for simple installations but may prove to be useful in complex installations where one or more of the advanced installation techniques are used. (See Question LABL-1 for a discussion of the relative advantages of using labels and absolute addresses in patching.) Note that all patch areas may not be available in all products. Where any particular patch area is not available, this is reflected in the absolute address area as an "na" (not available). When doing installations, follow these guidelines: 1. Enter, as the first byte of any string, the number of bytes to be sent. (See Question LABL-7.) 2. Enter the second byte of the address first. 3. Use a label rather than the absolute address whenever possible. 4. Never enter more characters than the number to the right of the label in the following user area descriptions. 5. Always enter values, addresses, and characters in hexadecimal. 6 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE ITHELP: 3 The value placed at this label controls the initial "HELP" level which will be used on entry to WordStar. It is normally changed during use of WordStar with the Control-JH command and is preset to 3 in the WordStar that comes from MicroPro to provided maximum help (i.e., all menus are displayed during editing). If you wish, enter a 02 at this label to suppress the main editing menu (thus making more of the screen available for text display). To suppress the Prefix Help Menus as well, enter a 01 at this label. Entering a 00 at this label will suppress all help menus and messages unless the value 00 is entered at NITHLF: (which see). NOTE TO USERS OF WORDSTAR Revision 3.3 and later: This feature may be customized at the installation utility's FEATURES menu by entering option A and following the subsequent instructions. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Flag ABSOLUTE ADDRESS: 360 WS 3.3 34D CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Flag ABSOLUTE ADDRESS: 360 WS 3.3-MS/PC 360 NITHLF: 1 Enter a 00 at this label to enable display of the message "FOR MAXIMUMUM HELP TYPE ^JH3" at the start of the first edit with WordStar if ITHELP: (which see) is set to 01 or 02. Enter a FF at this label to suppress this message if the prompt is not needed by any possible operator of the so modified WordStar. 7 REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Flag ABSOLUTE ADDRESS: 361 WS 3.3 34E CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 361 WS 3.3-MS/PC 361 8 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE ITITOG: 1 The value at this label controls the initial INSERT condition at the time that the WordStar OPENING MENU is displayed. It can be changed during editing with the Control-V command. The value at this label is preset to FF in WordStar to default to INSERT ON. However, you may enter a 00 at this label to change the initial insert condition to be OFF. Do not enter any value other than 00 or FF at this label. NOTE TO USERS OF WORDSTAR Revision 3.3 and later: This feature may be customized at the installation utility's FEATURES menu by entering option E and following the subsequent instructions. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Flag ABSOLUTE ADDRESS: 362 WS 3.3 34F CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Flag ABSOLUTE ADDRESS: 362 WS 3.3-MS/PC 362 9 ITDSDR: 1 The value at this label controls the display of the disk directory when WordStar's OPENING MENU is initially displayed and/or until the first 'F' or Control-F is entered by the operator at the OPENING MENU. Note that the directory display always defaults OFF during a file edit and that this flag only controls the directory display below the OPENING MENU (i.e, prior to or after an edit). This label comes preset to FF to display the directory at the initial display of the OPENING MENU but you may change the value at ITDSDR: to 00 to suppress the display of the disk directory while not editing (or until you type the first 'F' or Control-F at the OPENING MENU). NOTE TO USERS OF WORDSTAR Revision 3.3 and later: This feature may be customized at the installation utility's FEATURES menu by entering option D and following the subsequent instructions. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Flag ABSOLUTE ADDRESS: 363 WS 3.3 350 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Flag ABSOLUTE ADDRESS: 363 WS 3.3-MS/PC 363 10 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITPF: 1 The bytes entered at this label and the following 19 bytes control the initial PAGE FORMAT which WordStar will use in displaying PAGE BREAKS during editing of a file and for PAGINATION DURING PRINTOUT of the file. DOT COMMANDS properly inserted in a file will override these values, both during edit and at print time. The value entered at this label (i.e., INITPF: without an offset or with the offset +0) sets the default LINE HEIGHT in 48th's of an inch. If the value is changed at this label it will be necessary to place the same value in four other INITPF: locations: INITPF:+4, INITPF:+8, INITPF:+C and INITPF:+10. It is not relevant if you are using a TeleType-like installation but may be important when your WordStar is installed for a Specialty (daisy wheel or Thimble) type printer. It is normally a hexadecimal value between 1 and FF which represents the line height to be used in 1/48ths of an inch. For instance, the value at INITPF: (or INITPF:+0) is 08 for 8/48th's of an inch per line. This is the equivalent of the dot command .LH 8 and results in 66 single spaced lines per page when using an 8 x 11 inch sheet of paper. It is also the preset value for a un- modified WordStar. Changing the value at INITPF: to 10 (16 decimal) will result in 33 double spaced lines per 8 x 11 page. The same result could be generated by entering the dot command .LH 16 at the beginning of a file but changing the value at INITPF: would make the insertion of this dot command unnecessary. A permament change of this default might be indicated if a large part of all editing done with your WordStar was required as double spaced text. Note that doubling the line height value reduced the number of line per page in half (i.e., 66 lines/page at 8/48th's went to 33 lines/per page at 16/48th's). Note also that a value placed in INITPF: (or INITPF:+1 through INITPF:+18) must be entered as the hexadecimal equivalent of the decimal value). Changing this value may well require recalculation of the value at INITPF:+2 (page length in 48th of an inch). 11 REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 366 WS 3.3 351 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 366 WS 3.3-MS/PC 366 12 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITPF:+1 1 The value entered at this label and offset (also refered to as a displacement) sets the numbers of lines per page. The preset value at INITPF:+1 is 42 which is the hexadecimal equivalent of 66. Thus the "default" number of lines per page in an unmodified WordStar is 66 lines/page. For example, changing the value at INITPF:+1 to 48 will result in a default page length of 72 lines per page (48 hexadecimal is the equivalent of 72 in decimal). This change at INITPF:+1 has exactly the same result as inserting the dot command .PL 72 at the beginning of a file. This permament modifica- tion might be indicated where 8 X 14 (legal or European) sized paper is normally used. Changing this value may well require recalculation of the value at INITPF:+2 (page length in 48th of an inch). NOTE TO USERS OF WORDSTAR Revision 3.3 and later: This feature may be customized at the installation utility's FEATURES menu by entering option M and following the subsequent instructions. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 367 WS 3.3 352 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 367 WS 3.3-MS/PC 367 13 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITPF:+2 2 The two byte value entered at INITPF:+2 must be the paper length of a page in 48th's of an inch, least signi- ficant byte first. This can be calculated fairly simply by multiplying the number of lines per page (see INITPF:+2) by the line height in 48th's of an inch (see INITPF:). An unmodified WordStar has a pre-installed hexadecimal value 210 installed in the two bytes starting at INITPF:+2. To get this value, the preinstalled line height (at INITPF:) of 8/48th's and the preinstalled page length (at INITPF:+1) in lines were multiplied together to get: 8 * 66 = 528 The hexadecimal equivalent of the decimal value 528 is 210. Note, however, that a hexadecimal value 10 (the least significant byte of 210) will appear at INITPF:+2 and the value 02 (the most significant byte of the value 210) will appear at INITPF:+3, i.e., you must reverse the order of the bytes of this value when you enter it into INITPF:+2. If you change the value at either INITPF: (line height in 48th's of an inch) and/or the value at INITPF:+1 (page length in lines) you will probably have to change the values contained in the two bytes starting at INITPF:+2 as indicated above. For example, if the line height in 48th's of an inch is left unchanged (i.e., INITPF: remains as 8/48th's) but the paper length value at the label INITPF:+1 is increased to 72 lines/page (i.e, the value at INITPF:+1 is changed from 42 to 48), the value starting at INITPF:+2 would be recalculated as: 8 * 72 = 576 576 decimal is 240 in hexadecimal. Therefore you would be required to enter a 76 at INITPF:+2 and a 05 at INITPF:+3 to properly complete the page length modification. NOTE TO USERS OF WORDSTAR Revision 3.3 and later: This feature is automatically modified when any change to the number of lines per page (i.e., INITPF:+1 which see) is made via the FEATURES menu option M. 14 REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 368 WS 3.3 353 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 368 WS 3.3-MS/PC 368 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITPF:+4 1 The value at this label is one of five locations which must contain a byte value representing the line height in 48th's of an inch. The other locations are INITPF:, INITPF:+8, INITPF:+C and INITPF:+ 10. For further discussion of the value at this location see INITPF:. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 36A WS 3.3 355 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 36A WS 3.3-MS/PC 36A 15 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITPF:+5 1 The value entered at this label and offset should be the number of lines desired for a TOP MARGIN. This value is preinstalled for 3 top margin lines. Consequently the value to be found at this label in an unmodified product is 03. To change the default top margin to five lines, for example, you would need to change the value at INITPF:+5 to 05. This would have precisely the same result as placing the dot command .MT 5 at the beginning of a file. When changing the default top (or bottom) margins, the total of top margins plus the bottom margins when subracted from the value at page length in lines (INITPF:+1) must be a positive number. In addition, the positive number which results from this calculation is the number of lines of actual text which will be printed at print time. For instance, the default value of 3 lines of top margin and 8 lines of bottom margin, when subtracted from the default page length of 66 lines results in a print area (i.e., an area where normal text can be printed) of: 6 - (3+8) = 55 16 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITPF:+5 1 By calculation, then, the printable text area is 55 (continued) lines in an unmodified WordStar when modifying dot commands are not used. If the result of the above calculation when perfomed with new values entered at INITPF:+1 (page length in lines), INITPF:+5 (top margin in lines) and/or INITPF:+D (bottom margin in lines) is a negative number, you will have to adjust one or more of the new values to provide a positive number. Likewise, if the result of your calculation does not result in a suf- ficient number of text lines for your requirements you will have to adjust one or more of the values at INITPF:+1, INITPF:+5 and/or INITPF:+D. Note that changes to these values require an attendant change in the calculated value representing the number of lines for each area in 48th's of an inch. These values immediately follow the height in lines value (see INITPF:+6 for a discussion of this value for TOP MARGIN). NOTE TO USERS OF WORDSTAR Revision 3.3 and later: This feature may be customized at the installation utility's FEATURES menu by entering option I and following the subsequent instructions. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 36B WS 3.3 356 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 36B WS 3.3-MS/PC 36B 17 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITPF:+6 2 The two byte value entered at INITPF:+6 must be the height of the TOP MARGIN in 48th's of an inch based on the number of lines assigned to the top margin by the value at INITPF:+5 and the line height in 48th's provided at INITPF:+8. Note that the value at INITPF:+8 should be the same value entered at INITPF:, INITPF:+4, INITPF:+C and INITPF:+10. This can be calculated fairly simply by multiplying the number of top margins lines (see INITPF:+5) by the line height in 48th's of an inch (see INITPF:+8 or INITPF:). An unmodified WordStar has a pre- installed hexadecimal value 18 installed in the two bytes starting at INITPF:+6. To get this value, the preinstalled line height (at INITPF:) of 8/48th's and the preinstalled lines for the top margin (at INITPF:+5) were multiplied together to get: 8 * 3 = 24 The hexadecimal equivalent of the decimal value 24 is 18. Note, however, that a hexadecimal value 18 (the least significant byte of 210) will appear at INITPF:+2 while the value 00 appears at INITPF:+3. This is valid since the value 18 must be provided as a two byte entry and since 0018 is exactly equivalent to 18 it is in this form that we must enter the bytes. In addition, we must reverse the order of the bytes of this value when they are entered at INITPF:+6 starting with the second byte of the value. If you change the value at either INITPF: (and therefore the values at INITPF:+4, INITPF:+8, INITPF:+C and INITPF:+10) and/or the value at INITPF:+5 (margin top in lines) you will probably have to change the values contained in the two bytes starting at INITPF:+6 as indicated above. 18 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITPF:+6 For example, if the line height in 48th's of an inch is (continued) left unchanged (i.e., INITPF: remains as 8/48th's) but the top margin value at the label INITPF:+5 is increased to 05 lines (i.e, the value at INITPF:+5 is changed from 03 to 05), the value starting at INITPF:+6 would be re- calculated as: 8 * 5 = 40 40 decimal is 28 in hexadecimal. Therefore you would be required to enter a 28 at INITPF:+6 and a 00 at INITPF:+7 to properly complete the top margin modification. NOTE TO USERS OF WORDSTAR Revision 3.3 and later: This feature is automatically modified when the TOP MARGIN is changed via the FEATURES menu option I (i.e., INITPF:+5 which see). REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 36C WS 3.3 357 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 36C WS 3.3-MS/PC 36C INITPF:+8 1 The value at this label is one of five locations which must contain a byte value representing the line height in 48th's of an inch. The other locations are INITPF:, INITPF:+4, INITPF:+C and INITPF:+10. For further discussion of the value at this location see INITPF:. REFERENCE: 19 CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 36E WS 3.3 359 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 36E WS 3.3-MS/PC 36E 20 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITPF:+9 1 The value entered at this label establishes the number of lines from the first line in the actual body of a printed page's text to the line within the TOP MARGIN above it at which any HEADER line should be positioned. To put this another way, the value placed at this location determines which of the lines assigned to the top margin will be used to print the header line. In addition, this is determined by counting UP FROM THE FIRST LINE ON A PAGE THAT IS NOT PART OF THE TOP MARGIN TO THE LINE IN THE TOP MARGIN TO BE USED FOR THE HEADER. It should be reasonably obvious, therefore, that the value entered at this label is dependent on the number of lines provided in the Top Margin by the value at INITPF:+5 (and INITPF:+6, 7 and 8). For instance, if the top margin was assigned 3 lines at INITPF:+5 (as is an unmodified WordStar), it would be a mistake to enter a value of 05 at INITPF:+9 since, if we count up 5 lines from the first line that isn't part of the top margin we have moved through the top margin (which ended at line three) and are two lines off the top of the page. Such mistakes can cause extremely strange behavior from the erroneously customized WordStar. An unmodified WordStar has a value of 02 preinstalled at INITPF:+9. This value provides that a header line (set with the dot command .HE) will appear two lines into the top margin (as counted from the bottom of the top margin). Another way of looking at this is that, since the top margin is three lines high, the header line will appear one line from the top of the page. Note that this is only a way to look at it, however, and is not the way to calculate the value to be entered at INITPF:+9. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE 21 ADDRESS: 36F WS 3.3 35A CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 36F WS 3.3-MS/PC 36F 22 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITPF:+A 2 The two byte value entered at INITPF:+A must be the result of multiplying the number of lines entered at INIPF:+9 by the line height in 48th's of an inch as provided by INITPF:+C (or INITPF:, INITPF:+4, INITPF:+8 or INITPF:+10). In essence the procedure is identical to the one described for the label INITPF:+6 (i.e., Top Margin in 48th's) except, of course, the calculation involves INITPF:+9 and the line height in 48th's of an inch. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 370 WS 3.3 35B CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 370 WS 3.3-MS/PC 370 INITPF:+C 1 The value at this label is one of five locations which must contain a byte value representing the line height in 48th's of an inch. The other locations are INITPF:, INITPF:+4, INITPF:+8 and INITPF:+ 10. For further discussion of the value at this location see INITPF:. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 372 WS 3.3 35D CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ 23 ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 372 WS 3.3-MS/PC 372 24 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITPF:+D 1 Identical to the discussion of the label INITPF:+5 except that the value entered at this label estab- lishes the number of lines on a page to be used for a margin at the bottom of a page unless overridden by the dot command .MB x placed in a file. NOTE TO USERS OF WORDSTAR Revision 3.3 and later: This feature may be customized at the installation utility's FEATURES menu by entering option J and following the subsequent instructions. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 373 WS 3.3 35E CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 373 WS 3.3-MS/PC 373 INITPF:+E 2 Identical to the discussion of the label INITPF:+6 except that the value at INITPF:+D is multipled by the line height in 48th's of an inch and the result inserted starting at INITPF:+E to provide the bottom margin in 48th's of an inch. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 374 WS 3.3 35F 25 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 374 WS 3.3-MS/PC 374 INITPF:+10 1 See INITPF:, INITPF:+4, INITPF:+8, or INITPF:+C REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 376 WS 3.3 361 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 376 WS 3.3-MS/PC 376 26 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITPF:+11 1 The value entered at this label represents the number of lines from the first line that is not part of the BOTTOM MARGIN to the line in the BOTTOM MARGIN where a footer line (set with the dot command .FO) will be placed. In essence the discussion of the value entered at the label INITPF:+9 (i.e., Header Margin) holds here except, of course, the line is counted down into the bottom margin rather than up into the top margin. Otherwise the same instructions apply. Also note that changing the footing margin may be accomplished via the dot command .FM x within a file instead of or in addition to changing the byte values at INITPF:+11 and INITPF:+12 and 13. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 377 WS 3.3 362 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 377 WS 3.3-MS/PC 377 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITPF:+12 2 Identical to the discussion of the label INITPF:+6 except that the value at INITPF:+11 is multipled by the line height in 48th's of an inch to get the footing margin in 48th's of an inch to insert starting at this label. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ 27 ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 378 WS 3.3 363 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 378 WS 3.3-MS/PC 378 INITPF:+14 1 See INITPF:, INITPF:+4, or INITPF:+8 REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 37A WS 3.3 365 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 365 WS 3.3-MS/PC 365 INITPF:+15 1 The byte entered at this label determines whether WordStar will print in STANDARD (see INITPF:+15) or ALTERNATE (see INITPF:+16) character width at print time without inserting a modifying dot command (Control-PA for alternate or Control- PS for standard). An unmodified WordStar has a preinstalled value off 00 at this label and will, therefore, always print in "stand- ard" pitch (i.e., character width) until it encounters a Control-PA in a file. If the value FF is entered at INITPF:+14, WordStar will automatically print in "alternate" character pitch until a Control-PS is en- countered in a file. REFERENCE: CP/M-80 BASED WORDSTAR 28 _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 37B WS 3.3 366 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 37B WS 3.3-MS/PC 37B 29 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITPF:+16 1 The value entered at this label should be the desired standard character width (pitch) in 1/120ths of an inch and is only effective when a WordStar is installed for a Specialty printer (daisy wheel or thimble type printer). An un- modified WordStar has a preinstalled value of 12/120th's of an inch (i.e., 1/10th inch per character) which is effectivly a default 12 pitch for standard character width. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 37C WS 3.3 367 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 367 WS 3.3-MS/PC 367 INITPF:+17 1 The value entered at this label should be the desired alternate character width (pitch) in 1/120ths of an inch and is only effective when a WordStar is installed for a Specialty printer (daisy wheel or thimble type printer). An un- modified WordStar has a preinstalled value of 10/120th's of an inch (i.e., 1/12th inch per character) which is effectivly a default 10 pitch for alternate character width. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 37D WS 3.3 368 30 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 37D WS 3.3-MS/PC 37D 31 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITPF:+18 1 The value entered at this label determines the number of characters (at the currently effective pitch) that text will be indented to the right on a page. It is effective only at print time, i.e., this indent (page offset) will not be reflected on a terminal. NOTE TO USERS OF WORDSTAR Revision 3.3 and later: This feature may be customized at the installation utility's FEATURES menu by entering option N and following the subsequent instructions. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 37E WS 3.3 369 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 369 WS 3.3-MS/PC 369 32 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITLM: 1 Enter a value at this label which represents the left margin which you typically use in your document work. It is used by word warp and paragraph reform (Control-B) and the effective or observed left margin will be the value you enter here (in hexadecimal) plus 1. The left margin (and the value at INITLM:) may, of course, be modified during an edit via the Control-OL command but a permanent modification of this variable within WordStar may be indicated where the default left margin at the first column is rarely used. You many enter any value from 00 through the value entered at INITRM: (Initial Right Margin,which see) minus 3. An unmodified WordStar is pre- installed with a 00 so that the observed WordStar left margin on your terminal screen will be column 1 (i.e., 00 + 1 = 01). Note that the value at INITLM: corresponds to the left margin of the text when the file is printed and not to the left margin of the paper. The paper's left margin is to the left of the text left margin (i.e., the value entered at INITLM:) by the number of columns entered atINITPF:+18 (the COLUMN OFFSET value, which see). Any value may be entered at INITRM: so long as it does not exceed the value entered at the label INITRM: minus 3. For instance, if the pre-installed WordStar right margin of 65 is left unchanged, the right most (or maximum) left margin allowable would be 61 (i.e., 64-3 = 61). The mimimum (or left most) left margin value which may be entered at INITLM: is 00 which corresponds to an observed left margin of 01 (i.e., 00 + 1 = 01) which is, as noted previously, the default or pre-installed WordStar left margin. NOTE TO USERS OF WORDSTAR Revision 3.3 and later: This feature may be customized at the installation utility's FEATURES menu by entering option K and following the subsequent instructions. REFERENCE: CP/M-80 BASED WORDSTAR 33 _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 37F WS 3.3 36A CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 37F WS 3.3-MS/PC 37F 34 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITRM: 1 Enter a value at this label which represents theright margin which you typically use in your document work. It is used by word warp and paragraph reform (Control-B) and the effective or observed right margin will be the value you enter here (in hexadecimal) minus 1. The right margin (and the value at INITRM:) may, of course, be modified during an edit via the Control-OR command but a permanent modification of this variable within WordStar may be indicated where the default right margin of 65 columns is rarely used. You many enter any value from 02 through the value entered at WID: (Screen Width, which see) minus 4. An unmodified WordStar is pre-installed with a 40 (hexadecimal equivalent of decimal 64) so that the observed WordStar right margin on your terminal screen will be column 65 (i.e., 64 + 1 = 65). Since most current screen widths are typically 80 columns, the maximum typical value which can be entered at this label is 76 (80-4 = 76 or 4C hexadecimal). If a value greater than the maximum value allowed is entered, WordStar will automatically adjust the RIGHT MARGIN to WID:-4. Given a screen width large enough, the maximum value which may be entered at the label INITRM: is 240 (F0H) which would result in a right margin at column 241 and would require a screen width of at least 244 columns. It is also important to note that the value at the label INITRM: is used by MAILMERGE as the default right margin when the "print time line forming" feature (.PF ON) is enabled at print time. This function will dynamically reform material containing variables to fit the right margin established by the value at INITRM:. 35 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITRM: 1 It is also appropriate to note in a discussion of the (continued) labels INITLM: and INITRM: that the page number is automatically centered between the value provided at the label INITLM: and the value at INITRM:. Thus, in a unmodified WordStar and prior to any modification of the left or right margin with the Control-OL and/or Control-OR commands, the page number will be positioned at column 32 (i.e., 65- 1)/2 = 32). NOTE TO USERS OF WORDSTAR Revision 3.3 and later: This feature may be customized at the installation utility's FEATURES menu by entering option L and following the subsequent instructions. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 380 WS 3.3 36B CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 380 WS 3.3-MS/PC 380 36 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITSR: 1 Enter a value at this label that represents the number of 48th's of an inch you wish the platen of your printer to roll up or down when the Super or Subscript commands (Control-PT or Control-PS) are encountered in a file line. The super/subscript roll value may, of course, be changed from within a file via the dot command .SR x but permanent changes to your WordStar may be indicated where the default WordStar super/subscript roll value of 3/48th's of an inch is rarely acceptable in everyday operation. The value at this label is only of interest in a WordStar installed for use of a Specialty printer (daisy, thimble, letter quality, incremental, etc) and can be ignored for Teletype-like installations. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 381 WS 3.3 36C CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 380 WS 3.3-MS/PC 380 INITWF: 1 Enter an FF at this label to enable WORD WRAP at the edit of a document file or until the first execution of a Control-OW command by the operator. FF is the pre-installed value at the label INITWF: for an unmodified WordStar. Enter an 00 at this label to disable WORD WRAP at the edit of a document file file or until the first execution of a Control-OW command by the operator. This value is disregarded if the operator chooses to edit a file in NON- DOCUMENT MODE since WORD-WRAP is always 37 disabled under this edit option. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 385 WS 3.3 36D CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 36D WS 3.3-MS/PC 36D 38 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITWF:+1 1 Enteran FF at this label to enable RIGHT JUSTIFICATION at the edit of a document file or until the first execution of a Control-OJ command by the operator. FF is the pre-installed value at the label INITWF:+1 for an unmodified WordStar. Enter a 00 at this label to generate text with a RAGGED RIGHT margin (i.e., right justification disabled) at the edit of a document file or until the first execution of a Control-OJ command by the operator. This value is disregarded if the operator chooses to edit a file in NON- DOCUMENT MODE since RIGHT JUSTIFICATION is always disabled under this edit option. NOTE TO USERS OF WORDSTAR Revision 3.3 and later: This feature may be customized at the installation utility's FEATURES menu by entering option F and following the subsequent instructions. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 386 WS 3.3 36E CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 386 WS 3.3-MS/PC 386 39 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITWF:+2 1 Enter an FF at this label to enable SOFT TABS at the edit of a document file or until the first execution of a Control-OV command by the operator. FF is the pre-installed value at the label INITWF:+2 for an unmodified WordStar. Enter a 00 at this label to generate HARD TABS at the edit of a document file or until the first execution of a Control-OJ command by the operator. Normally one would prefer SOFT TABS in a file which contains material to be used in a document and HARD TABS in such non- document files as program source code and, perhaps, tabular material. In order to make a decision in this matter, however, it is essential to understand the meaning of "hard" and "soft" tabs. In many circumstances, it is unnecessary to enter actual spaces to move the terminal cursor or print element (or head) of a printing device to a specific location on the paper since a character known as a TAB has been provided. The tab character (known as a horizontal tab and having the ASCII/HEX value 09) typically provides that the print head or terminal cursor is moved a specific number of spaces (or space increments) to the right each time the tab character is encountered. What is important to note is that no matter how many spaces the tab character moves the cursor or head, only one character (the TAB character) is inserted in the file. For instance, where a hard horizontal tab character represents 8 spaces (as with WordStar's hard tabs), a movement of the print head (or terminal cursor) of eight spaces will be made even though there is only one character imbedded in the file (i.e., a 09 or tab). Obviously, therefore, hard tabs will save significant storage space where they are used since one character (a TAB) is used to get the effect which would otherwise require eight characters (spaces). The soft tab, on the other hand, allows the operator to move any number of spaces on printer or terminal screen but does so by inserting spaces when the tab is entered. 40 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITWF:+2 The soft tab is, therefore, a convenience to the (continued) operator rather than a storage saving device as is the case with the hard tab. Because the soft tab actually inserts spaces to achieve its spacing function it is possible to allow the operator to vary the "tab sets" anywhere within the ruler line whereas with hard tabs the single character must always represent the same number of spaces. The invariant nature of hard tabbing is the source of the term "hard" (i.e., unchangeable) when applied to such a tab. In the same sense, the variable spacing capability of the soft tab is the source of the term "soft". Note that the value at INITWF:+2 is dis- regarded if the operator chooses to edit a file in NON-DOCUMENT MODE since HARD TABS are always used under this edit option. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 387 WS 3.3 36F CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 387 WS 3.3-MS/PC 387 41 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITWF:+3 1 Enteran FF at this label to enable SOFT HYPHEN ENTRY at the edit of a document file or until the first execution of a Control-OE command by the operator. When SOFT-HYPHEN ENTRY is enabled any hyphen typed will be interpreted as a "soft" hyphen and will not be printed unless it appears as the last character of any line. FF is the pre-installed value at the label INITWF:+3 for an unmodified WordStar. In addition, while SOFT-HYPHEN ENTRY is enabled a "HARD" or conventional hyphen may be entered by typing a CONTROL-P followed by the required hyphen. Enter an 00 at this label to disable SOFT-HYPHEN ENTRY at the edit of a document file or until the first execution of a Control-OE command by the operator. If HYPHEN HELP is enabled (see INITWF:+4) it is expected that most users will want SOFT- HYPHEN ENTRY enabled (i.e., INITWF:+3 is FF). The HYPHEN-HELP and SOFT-HYPHEN ENTRY functions are, however, independently enabled and disabled. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 388 WS 3.3 370 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 388 WS 3.3-MS/PC 388 INITWF:+4 1 Enteran FF at this label to enable HYPHEN HELP at the edit of a document file or until the first execution of a Control-OH command by the operator. When HYPHEN-HELP is enabled, WordStar will attempt to identify appropriate points for hyphenation of words and prompt the operator for hyphen entry. It uses the value at 42 HZONE: (which see) and the character's supplied in the VOWEL TABLE (see VOWTAB: and PVTAB:) and the NON-CONSONANT TABLE (see NONCON: and PNCON:) in the execution of this function. FF is the pre-installed value at the label INITWF:+4 for an unmodified WordStar. Enter an 00 at this label to disable HYPHEN HELP at the edit of a document file or until the first execution of a Control-OH command by the operator. 43 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INUTWF:+4 It may be desirable to disable HYPHEN HELP for un-(continued) interrupted execution of global paragraph reform (^Q^Q^B) as well as to suit user preference. However, unless a strong preference for WordStar operation without HYPHEN-HELP is evident in daily operation, it is considered perferable to use the CONTROL-OH command to disable HYPHEN-HELP from the keyboard and to leave the value at INITWF:+4 as the pre- installed value of FF. NOTE TO USERS OF WORDSTAR Revision 3.3 and later: This feature may be customized at the installation utility's FEATURES menu by entering option G and following the subsequent instructions. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 389 WS 3.3 371 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 389 WS 3.3-MS/PC 389 44 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITWF:+5 1 Enter an FF at this label to enable PRINT COMMAND DISPLAY at the edit of a document file or until the first execution of a Control-OD command by the operator. When PRINT COMMAND DISPLAY is enabled, WordStar will display print commands and other control characters which have been embedded in a document file via the CONTROL-P prefix. FF is the pre-installed value at the label INITWF:+5 for an unmodified WordStar. Enter a 00 at this label to disable PRINT COMMAND DISPLAY at the edit of a document file or until the first execution of a Control-OD command by the operator. The practice of editing a WordStar document with the display of print commands suppressed is one that should be avoided due to the high probability that unseen print controls will be accidentally overwritten or inadvertantly moved from their intended location during a block move, copy or delete. Consequently, although the user may choose to set INITWF:+5 to 00, it is considered a very poor choice and is not recommended. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 38A WS 3.3 372 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 38A WS 3.3-MS/PC 38A 45 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITWF:+6 1 Enter an FF at this label to enable RULER LINE DISPLAY at the edit of a document file or until the first execution of a Control-OT command by the operator. When RULER LINE DISPLAY is enabled, WordStar will provide visual feedback of current tab positions and margins at the top of the screen. FF is the pre- installed value at the label INITWF:+6 for an unmodified WordStar. Enter an 00 at this label to disable RULER LINE DISPLAY at the edit of a document file or until the first execution of a Control-OT command by the operator. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 38B WS 3.3 373 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 38B WS 3.3-MS/PC 38B 46 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITWF:+7 1 Enter an FF at this label to enable DYNAMIC PAGE BREAK DETERMINATION at the edit of a document file. Unlike the other INITWF: flags, INITWF:+7 cannot be controlled via a command issued at the keyboard. When Dynamic Page Break Determination and Page Break Display (see INITWF:+8) are both enabled, WordStar will provide visual feedback of the point at which a page will end by displaying a line of the character supplied at PAGFIL: (which see) and display the current cursor position as the PAGE NUMBER, the line number from the beginning of the page and the column number from the left most column of the screen. It is important to note that so long as Page Break Determination is enabled (i.e., the value at INITWF:+7 is FF) and irrespective of whether or not Page Break display is enabled, WordStar will flag the page break location in the text file by setting a character's high- order bit. FF is the pre-installed value at the label INITWF:+7 in an unmodified WordStar. Enter a 00 at this label to disable Dynamic Page Break Determination at the edit of a document file. If you are a StarIndex user you should be aware that proper operation of StarIndex depends on the high- order bit flag which Dynamic Page Break Determination places in the WordStar document file. Thus it would be unwise to disable page break deternination were StarIndex an issue. Programmer's who write program's in DOCUMENT mode to avail themselves of the TAB capability should disable page break determination by entering a 00 at INITWF:+7. This will prevent the occurance of assembler (or complier) errors that often result when the high-order bit flag is encountered in a source file. Note, however, that accidental invocation of the Control-B function or Word- Wrap will have the same effect. Programmers would be advised to disable WORD-WRAP (enter a 00 at INITWF:) as well as page break determination where it is desired to develop programs in WordStar's DOCUMENT MODE. Users of WordStar Revision 3.0 and earlier should also note that the Reform Paragraph command (Control-B) is not disabled and care should 47 be taken not to accidentally invoke this command while editing a non-document. Revisions 3.3 and later WordStar have corrected this problem. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 38C WS 3.3 374 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 38C WS 3.3-MS/PC 38C WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITWF:+8 1 Enter an FF at this label to enable PAGE BREAK DISPLAY at the edit of a document file or until the first execution of a Control-OP command by the operator. When Page Break display is enabled, WordStar will provide visual feedback of the point at which a page will end by displaying a line of the character supplied at PAGFIL: (which see). In addition, the current cursor position will be displayed as the PAGE NUMBER, the line number from the beginning of the page and the column number from the left most column of the screen. FF is the pre-installed value at the label INITWF:+8 and a hyphen is the pre- installed character at PAGFIL: used to create the page break line in an unmodified WordStar. Enter a 00 at this label to disable PAGE BREAK DISPLAY at the edit of a document file or until the first execution of a Control-OP command by the operator. When Page Break display is disabled via permanent installation of a 00 at INITWF:+7 (or via the Control-OP command), the current cursor position will be given as the character number from the beginning of the file (FC = 48 File Character), the number of lines from the beginning of the file (FL = file lines) and the column number from the leftmost column on the screen. Note that the suppression of page break display does not disable the "dynamic page break determination" mechanism. If you write programs in DOCUMENT-MODE it is important to note that WordStar will set the highorder bit of the character of a page to flag a page break. This may cause assembler (or compiler) errors and, therefore, it is wise to either use NONDOCUMENT MODE or to be sure and turn off DYNAMIC PAGE BREAK DETERMINATION via permanent installation of a 00 at INITWF:+7 (which see). REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 38D WS 3.3 375 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 38D WS 3.3-MS/PC 38D 36 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITWF:+9 1 Enter a value at this label which equals the line spacing at which you wish your text displayed on the terminal screen. Enter a 01 to display (and print) single spaced text, 02 for doubled spaced text, etc. Entering a byte at this label is equivalent to executing a Control-OS command and entering the spacing desired to the resultant prompt. Note, however, that printed text spacing and displayed text spacing can be controlled independently. It is worthwhile to observe that a line spacing of 01 (the pre-installed value in an unmodified WordStar) allows the maximum text to be displayed on screen at one time. The line spacing at print time may be independently controlled via the .LH x dot command with proper page break determination being maintained so that page breaks dis- played on screen will be correct for the print time spacing even though the line spacing on screen is different. A typical example would be a case where a document must be printed in doubled spaced format. The operator could, of course, change line spacing and enter the text in double spaced format. The alternative would be to set the command .LH 16 (for 16/48th's of an inch between lines which is double the default of 8/16th's) at the beginning of the text file and simply enter text in single spaced format. At print time the text will be double spaced but during entry the operator will be able to see twice as many lines on screen as would have been the case if the line spacing had been changed to 02 via either the Control-OS command or by permanently modifying the value at INITWF:+9 to 02. For more information regarding the .LH command refer to your WordStar User's Guide. If you wish to change the default (pre-installed) value which is exhibited by WordStar for the .LH command refer to the discussion of labels INITPF: through INITPF:+18 in this appendix. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ 37 ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 38E WS 3.3 376 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 38E WS 3.3-MS/PC 38E 38 WORDSTAR INITIALIZATION FEATURES LABEL # OF BYTES DESCRIPTION & USE INITWF:+A 1 Enter a 00 at this label to enable BLOCK MOVE at the edit of a document file or until the first execution of a Control-KN command by the operator. FF is the pre-installed value at the label INITWF:+A for an unmodified WordStar. Enter an 00 at this label to enable COLUMN MOVE at the edit of a document file or until the first execution of a Control-KN command by the operator. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 38F WS 3.3 377 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 38F WS 3.3-MS/PC 38F CUSTOMIZATION FEATURES NONDOC: 1 Enter a 00 at this label to cause WordStar to enter DOCUMENT editing mode when a file name is supplied on the CP/M command line which invokes WordStar. The default value at the label NONDOC: is 00. Thus, given the CP/M command line A>WS EXAMPLE.TXT WordStar will immediatly bring up the document in the file EXAMPLE.TXT for editing in DOCUMENT MODE if the value at NONDOC: is 00. Enter an FF at this label to bring up a text file for editing in NON-DOCUMENT MODE from the command line. Changing WordStar's DOCUMENT MODE default to a NON-DOCUMENT MODE default by 39 changing a 00 to an FF at NONDOC: would be reasonable, for example, where WordStar is used almost exclusively for the writing of programs REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS DECCHR: 1 Place the hexadecimal value for the ASCII character which you desire to cause the decimal alignment function of WordStar to discontinue entry from the current cursor position to the left and commence entry from the current cursor position to the right (i.e., terminates decimal point alignment action). Decimal point alignment always occures at any decimal tab (#) which appears in the ruler line. DECCHR: is pre-installed with a decimal point (period) in an unmodified WordStar but may be changed to adjust to circumstances (i.e., to a comma as is commonly required in European notations. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 40 WS 3.3-MS 41 DOTCHR: 1 This label always contains the character which, when placed in the first column of a text file line, will be interpreted as a "command line". Such lines do not print and if followed by a valid WordStar "dot command" will effect a prescribed action when the text is printed. An unmodified WordStar is pre-installed with a period or "dot" (ASCII 2E hex) character from which WordStar's "dot commands" derive their name. This character may be changed to suit unusual circumstances or the user's whims. Selections for this character should be made carefully since word-wrap will, on occasion, place the selected character in the first column of a line, thus rendering this line unprintable. Selection of a character that is used frequently in everyday text would, therefore, result in an unacceptably high frequency of suppressed text lines. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS BLNCHR: 1 This label always contains the character which, when placed in a WordStar text file via a Control-P prefix, will act as a "hard" or "NON-BREAK SPACE". Such spaces are not used by the microspace justification mechanism of either Word-Wrap or Paragraph Reform to achieve right justification. Thus, the special condition 2 X 4 will not be distorted by microspace if the character at this label is inserted as the space between the 2 and the X and the X and the 4. In a unmodified WordStar the characater ^O (ASCII 0F hex) is pre-installed at this label but it may be changed to adjust for special circumstances. 42 Be aware, however, that only ^K and ^U are effectively unassigned since all other control characters are used as called out in the Control-P Prefix Menu or serve as special cases (such as Control-PL which enters a "hard" form feed). REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS 43 DOTSON: 1 Enter a 00 at this label to disable all dynamic interpretation of commands signaled by the presence of the character at the label DOTCHR: (which see) in the first column of a text line. An unmodified WordStar has an FF installed at this label (and a period installed at the label DOTCHR:) so that the appearance of a dot (or period) in the first column of a text line will result in a pre-defined action at print time as well as appearance of the '?' in the flag column when an unrecognized dot command appears on a line and proper page break is displayed as required for dot commands which affect page format (see INITWF:+5 and INITWF:+6). Entering an FF at this label will disable dynamic inter- pretation of dot commands at print time as well as all the associated screen display effects described above. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS HZONE: 1 The value at this label determines the maximum number of columns to the left of the right margin within which the last full word on a line may end without a hyphenation stop occuring during paragraph reform. The value at the label HZONE: in an unmodified WordStar is pre- installed as 04. This will allow hyphenation help to suggest hyphen insertion when and if a word ends within four columns of the right margin. The rule of thumb for the value entered at the label HZONE: is, therefore: increase for fewer hyphen stops or decrease for more stops. Note that the label HZONE: only has effect when the value at the label 44 INITWF:+4 is FF (i.e., when HYPHEN HELP is enabled). REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS 45 PVWTB: 2 The two bytes starting at this label is the address of the vowel table VOWTAB: (which see), low order byte first. Modifications which require more table space than allowed at VOWTAB: may choose to setup a longer vowel table at a location set aside for user modification (See MORPAT: and/or PBGMEM:) and change this address to point to the location of this new table. (See also PNCON:, NONCON:) REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS PNCON: 2 The two bytes starting at this label is the address of the non-consonant table NONCON: (which see), low order byte first. Modifications which require fewer VOWELS (see PVWTB: and VOWTAB:) and more non-consonant characters or vica versa may be accomodated within the allocated vowel table space by moving the address at the label PNCON: up or down within the address limits of VOWTAB: (i.e., between VOWTAB: and VOWTAB: + 0DH). REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ 46 WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS VOWTAB: 5 The five bytes starting at this label serve to identify characters that may be either vowels or consonants and is used by WordStar's HYPHEN HELP function in determining where to position the cursor prior to prompting the operator for hyphen insertion. In an unmodified WordStar, VOWTAB: is pre-installed with the characters 'Y', '[', ']', '{' and '}'. In English, the character 'Y' may be either a consonant or a vowel. The other four pre- installed characters often correspond to accented vowels in some European languages. (Also see INITWF:+3, INIWF:+4, HZONE:, PVWTB:, PNCON: and NONCON:). 47 REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS NONCON: 9 The nine bytes starting at this label serve to identify characters that are always vowels (i.e., are never consonants) and is used by WordStar's HYPHEN HELP function in determining where to position the cursor prior to prompting the operator for hyphen insertion. In an unmodified WordStar, the NONCON: (NON- CONsonant) table is pre-installed with the five characters 'A', 'E', 'I', 'O' and 'U' which are the vowels in English. The vowel table characters starting at the label NONCON: are manipulated as a logical continuation of the characters starting at the label VOWTAB: (which see) and the final character of a string of characters composed of either or both NONCON: and/or VOWTAB: must end in a 00 byte. Thus it is important to note that the maximum number of characters for either VOWTAB: and/or NONCON: is, in fact, not the sum of bytes provided for by VOWTAB: and NONCON: (i.e., 5+9 = 14) but is the sum of VOWTAB: and NONCON: minus the terminating byte 00 (i.e., (5 + 9) - 1 = 0DH). REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 48 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS EOFCHR: 1 The value entered at this label is for the ASCII character that will be displayed in the rightmost column of the screen (flag column) on lines which are beyond the end of the text file currently being edited. In an unmodified WordStar this character is pre-installed as a PERIOD (ASCII 2EH) but any desired character may be substituted at this label. 49 REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS BOFCHR: 1 The value entered at this label is for the ASCII character that will be displayed in the rightmost column of the screen (flag column) on lines which are above the beginning of the first line of a text file currently being edited. In an unmodified WordStar this character is pre- installed as a COLON (ASCII 3AH) but any desired character may be substituted a this label. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS CONCHR: 1 The value entered at this label is for the ASCII character that will be displayed in the rightmost column of the screen (flag column) on a line which is continued on the next line of the screen (WS 2.6 and earlier) or is continued beyond the current right hand screen column (WordStar 3.0 and later). In an unmodified WordStar this character is pre-installed as a 50 SUMMATION SIGN (+ or ASCII 2BH) but any desired character may be substituted at this label. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS 51 OVPCHR: 1 The value entered at this label is for the ASCII character that will be displayed in the rightmost column of the screen (flag column) on a line which will be overprinted by the line following it. The overprint condition is accomplished by sending a Carriage Return without a Line Feed. In an unmodified WordStar this character is pre-installed as a HYPHEN (ASCII 2DH) but any desired character may be substituted at this label. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS LFCHR: 1 The value entered at this label is for the ASCII character that will be displayed in the rightmost column of the screen (flag column) on a line which is terminated by a Line Feed without a Carriage Return. This is an abnormal condition and should be noted when and if it occurs. In an unmodified WordStar this character is pre- installed as an UPPER-CASE 'J' (ASCII 4AH) but any desired character may be substituted at this label. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ 52 ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS PAGCHR: 1 The value entered at this label is for the ASCII character that will be displayed in the rightmost column of the screen (flag column) on the last line of a page. In an unmodified WordStar this char- acter is pre-installed as an UPPER-CASE 'P' (ASCII 50H) but any desired character may be substituted at this label. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS SOFTCR: 1 The value entered at this label is for the ASCII character that will be displayed in the rightmost column of the screen (flag column) on any line which is subject to paragraph reform, i.e., is not the last line of a paragraph. In an unmodified WordStar this character is pre-installed as a SPACE (ASCII 20H) but any desired character may be substituted at this label. (See HARDCR: for hard carriage return that terminates paragraph reform.) REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR 53 _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS HARDCR: 1 The value entered at this label is for the ASCII character that will be displayed in the rightmost column of the screen (flag column) on any line which will terminate paragraph reformation. In an unmodified WordStar this character is pre- installed as a LEFT ARROW (< or ASCII 3CH) but any desired character may be substituted at this label. Users whose files normally have carriage returns (ASCII 0DH) at the end of every line may wish to put a SPACE (ASCII 20H) at this label and another character at the label SOFTCR: (which see). REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS FDTCHR: 1 The value entered at this label is for the ASCII character that will be displayed in the rightmost column of the screen (flag column) when a line contains a VALID MAILMERGE DOT COMMAND. In an unmodified WordStar this character is pre- installed as an Upper-case 'M' (ASCII 4DH) but any desired character may be substituted at this label. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 54 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS SOFHYC: 1 The character entered at this label will be used by WordStar to display SOFT HYPHENS, both the "inactive" ones that occur mid-line and do not print and the "active" ones which appear at the end of a line and print as hyphens. In an unmodified WordStar this character is pre- installed as a hyphen with the high order bit set to indicate that the character should be displayed in highlight (i.e., ASCII 2DH with high order bit set = ADH) but any desired character may be substituted at this label. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS PAGFIL: 1 The character entered at this label will be used by WordStar to display a page break line at the end of each page assuming that the value at INITWF:+6, INITWF:+7 and INITWF:+8 are FF (RULER LINE DISPLAY is ON, PAGE BREAK is ON and DYNAMIC PAGE BREAK DETERMINATION is enabled). In an unmodified WordStar this character is pre- installed as a hyphen (ASCII 2DH) so that a page break is displayed as a line of -'s but any desired character may be substituted at this label. REFERENCE: 55 CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS 56 MARKS: 1 The character entered at this label is used by WordStar to indicate the start of a "marked block" at the current cursor position when a Control-KB is issued by the operator. In an unmodified WordStar this character is pre-installed as an Upper-case 'B' (ASCII 42H) but any desired character may be substituted at this label. If strings for turning highlight on and off have been installed at the labels IVON: and/or IVOFF: in the Terminal Installation Area of this Appendix (which see), the mark- start-of-block character is displayed in highlight with right and left arrows in surround (i.e, as ). In addition, if the IVON: and IVOFF: strings are installed, display of both the beginning-of-marked block character installed at the label MARKS: and the end-of-marked-block character installed at MARKS:+1 are suppressed when both have been properly set to mark a block. A block is considered propely marked when both beginning and end of block have been set via the CONTROL-KB and CONTROL-KK command and the end of block follows the beginning of block and there is at least one printable character (including SPACE) between them. If strings have not been installed at IVON: and/or IVOFF:, the beginning and end-of- marked-block characters installed at MARKS: and MARKS:+1 will always display. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS MARKS:+1 1 The character entered at this label is used by WordStar to indicate the end of a marked block at the current cusor positin when the operator executed the 57 command CONTROL-KK. In an unmodified WordStar this character is pre-installed as an Upper-case 'K' (ASCII 42H) but any desired character may be substituted at this label. See MARKS: for additional discussion of this character. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS 58 MARKS:+5 10 The ten characters entered starting at this label are used by WordStar to mark "places" set gby the operator via the CONTROL-Kn command where 'n' is a number between 0 and 9. In an unmodified WordStar the characters 0 through 9 (ASCII 30H through 39H) are pre-installed starting at this label but any ASCII characters may be substituted for any (or all) of the these characters. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS PODBLK: 1 Enter a 00 at this prompt to cause the output of a WordStar print operation to go to the printer when the operator types anything but 'Y' (Yes) to the prompt "DISK FILE OUTPUT. This is the pre- installed value at the label PODBLK: in an unmodified WordStar. Enter an FF at this label to cause the output of a WordStar print operation to go to a disk file when the operator types anything but 'N' (No) to the prompt "DISK FILE OUTPUT. If set to FF and anything but 'N' is typed, the operator will be prompted for a file name to receive the output. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 59 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS PODBLK:+1 1 Enter an 00 at this label to cause the printer to advance to the next page (sheet of paper) by sending the required number of line feeds if the operator types anything but 'Y' (Yes) to the prompt "USE FORM FEEDS". This is the pre- installed value at the label PODBLK:+1 in an unmodified WordStar. Enter an FF at this label to cause the printer to advance to the next page by sending a FORM FEED character (ASCII 0CH) to the printer when the operator types anything but 'N' (No) to the prompt "USE FORM FEEDS". The use of Form Feeds may be necessary with some peripherals such as Sheet Feeders. The user may also find that use of Form Feeds results in faster print operation where the printer recognizes the Form Feed character and operation is acceptable. Note that it is possible to suppress the appearance of the prompt "USE FORM FEEDS" entirely if it is desirable to eliminate the prompt because the use of line feeds is an option which is never used or is an option which is always used. For information regarding this option see the label NOUFF: in this installation area. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS 60 PODBLK:+2 1 Enter an 00 at this prompt to enable page formatting at print time if the operator types anything but 'Y' (Yes) to the prompt "SUPPRESS PAGE FORMATTING". This is the pre-installed value at the label PODBLK:+2 in an unmodified WordStar. Enter an FF at this label to cause WordStar to output text without executing page formatting commands at print time if the operator types anything but 'N' (No) to the prompt "USE FORM FEEDS". It should be noted that when page formatting is suppressed, all dot commands are treated as printable text (i.e., are ignored as normal WordStar commands) including those dot commands which are specific to MailMerge and/or StarIndex. In addition it should be noted that when output to disk file is done with page formatting suppressed, any control characters imbedded in the text will not be expanded to their associated printer control strings but will appear in the resultant print output file as they appeared in the original text file. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS PODBLK:+3 1 Enter an 00 at this prompt to disable pause between pages at print time if the operator types anything but 'Y' (Yes) to the prompt "PAUSE BETWEEN PAGES". This is the pre-installed value at the label PODBLK:+3 in an unmodified WordStar. Enter an FF at this label to cause the printer to pause between each page if the operator types anything but 'N' (No) to the prompt "PAUSE BETWEEN PAGES". REFERENCE: 61 CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS NOUFF: 1 Enter a 00 at this label to display the prompt "USE FORM FEEDS" at print time. This is the pre-installed value at the lable NOUFF: unless you have installed WordStar (via the INSTALLation utility) for a DIABLO 1640/50. If you have installed WordStar for a Diablo 1640 or 1650 and must use form feeds (typically for using WordStar with a sheetfeeder) replace the FF which appears at the label NOUFF: with a 00. (See the label PODBLK:+1 for additional installation possibilities.) Enter an FF at this label to suppress the prompt "USE FORM FEEDS" to accomodate circumstances where Form Feeds are never to be used (i.e., the value at PODBLK:+1 00) or, alternatively, Form feeds are always to be used (i.e., the value at PODBLK:+1 is FF). REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS ITPOPN: 1 Enter a 00 at this label to enable page 62 numbering unless suppressed in the file by the dot command .OP. This is the pre-installed value at the label ITPOPN: in an unmodified WordStar. Enter an FF at this label to suppress numbering of pages unless (or until) the dot command .PN n (where 'n' is the starting page number) appears in a file. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS 63 ITMIJ: 1 Enter a 00 at this label to enable MICROJUSTIFICATION of text until the dot command .UJ OFF (or .UJ 0) is encountered in the file. This is the pre-installed value at the label ITMIJ: in an unmodified WordStar. Enter an FF at this label to disable microjustification until the dot command .UJ ON (where 'n' is the starting page number) appears in a file. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS ITBIP: 1 Enteran FF at this label to enable BIDIRECTIONAL print until the occurrence of the dot command .BP OFF (or .BP 0) in a text file being printed. This is the pre-installed value at the label ITBIP: in an unmodified WordStar. Enter a 00 at this label to disable bidirectional print until the dot command .BP ON (or BP 0)' is encountered in a file being printed. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS 64 RVELIM: 1 The character entered at this label is used by MailMerge to distinguish one field from the next. In an un- modified WordStar this character is pre- installed as a COMMA as is required by most common data file structures (i.e, comma delimited fields, carriage return delimited records as with DataStar and others). However, you may enter another character at this label if commas do not serve as the inter-field character in your particular data files. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS RVQUOT: 1 The character at this label is used by MailMerge to identify a field which contains an embedded field seperator character (see the label REVELIM:). In such cases MailMerge expectes the character at this label to appear before the first character of such a field and after the last character of the field. In an unmodified WordStar a double quote (" or ASCII ??H) is pre-installed at this label since this is the most common database standard for such cases. You may enter any character which your data structure requires for this function. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 65 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS VARCH1: 1 The character at this label is used by MailMerge to signal the beginning of a variable defined and read by a previous .RV command. Note that the character at the label VARCH2: (which see) defines the end of such MailMerge variables and that the characters at this label and at VARCH2: are not required to be the same. In an unmodified WordStar an ampersand (& or ASCII ??H) is pre-installed at this label (and at VARCH2:). REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS VARCH2: 1 The character at this label is used by MailMerge to identify the end of a variable defined and read by a previous .RV command. Note that a variable's beginning is signaled by the character at the label VARCH1: and that these characters are not required to be the same. In an unmodified WordStar an ampersand (ASCII ??H) is pre-installed at both VARCH2: and VARCH1: but you may substitute any valid ASCII character at this label. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE 66 ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS VARNBC: 1 When the character at this label immediately follows the character installed at the label VARCH1:, it is interpreted by MailMerge as a command to omit the entire line upon which the variable appears. An unmodified WordStar is pre- installed with an Upper-case 'O' (ASCII ??H) at this label but you may enter any valid ASCII character in substitution. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS FNWSCM: 12 The 12 characters starting at this label define the name of the main WordStar file. In a conventional WordStar installation the main WordStar file is called WS.COM but prompts to call the installed WordStar something else are provided by the installation program. If another name is provided at this installation prompt that name appears starting at this label. Note that the file name that appears beginning at this label (as provided at installation time) and the name of the file as it appears in a disk's directory must be identical for correct operation of any "R" (i.e.,Run program) command or for proper return from such overlay features as 67 MailMerge and StarIndex. In such cases, improper operation is returned to the operator in the form of the error message "Cannot find FILENAME.COM" where FILENAME.COM is the file name starting at this label. The file name at this label is automatically entered by the installation program and need not be modified by the user directly via this label. If the user chooses to modify the main WordStar file name by entering the characters of the name at this label the FILENAME part must be space filled to a total of eight file name characters. The period character used to identify the end of the file name and the beginning of the file type is not entered. For example: WS______COM is valid whereas WSCOM is not and neither is WS_____.COM Note that the each underscore character represents a space (i.e, ASCII 20H). REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS DSKTNA: 12 The 12 characters starting at this label define the name of the WordStar overlay file which contains the major portion of the WordStar menu and message message texts. In an unmodified WordStar installation this label is pre- installed with the file name WSMSGS.OVR. Changing the file name at this label will require renaming the WSMSGS.OVR file as it 68 appears in the disk's directory. Such a change might be made where different versions of WordStar must be resident on the same disk or modifications to the WSMSGS file are used with a specially modified WordStar. The name which appears starting at this label must match a valid WordStar messages overlay file of the proper revision resident on the disk in the currently logged drive or on the disk in the boot drive. If the user chooses to modify the filename at this label file name by entering the characters of the name at this label the FILENAME portion must be space filled to a total of eight file name characters (see FNWSCM:). REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS FNOVLY: 12 Identical to the discussion of the label DSKTNA: (which see) except that the filename starting at this label is for the main WordStar overlay file. This is normally pre-installed as WSOVLY1.OVR but may be altered by modifying the characters starting at FNOVLY: and renaming the WSOVLY1.OVR file accordingly. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 69 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS FNMRGP: 12 Identical to the discussion of the label DSKTNA: except that the characters starting at this label identify the filename of the MailMerge overlay (See DSKTNA:). An unmodified WordStar is pre-installed with the characters 'MAILMRGEOVR' starting at this label. REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3-MS AUTOBS: 11 Up to ten characters terminated by a 00 may be entered starting at this label. When any one of the characters in this label's string of characters are entered at the keyboard, WordStar will automatically insert a backspace (Control-H) print control after the character. This function is intended to support the use of foreign accent marks for terminals and printers which do not otherwise have special character fonts to provide accented characters. However, the table may be used to create such "standard" special character's as a slashed zero (which rarely appears on printer wheels) or to create other graphic characters and effects. In an unmodified WordStar, the ten bytes starting at AUTOBS: are 00's, i.e. are not pre- installed. The user may enter any characters desired up to ten characters. The last character of the string of desired characters must be a zero. 70 REFERENCE: CP/M-80 BASED WORDSTAR _____________________________________________ ___________ WS 3.0 TYPE: Value ABSOLUTE ADDRESS: 248 WS 3.3 232 CP/M-86, MSDOS, & PCDOS BASED WORDSTAR _____________________________________________ ___________ WS 3.3-86 TYPE: Value ABSOLUTE ADDRESS: KEYBOARD CUSTOMIZATION AREAS The Keyboard Customization areas that follow are used to interpret commands input during the use of WordStar. The command character portion of the entries may be altered to change the keys used for commands. Commands may be freely changed between single and double keystrokes or to a different prefix (first key) for a two-keystroke command. However, the same key may not be used both as a single-key command and as the first (prefix) key of a two-key command. Duplicate entries are acceptable. Consequently you may add a new key or key pairs for an existing function without deleting the old command by using the extra four byte entries provided starting at the label XTAB:. You may also change the existing command keys for any function in one of the three existing sets of command areas by changing the pre-installed command characters. However, the same rules apply in the case of changing existing commands as do to adding alternate command sequences to the existing command sequences. Each area consists of four bytes: BYTE 0/: This byte contains the first character of a two character control command (such as a Control-K/0/BH for the mark beginning of block command) or the only character of a single character command (such as Control- V/16H for the inert ON/OFF toggle). Command characters in this byte must be control codes (0/1- 1F HEX). BYTE 1: This byte contains either a zero if the previous byte is a single character control command (like Control-V) or it contains the second byte of a two byte command 71 (e.g., Control-B/0/2H for the second characters of the mark beginning of block command). A character entered in this byte may be any ASCII character but will always be converted to upper case (if a lower case letter is entered) and then to a control-code. Consequently both upper and lower case letters inserted in this byte are handled as the corresponding control character (e.g., either the letter 'B' or the letter 'b' in this byte will be used as a Control-B/0/2H) BYTES 3,4: These two bytes contain an address which is used by WordStar to execute the action associated with the control character or characters in the previous two bytes when they are input by the operator. It is rarely advisable to change this address. Note that if this address is 256 (FFH) or less it is used by WordStar as an index to a string of text which is to be displayed on the terminal's screen. This will always be evident when you display bytes 3 and 4 since the third byte in such cases will always be 0/0/. 72 This fact makes it impossible to use a command sequence to jump directly to a user-implemented subroutine installed at MORPAT: since its address is typically below 256 (e.g., 2E0/ in WordStar Revision 3.0/ and earlier and 2CBH in WordStar 3.3). You may, however, use a direct jump to routines installed over unused printer drivers (see the Printer Drivers section of this chapter) or to routines installed beginning at the location pointed to by PBGMEM: (see the TERMINAL INSTALLATION Section of this chapter) to overcome this problem. The WordStar Keyboard Customization area is divided into five sets of areas: THE NO-FILE BEING EDITED COMMAND AREAS Areas which are accessed by adding an offset to the label NOFTAB: are used to interpret keystrokes entered at the menu when no file is being edited (i.e., the OPENING MENU in WordStar 3.3). THE EDITING FILE COMMANDS AREAS Areas which are accessed by adding an offset to the label VTAB: are used to interpret keystrokes entered during the time that a file is being edited. THE MAILMERGE COMMAND AREAS Areas which are accessed by adding an offset to the label FPTAB: are used to interpret any special keystrokes that are available during the print of a file via the MAILMERGE utility (e.g., CONTROL-P to stop print, CONTROL-Z to scroll the terminal's screen up, etc). THE EXPANSION COMMAND AREAS Areas which are accessed by adding an offset to the label XTAB: may be used to implement additional keystrokes to cause WordStar to execute various functions while retaining the effectiveness of the normal commands. PROMPT CONTROL COMMAND AREAS These areas provide selected keystrokes used when prompts are displayed which require responses, such as the "FILE NAME?", "FIND?". 73 ORGANIZATION OF KEYBOARD CUSTOMIZATION DATA The following keyboard customization areas are organized in the following manner: LABEL:+OFFSET To the extreme left of each area's entry is a label name (NOFTAB:, VTAB:, etc) followed by a colon, a plus sign and an hexadecimal number. This is the exact sequence of characters you must enter at the WordStar Installation utility's Label Patcher prompt to get to the command area described for the label/offset of interest. (See LABL-1 through LABL-7 for more information regarding use of the Label Patcher.) NOTE: WordStar 3.3 has an enhanced Label Patcher utility that will require you to place the colon before the label rather than after it, i.e., :LABEL+OFFSET. Control xx To the immediate right of the label:+offset entry is the word Control (or Ctrl which is a contraction of Control) followed by one or two letters and numbers (xx). This is the name of the characters which are installed in the first two bytes of this area in an unmodified WordStar. (xx,yy) To the right of the name of the pre-installed characters and enclosed in parenthesis are the hexadecimal values of these control codes. Since the easiest method of entering numbers with the Label Patcher is to enter them in hexadecimal, the codes are presented in this notation. (If you are using a different method and need to know the decimal, binary or ASCII equivalents refer to the table at the end of this section.) ACTION DESCRIPTION Finally, at the extreme right of each area is a description of the action that will occur when the area's pre-installed control characters are entered. Note that bytes 3 and 4 are not provided in the entry for any area and that it is, in fact, these two bytes that actually determine what will happen when the associated keystrokes (i.e., control codes) are encountered in the input from a keyboard. Since these values can be identified relatively easily as outlined in steps 2 and 3 in the 74 procedure under EXPANSION COMMAND AREAS and since they are unique in any given revision of WordStar, they were omitted to help make the information more revision independent. 75 THE NO-FILE BEING EDITED COMMAND AREAS All the commands in the areas which are accessed by adding an offset to the label NOFTAB: are single keystroke (single character) commands and are effective when the OPENING MENU is being displayed (i.e, no file is yet opened for edition). The letters A,B,C,G,J,K, and Q are the letters currently unused as prefix characters (Control-U is the interrupt character and the letters I and T are reserved). Remember that WordStar does not distinquish between the upper, lower and control cases for each of these letters so that, in fact, there are only 9 characters available for use. If, in the unlikly case that you need more characters than 9, you may use the unused Control codes discussed previously to bring the total number of single character commands codes to a total of 12. CONTROL HEX LABEL:+OFFSET CODE VALUE ACTION DESCRIPTION _____________ _________ ________ _________________________________________ NOFTAB:+0/ Control-D (0/4,0/0/) enter the document mode NOFTAB:+34 Control-E (0/5,0/0/) prompt for a file rename operation NOFTAB:+1C Control-F (0/6,0/0/) toggle the File Directory on and off NOFTAB:+08 Control-H (0/8,0/0/) a change in the current help level NOFTAB:+28 Control-L (0/C,0/0/) select another disk NOFTAB:+14 Control-M (0/D,0/0/) execute MAILMERGE print feature (if available) NOFTAB:+04 Control-N (0/E,0/0/) enter the non-document mode NOFTAB:+30 Control-O (0/F,0/0/) prompt for a file copy operation NOFTAB:+10 Control-P (10/,0/0/) prompt for file to print NOFTAB:+2C Control-R (12,0/0/) execute a program NOFTAB:+3C Control-S (13,0/0/) execute the SPELLSTAR option (if available) NOFTAB:+38 Control-V (16,0/0/) toggle insert on and off NOFTAB:+24 Control-W (17,0/0/) scroll the File Directory 76 downwards NOFTAB:+0C Control-X (18,0/0/) exit to the operating system NOFTAB:+18 Control-Y (19,0/0/) delete a file from a disk's directory NOFTAB:+20 Control-Z (1A,0/0/) scroll the File Directory upwards. 77 THE EDITING FILE COMMAND AREAS A few of the following Editing Command Areas do not have the same offsets for WordStar Revision 3.3 as for WordStar revision 3.0/. In such cases, two label and offset values are given; the upper one should be used when modifying a WordStar with a revision 3.0/ and the lower one should be used when modifying a revision 3.3 WordStar. Also note that this customization area has been subdivided into the: Single Keystroke Command Customization Areas Control-Q Command Customization Areas Control-K Command Customization Areas Control-O Command Customization Areas Control-J Command Customization Areas and that within each of these areas the commands are presented in alphabetical order by the second character of the two character command. Also be aware that commands ending in a number are provided at the end of the table. Single Keystroke Command Customization Areas CONTROL HEX LABEL:+OFFSET CODE(s) VALUE(s) ACTION DESCRIPTION _____________ __________ ________ _________________________________________ VTAB:+20/ Control-A (0/1,0/0/) move the cursor back a word VTAB:+D0/ Control-B (0/2,0/0/) reform a paragraph VTAB:+A4 VTAB:+B4 Control-C (0/3,0/0/) scroll the screen VTAB:+A8 VTAB:+B8 Ctrl-DEL (7F,0/0/) delete the character to the left of the cursor VTAB:+AC VTAB:+BC Ctrl-DEL (1F,0/0/) delete the character to the left of the cursor VTAB:+1C Control-D (0/4,0/0/) move the cursor forward a character VTAB:+2C Control-E (0/5,0/0/) move the cursor up a line VTAB:+24 Control-F (0/6,0/0/) move the cursor forward a word 78 VTAB:+B0/ VTAB:+C0/ Control-G (0/7,0/0/) delete the character to the right of the cursor 79 Single Keystroke Command Customization Areas (continued) CONTROL HEX LABEL:+OFFSET CODE(s) VALUE(s) ACTION DESCRIPTION _____________ __________ ________ _________________________________________ VTAB:+18 Control-H (0/8,0/0/) move the cursor back a character Note that the Delete-character-left (CLCHR:) also moves the cursor back a character as does the Control- S command at VTAB:+14. Consequently, you should take the character(s) installed at the label CLCHR: and VTAB:+14 into consideration when modifying the byte(s) at VTAB:+18. VTAB:+D8 Control-I (0/9,0/0/) move the cursor to the next tab stop VTAB:+0/C Control-J (0/A,FF) display the Control-J commands help menu when the operator enters a ^J without immediately following it with a second command character. This location should rarely be modified VTAB:+0/4 Control-K (0/B,FF) display the Control-K commands help menu when the operator enters a ^K without immediately following it with a second command character. This location should rarely be modified VTAB:+8C VTAB:+A4 Control-L (0/C,0/0/) repeat the last FIND or FIND AND REPLACE command VTAB:+DC Control-M (0/D,0/0/) enter a carriage return without a line feed (overprint line) at the current cusor position VTAB:+D4 Control-N (0/E,0/0/) Enter a carriage retun and line feed (create a new line) at the current cursor position VTAB:+8 Control-O (0/F,FF) display the Control-O commands help menu when the operator enters a ^O without immediately following it with a second command character. This location should rarely be modified 80 VTAB:+E0/ Control-P (10/,0/0/) enter any character that immediatly follows the character installed at this label/offset exactly as it is entered (literally) even if it is a control character into the file being edited. Note that this is the Print Control prefix but that the second character of the print control commands are not subject to modification and are not, therefore, provided in these keyboard areas. Single Keystroke Command Customization Areas (continued) CONTROL HEX LABEL:+OFFSET CODE(s) VALUE(s) ACTION DESCRIPTION _____________ __________ ________ _________________________________________ VTAB:+0/ Control-Q (11,FF) display the Control-Q commands help menu when the operator enters a ^Q without immediately following it with a second command character. This location should rarely be modified VTAB:+A0/ VTAB:+B0/ Control-R (12,0/0/) scroll the screen down VTAB:+14 Control-S (13,0/0/) move the cursor back a character Note that the Delete-character-left (CLCHR:) also moves the cursor back a character as does the Control- H command at VTAB:+18. Consequently, you should take the character(s) installed at the label CLCHR: and VTAB:+18 into consideration when modifying the bytes at VTAB:+14. VTAB:+C4 VTAB:+C8 Control-T (14,0/0/) delete the word to the right of the cursor VTAB:+12C Control-U (15,0/0/) Interrupt ongoing command. If the user chooses to modify this keyboard area they must be sure to change the area at the label STPCHR: to match. VTAB:+C8 VTAB:+CC Control-V (16,0/0/) turn insert ON if it is currently OFF or OFF if it is currently ON VTAB:+CC 81 VTAB:+9C VTAB:+AC Control-W (17,0/0/) scroll the screen down one line VTAB:+28 Control-X (18,0/0/) move the cursor down a line VTAB:+B4 VTAB:+C4 Control-Y (19,0/0/) delete the line that the cursor is on VTAB:+98 VTAB:+A8 Control-Z (1A,0/0/) scroll the screen up one line 82 Control-Q Command Customization Areas CONTROL HEX LABEL:+OFFSET CODE(s) VALUE(s) ACTION DESCRIPTION _____________ __________ ________ _________________________________________ VTAB:+84 Control-QA (11,0/1) prompt the user for the text to be replace and the text to replace during a FIND/REPLACE command (Control-QA) VTAB:+40/ Control-QB (11,42) move the cursor to the beginning of a marked block (set by entering a Control-KB previously) VTAB:+7C Control-QC (11,0/3) return the cursor to the end of a file VTAB:+BC VTAB:+98 Ctrl-QDEL (11,1F) delete from the beginning of a line to the current cursor position VTAB:+34 Control-QD (11,0/4) move the cursor to the right edge of the screen VTAB:+3C Control-QE (11,0/5) move the cursor to the top of the screen VTAB:+80/ Control-QF (11,0/6) prompt the user for the text to be found during a FIND command (Control-QF) VTAB:+44 Control-QK (11,4B) move the cursor to the end of a marked block (set by entering a Control-KK previously) VTAB:+88 Control-QL (11,0/C) execute SpellStar's special find and replace function VTAB:+48 Control-QP (11,50/) return the cursor to the position it had just before execution of the last command VTAB:+D0/ VTAB:+A0/ Control-QQ (11,11) repeat any command which is entered immediately after the command characters installed at this label/offset are en- tered. VTAB:+D4 VTAB:+B8 VTAB:+94 Ctrl-QRUB (11,7F) delete from the beginning of a line to the current cursor position VTAB:+78 Control-QR (11,12) return the cursor to the beginning of a file VTAB:+30/ Control-QS (11,13) move the cursor to the left 83 edge of the screen 84 Control-Q Command Customization Areas (continued) CONTROL HEX LABEL:+OFFSET CODE(s) VALUE(s) ACTION DESCRIPTION _____________ __________ ________ _________________________________________ VTAB:+4C Control-QV (11,56) return the cursor to the position it had just before the execution of a search (Control-QA or Control-QF) or MOVE (Con- trol KV or Control KC) command VTAB:+90/ VTAB:+8C Control-QW (11,17) start scrolling the screen downwards VTAB:+38 Control-QX (11,18) move the cursor to the bottom of the screen VTAB:+C0/ VTAB:+9C Control-QY (11,19) delete any text from the current cursor position to the end of a line VTAB:+94 VTAB:+90/ Control-QZ (11,1A) start scrolling the screen upwards VTAB:+50/ Control-Q0/ (11,30/) move the cursor to the position in a file at which the first user postion marker was placed via the command Control-K0/. VTAB:+54 Control-Q1 (11,31) Identical to VTAB:+50/ except moves the cursor to user place marker 2 (set with a Control-K1). VTAB:+58 Control-Q2 (11,32) Identical to VTAB:+50/ except moves the cursor to user place marker 3 (set with Control-K2). VTAB:+5C Control-Q3 (11,33) Identical to VTAB:+50/ except moves the cursor to user place marker 4 (set with Control-K3). VTAB:+60/ Control-Q4 (11,34) Identical to VTAB:+50/ except moves the cursor to user place marker 5 (set with Control-K4). VTAB:+64 Control-Q5 (11,35) Identical to VTAB:+50/ except moves the cursor to user place marker 6 (set with Control-K5). VTAB:+68 Control-Q6 (11,36) Identical to VTAB:+50/ except moves the cursor to user place marker 7 (set with Control-K6). VTAB:+6C Control-Q7 (11,37) Identical to VTAB:+50/ except moves the cursor to user place marker 8 (set with Control-K7). VTAB:+70/ Control-Q8 (11,38) Identical to VTAB:+50/ except moves the cursor to user place marker 9 (set with Control-K8). Control-Q Command Customization Areas (continued) 85 CONTROL HEX LABEL:+OFFSET CODE(s) VALUE(s) ACTION DESCRIPTION _____________ __________ ________ _________________________________________ VTAB:+74 Control-Q9 (11,39) Identical to VTAB:+50/ except moves the cursor to user place marker 10/ (set with Control-K9). Control-K Command Customization Areas CONTROL HEX LABEL:+OFFSET CODES VALUES ACTION DESCRIPTION _____________ __________ ________ ________________________________________ VTAB:+E8 Control-KB (0/B,42) mark the beginning of a block of text VTAB:+11C Control-KC (0/B,0/3) copy a marked block or column from its current position in a file to the current position of the cursor VTAB:+134 Control-KD (0/B,0/4) Save file and return to "Opening Menu" VTAB:+15C Control-KE (0/B,0/5) Rename a file while editing a different file. VTAB:+14C Control-KF (0/B,0/6) If file directory is ON while we are editing a file, Turn it OFF. If file directory is OFF while we are editing a file, turn it ON. VTAB:+E4 Control-KH (0/B,0/8) suppress display of a marked block if currently displayed or to display a marked block if currently not being dis- played. VTAB:+148 Control-KJ (0/B,0/A) Delete a file from a disk's directory VTAB:+EC Control-KK (0/B,4B) mark the end of a block of text VTAB:+154 Control-KL (0/B,0/C) Select another disk drive while editing a file. VTAB:+124 Control-KN (0/B,0/E) enter column-move/delte/copy mode if currenty in block mode or enter block delete/move/copy mode if currently in column mode VTAB:+158 Control-KO (0/B,0/F) Copy a file while editing a different file. 86 VTAB:+150/ Control-KP (0/B,10/) Print a file while editing a different file VTAB:+13C Control-KQ (0/B,11) Abandon edit without saving changes and return to "Opening Menu" Control-K Command Customization Areas (continued) CONTROL HEX LABEL:+OFFSET CODE(s) VALUE(s) ACTION DESCRIPTION _____________ __________ ________ _________________________________________ VTAB:+140/ Control-KR (0/B,12) Read in a file from the disk into the file being edited starting at current cursor position VTAB:+138 Control-KS (0/B,13) Save file and continue editing VTAB:+118 Control-KV (0/B,16) move a marked block or column from its current position in a file to the current position of the cursor VTAB:+144 Control-KW (0/B,17) Write the currently marked block to a file on a disk VTAB:+130/ Control-KX (0/B,18) Save file and exit to Operating System VTAB:+120/ Control-KY (0/B,19) delete a marked block or column from its current position in a file VTAB:+128 Control-KZ (0/B,1A) continuously scroll the screen upwards a line at a time VTAB:+F0/ Control-K0/ (0/B,30/) Set user place marker number 1 in text being edited VTAB:+F4 Control-K1 (0/B,31) Same as VTAB:+F0/ but sets user place marker number 2 VTAB:+F8 Control-K2 (0/B,32) Same as VTAB:+F0/ but sets user place marker number 3 VTAB:+FC Control-K3 (0/B,33) Same as VTAB:+F0/ but sets user place marker number 4 VTAB:+10/0/ Control-K4 (0/B,34) Same as VTAB:+F0/ but sets user place marker number 5 VTAB:+10/4 Control-K5 (0/B,35) Same as VTAB:+F0/ but sets user place marker number 6 VTAB:+10/8 Control-K6 (0/B,36) Same as VTAB:+F0/ but sets user place marker number 7 87 VTAB:+10/C Control-K7 (0/B,37) Same as VTAB:+F0/ but sets user place marker number 8 VTAB:+110/ Control-K8 (0/B,38) Same as VTAB:+F0/ but sets user place marker number 9 VTAB:+114 Control-K9 (0/B,39) Same as VTAB:+F0/ but sets user place marker number 10/ 88 Control-O Command Customization Areas CONTROL HEX LABEL:+OFFSET CODE(s) VALUE(s) ACTION DESCRIPTION _____________ __________ ________ _________________________________________ VTAB:+19C Control-OC (0/F,0/3) Center the line in which the cursor resides. VTAB:+180/ Control-OD (0/F,0/4) If control codes are being displayed, turn off the display. If control codes are not being displayed, display them. VTAB:+18C Control-OE (0/F,0/5) If soft hyphen entry is ON turn it OFF. If soft hyphen entry is OFF turn it ON. VTAB:+170/ Control-OF (0/F,0/6) Set margins and/or tabs from a line in the file being edited. VTAB:+194 Control-OG (0/F,0/7) Turn on paragraph tabbing function VTAB:+190/ Control-OH (0/F,0/8) If hyphen help is ON turn it OFF. If hyphen help is off turn it ON. VTAB:+168 Control-OI (0/F,0/9) Set tab stops (regular or decimal) VTAB:+178 Control-OJ (0/F,0/A) If right justification is ON turn it OFF. If it is OFF turn it ON. VTAB:+160/ Control-OL (0/F,0/C) Set left margin VTAB:+16C Control-ON (0/F,0/E) Clear any or all current tabs stops VTAB:+188 Control-OP (0/F,10/) If page breaks are being displayed, turn OFF page break display. If page breaks are not being displayed, turn page break display ON. VTAB:+164 Control-OR (0/F,12) Set right margin VTAB:+1A0/ Control-OS (0/F,13) Set line spacing VTAB:+184 Control-OT (0/F,14) If ruler line is currently being displayed, turn it OFF. If ruler line is not being displayed, turn it ON. VTAB:+17C Control-OV (0/F,16) If variable (soft) tabs are ON switch to hard tabs. If hard tabs are ON switch to variable tabs. 89 VTAB:+174 Control-OW (0/F,17) If word wrap is ON turn it OFF. If it is OFF turn it ON. VTAB:+198 Control-OX (0/F,18) Release margins 90 Control-J Command Customization Areas CONTROL HEX LABEL:+OFFSET CODE(s) VALUE(s) ACTION DESCRIPTION _____________ __________ ________ _________________________________________ VTAB:+1B4 Control-JB (0/A,0/2) Explain paragraph reform commands VTAB:+1A4 Control-JD (0/A,0/4) Explain dot commands VTAB:+1AC Control-JF (0/A,0/6) Explain flags in right most column VTAB:+10/ Control-JH (0/A,FF) prompt the user for a new help level when a Control-H command is entered without an help level number between 0/ and 3 immediately following it. This location should rarely be modified VTAB:+1BC Control-JI (0/A,0/9) General index to all command menus VTAB:+1B8 Control-JM (0/A,0/D) Explain margins commands VTAB:+1B0/ Control-JP (0/A,10/) Explain place markers commands VTAB:+1C4 Control-JR (0/A,12) Explain ruler line commands VTAB:+1A8 Control-JS (0/A,13) Explain status line VTAB:+1C0/ Control-JV (0/A,16) Explain text movement commands 91 EXPANSION COMMAND CUSTOMIZATION AREAS Redundant entries using your favorite keys may be entered in the following spaces if you wish to keep the original entry so that the original keys still operate. In creating additional entries, copy the address portion carefully from one of the previous keyboard customization areas. The following steps outline the necessary procedure for implementing redundant command sequences: 1. Identify the installation area in which the standard command is to be found (i.e., NO-FILE, FILE BEING EDITED or MAILMERGE area) and locate the label and offset which will allow the Label Patcher of WordStar's installation utility to access the area of interest. (see LABL-1 through LABL-7 for information regarding the Label Patcher) 2. Enter this address and offset when prompted by the Label Patcher and type a carriage return. If you have entered it correctly the Label Patcher will display a line of sixteen bytes and ask you if this is the location you want to change. 3. Record on a piece of paper the third and fourth bytes from the left end of the displayed string of bytes. 4. Enter 'N' (for No this isn't the area I want to modify) at the Label Patcher's prompt. 5. Select one of the EXPANSION COMMAND Areas and enter the label XTAB: followed by the offset given for that area. For example, if you have not previously installed an alternate command character sequence you might just as well use the first expansion command area so you would enter :XTAB+0/ at the prompt. 6. When the Label Patcher prompts for whether this is the location you wish to modify type a 'Y' (for Yes this is the area). 7. Now enter the byte (or bytes) of your alternate command character string. If you only have one byte to enter, enter that byte first followed by two carriage returns to skip the next byte (but be sure that the second byte is zero in this case). 8. Now enter the two bytes you recorded from the command area of step 3 in the order that they appeared on the screen (from left to right). If you have followed these steps carefully you have 92 effectively installed a command string which, in addition to the normal WordStar command string, will execute the command that you require. You must remember, however, that you cannot use any of the existing prefix characters of a two key command sequence in an attempt to implement a one-key aternate command within Editing File Command Areas (the only command areas which use two keystroke commands). Since the letters J, K, O, P, and Q are used as the first character in double character commands do not attempt to use these particular characters as the first character of an alternate file-being-edited (VTAB:) single character command. If your keyboard can generate a Control-\ (control-backslash = 1CH), Control-] (Control right bracket = 1DH), Control-^ (Control up-arrow = 1EH) or a Control-_ (Control-underscore = 1FH), you may use these characters to implement either single or double key alternatives to existing command key- strokes. CONTROL HEX LABEL:+OFFSET CODE(s) VALUE(s) ACTION DESCRIPTION _____________ __________ ________ _________________________________________ XTAB:+0/ NONE (0/0/,0/0/) Space to enter 1 or 2 byte command string XTAB:+5 NONE (0/0/,0/0/) Space to enter 1 or 2 byte command string XTAB:+9 NONE (0/0/,0/0/) Space to enter 1 or 2 byte command string XTAB:+D NONE (0/0/,0/0/) Space to enter 1 or 2 byte command string XTAB:+11 NONE (0/0/,0/0/) Space to enter 1 or 2 byte command string XTAB:+15 NONE (0/0/,0/0/) Space to enter 1 or 2 byte command string XTAB:+19 NONE (0/0/,0/0/) Space to enter 1 or 2 byte command string XTAB:+1D NONE (0/0/,0/0/) Space to enter 1 or 2 byte command string XTAB:+21 (0/0/) Must be zero 93 MAILMERGE COMMAND CUSTOMIZATION AREAS The MailMerge Command Areas are used to interpret keystrokes entered during the execution of MailMerge. CONTROL HEX LABEL:+OFFSET CODE(s) VALUE(s) ACTION DESCRIPTION _____________ __________ ________ _________________________________________ FPTAB:+0/0/ Control-P (10/,0/0/) Stop MailMerge print operation FPTAB:+0/4 Control-Z (1A,0/0/) Scroll MailMerge disk directory up FPTAB:+0/8 Control-W (17,0/0/) Scroll MailMerge disk directory down FPTAB:+0/C Control-V (16,0/0/) FPTAB:+10/ (0/0/) Must be 0/0/. Do not change PROMPT CONTROL COMMAND CUSTOMIZATION AREAS These areas provide selected control characters used in the line input routine which accepts responses to the "FILE NAME?", "FIND?", and other prompts which end in a question mark. Note that, unlike earlier areas, these areas allow for only single keystroke entries, i.e., only one byte per label is provided. In addition there is no need to concern oneself about an a 3rd and fourth byte which, in other areas, contains an index or address. These areas do not require these items. CONTROL HEX LABEL:+OFFSET CODE VALUE ACTION DESCRIPTION _____________ __________ ________ _________________________________________ CLCHR: Control-S (13) This is the character which, when entered at a prompt such as "FILE NAME?" or "FIND?" will cause the cursor to move left and delete a previously entered character (i.e., cursor left). Althought any character should work here, you will usually want it to be consistent with similar editing commands in the NOFTAB: and VTAB: areas. Consequently, if you change the value at VTAB:+18 and Vtab:+14, you will want to 94 consider changing CLCHR: to match. CRCHR: Control-D (0/6) Undelete character right and move cursor right. 95 CONTROL HEX LABEL:+OFFSET CODE VALUE ACTION DESCRIPTION _____________ __________ ________ _________________________________________ LITCHR: Control-P (10/) When this character is entered at a prompt it indicates that the character that imediately follows it should be entered exactly as entered (literally) even if it is otherwise a valid command character. This allows the operator to do such things as serach for control characters such as ^P, ^A etc. DIRCH: Control-F (0/6) If directory is OFF when a command prompt is displayed (such as "Name of file to delete?" on entry of the Control-KJ com- mand) entering this character will turn the directory ON until completion of the command. DIRCH:+1 Control-Z (1A) If directory is on when a command prompt is displayed (or has been temporarily turned ON with the character at DIRCH:) entry of this character will scroll the directory display upwards. DIRCH:+2 Control-W (17) If directory is on when a command prompt is displayed (or has been temporarily turned ON with the character at DIRCH:) entry of this character will scroll the directory display downwards. STPCHR: Control-U (15) This is a special command character which causes the interruption of any command being executed when it is entered. It must match the entry at VTAB:+12C. ERELCH: ESCAPE (1B) This is the character that must be entered after any error and after interruption of an ongoing command via the character at STPCHR: (VTAB:+12C) in orer to continue editing. This is normally installed as an ESCAPE character. 96