Do Run Run STWRITER.PRGB„!B„!12 4 8 5 0 12 84 2 12 132ST WRITER QUESTIONS AND ANSWERSby Bruce D. Noonan, M.D.Ever since ST Writer Elite appeared in the pages of START magazine, I have been besieged with questions and problems, both by letter and electronic mail, concerning its use. Four of the most asked questions are discussed here. Hopefully, this will serve to give me a break from answering the same questions over and over.First of all, ST Writer Elite (SWE) DOES NOT have line numbers in the text file. This is because SWE is NOT a WYSIWYG (What You See Is What You Get) word processor. In those word processors, each line is formatted in the editor by the user BEFORE printing. SWE, on the other hand, displays text in either 40 or 80 column mode, depending upon resolution, and the final formatted document is dependent upon the margin settings and print pitch you select. Formatting does not take place in the editor, but occurs AFTER you tell SWE to print.Therefore, the line and column counters in the box at the bottom of the screen DO NOT reflect the actual line and column on the printed page. They are intended as a guide to cursor position on the screen only. So what use are they? Well, they are for setting up tables and checking margins when there is a lot of "white space" (or, "black space" if you prefer white letters on black, as I do). You can check the column on one line, move to another and set the column so that it lines up with the first by checking the value in the column counter. For those who wanted some idea of their position in the file, I included a function by typing ALT = . This will return the byte position of the cursor. A rough word count can be determined by dividing the result by 6.The next problem most often asked about is with the Control O codes. On Atariwriter for the 8-bits, you can immediately send the decimal number following Control O directly to the printer during printing. With ST Writer Elite, however, the "page" is first laid out in computer memory (formatted) before characters are sent to the printer. During the "formatting", any Control O codes are immediately sent to the printer, then, after the page is formatted, the text is sent to the printer. The use of Control O is intended to send codes which will begin with the page on which it is first encountered, such as a command to select a different character set. This presents a problem for owners of printers which do not allow simultaneous access to English and foreign character sets. If the foreign set is selected, everything on the page will be in the foreign set, and vice versa. (My solution is to get a printer with 256 character capability.)Joe Waters came up with a good solution in Current Notes to partially fix this dilemma when you just HAVE to send a code to the printer during printing. Use the printer driver file to re-define a character, such as the ~ or some other infrequently use character as ESC (decimal 27, hex 0x1b) in the translation table of CONFIG.TXT. Thus, whenever a ~ is sent to the printer, it will be changed by the translation table magically into a 27, and the printer will see it as signaling a control code. The next character MUST be the ASCII equivalent of the decimal number the printer is to get following the ESC. This is known as an "Escape sequence". If you wanted to send a code to select a "download character set" you would also need to re-define some other characters to be decimal 0 and decimal 1. For example, you might select to redefine ^ as 0, and ` as 1 in the translation table in CONFIG.TXT. Thus, you would type into the document the sequence ~%` (ie., 27,37,1) before the text using downloaded characters, then ~%^ (ie., 27,37,0) afterwards, to cancel the download character set. The drawback of this method is that the text line containing the ~ and following code(s) will be shortened by that many characters in the printout.The third major problem involves cancelling sub- and super-scripts. In order to be "True" to Atari, SWE uses the sequence ESC 'H' to cancel them, but every other Epson compatible printer uses the sequence ESC 'T'. You can fix this by creating your own printer driver file. The procedure is as follows: (1) Run STWRITER.PRG (2) Load the file CONFIG.TXT (3) Edit the file, being sure the proper codes are entered to cancel sub- and super-scripts. For Epson printers, this is 27, 84. REMEMBER-- each section must contain 8 numbers, eg., 27,84,255,255,255,255,255,255. The 255's are just place holders, and are for printers which may require up to 8 codes for a function. (4) Save the file on disk. (5) Quit SWE and return to the desktop. (6) Run CONFIG.TOS. This program reads the CONFIG.TXT file you just saved, and creates a printer driver file on disk called XYZZX.DAT. This file must be in the same directory or folder as STWRITER.PRG, or it will not be loaded when you run STWRITER.PRG.The fourth and final question involves saving ASCII files. This can be accomplished in two ways. The first involves Printing to disk. I try to set the Top and Bottom margins to 0, Left to 1, and Right to 39 or 79, depending upon the resolution the text is to be displayed in on the screen. If the text is to be used by another word processor, a second method requires that you first change the CR character to ^M (Control M), which is ASCII 13, the carriage return understood by the rest of the world. Also be sure to remove any formatting commands, including the format line at the top of the file. In this case, don't Print the file to disk, but Save it. You will have to remove the DO RUN RUN STWRITER.PRG header and tab data from the beginning of the file after loading into the other word processor, but the text will be intact.I hope that this will answer a lot of questions regarding the use of ST Writer Elite. Good luck.r vertical movement (i.e. top and bottom mar