nakada@husc7.HARVARD.EDU (Paul Nakada) (04/19/88)
*** THE EXECUTABLE CODE WILL BE POSTED SEPARATELY *** Reply-To: Apple II List <APPLE2-L@brownvm> Sender: Apple II List <APPLE2-L@brownvm> Comments: Resent-From: Christopher Chung <CHRIS@BROWNVM> Comments: Originally-From: Grant Delaney <delaney@wnre.aecl.cdn> From: Christopher Chung <CHRIS@brownvm> Subject: Prodos word processor for 64K II+ To: Paul Nakada <NAKADA@harvunxu> Status: R Instructions for FREEWRITER, by Eric Schechter =========================== FreeWriter is a ProDOS-based public domain word-processor. It runs most easily on an Apple //e or //c. It also runs on a 64K Apple II+ (but see special instructions, below). It is fairly good -- in fact, for public domain, it's excellent. Its chief defect is that it doesn't print out files; but it can save them to disk, and then another program can be used to send them to the printer. In fact, FreeWriter's author, Paul Lutus, has also supplied such a printer-driver program. Our local Apple club obtained FreeWriter from IAC's disk #43. A few of the instructions below were also included on that disk. ... Technically, FreeWriter is not public domain. Rather, it is a copyrighted program for which the author has given permission for noncommercial distribution. That's almost the same thing, except that the author retains commercial rights. And in this case, he certainly has good reason to. FreeWriter is essentially a scaled-down, "trial size" version of the Lutus's ProDOS-based AppleWriter 2.0. That is, it has some of the ame commands as AppleWriter. I presume that FreeWriter was made available to try to get more people interested in buying AppleWriter. Any user familiar with AppleWriter II, II+, or //e will have no difficulty learning to use FreeWriter. But other users won't have much difficulty either -- the program contains a built-in tutorial. However, the tutorial is brief, and it doesn't cover everything; FreeWriter is even more powerful than the tutorial would indicate. In the following documentation, I'll try to discuss the most important features of FreeWriter which were not mentioned in the built-in tutorial. In case you're wondering, here's a brief comparison: Included only in FreeWriter: [W] set screen display width Included in both programs, essentially the same: [B] jump to beginning [E] jump to end [F] find/replace [L] load part or all of file from disk [N] new --- clear editor buffer [S] save part or all of file to disk [T] tutorial (in AppleWriter, it's open-Apple-?) [V] insert control letters into text (displayed inverse) Included in AppleWriter; omitted from FreWriter: [A] [C] change case [D] change direction * [G] glossary of macros [I] tab [O] DOS commands -- rename, delete, etc. * [P] print/ program [Q] additional menu (tabs, glossaries, etc.) [R] retype [T] tab settings * [W] retrievably delete a word * [X] retrievably delete a paragraph [Y] split screen display [Z] turn wordwrap on/off [_] preview output location I've marked four of the commands with an asterisk, to point them out -- I think those four are the most important ones omitted from FreeWriter. The [W] and [X] commands save a lot of tedious LEFT- and RIGHT- ARROW or DELETE keystrokes. The [G]lossary takes a little bit of programming, but it's fairly easy to learn to use, and in the long run it saves lots of keystrokes too. The [P]rint command obviously is important -- you can't do much without printouts. The [P]rogram command is AppleWriter's most interesting and unusual -- and least used -- feature. AppleWriter is a very good word-processor even without WPL, and most owners of AppleWriter have never touched WPL. Surely WPL was intended for hackers and fanatics like me, a dying breed. Who ever heard of programming a word-processor? The WPL ("Word Programming Language") performs a role for AppleWriter, somewhat analogous to the role that EXEC files handle in an Applesoft setting. Almost any oft-repeated procedure that you're accustomed to doing "manually" by typing, can be automated using WPL. WPL can handle several variables, and it can do loops and subroutines; so it adds a lot of flexibility to AppleWriter. But it has its drawbacks, too: (1) It's not easy to learn. In fact, it has a lot of the flavor of assembly language, with the AppleWriter acting as a very good editor/assembler. You have to b a programmer at heart, not a "user". WPL i useful, but it's more fun than useful. (2) WPL is not quite as fast as assembly language, though. When they run, the WPL programs run about as fast as BASIC, I think. I guess that the AppleWriter acts as an interpreter for the programs, not a compiler. (3) The programs are limited to 2048 characters in length. That's enough to do interesting things, but not extraordinary things. True, you can chain together as many of these 2048-character programs as you like; but then you have to wait for the disk drive each time one of them loads another. Enough digression. ======================================================================= GETTING STARTED FreeWriter is all in one SYS file, which can be started from Basic by using the "-" command. When you first enter FreeWriter, you'll see a title screen, with a copyright message. B patient; it will disappear after a few seconds. There doesn't seem to be any way to make it disappear faster. In much of the documentation for FreeWriter (or for AppleWriter), a pair of brackets is used to denote a control-letter. For instance, [T] would mean control-T. In such a case, you should NOT actually type brackets. You should just hold down the CONTROL key and press the 'T' key. After you enter FreeWriter, press [T] to read the built-in tutorial. All four arrow keys can be used to move the cursor. An Apple II+ does not have down- and up- arrows; but [J] and [K] can be used to move in those directions. (As usual, [H] is the same as the leftarrow, and [U] is the right arrow.) You'll need to set the screen margins, by typing [W] and then a number, and then pressing RETURN. Some recommended numbers are 78, if you have an 80-column card; or 39, if you don't. If you use all 80 columns (or all 40 columns), or more, FreeWriter's display will hide some text, or jump around in a distracting fashion, or both. ... Occasionally you may want to use some other width number, to preview a printout -- i.e., to see what the text will look like with various choices of margins. FreeWriter has two different ways to erase unwanted characters. Place the cursor to the right of the unwanted character. To irretrievably erase the character, press the DELETE key; this method is not available on an Apple II+. To erase retrievably the character, hold down the open-Apple button (or game-paddle #0) and press the left-arrow key. Text erased in the latter fashion can be retrieved by holding down the open-Apple button (or game-paddle #0) and pressing the RIGHT-arrow key. You can move the cursor before retrieving the text; this provides an easy method for relocating small blocks of text. However, the buffer in which the retrievable text is stored will only hold around 256 characters -- that's a little more than 3 lines, if you're using 78 columns; or a little more than 6 lins, if you're using 39 columns. ======================================================================= FREEWRITER'S USE OF PREFIXES FreeWriter's [L]oad and [S]ave commands offer you the option of displaying a catalog, but they require that you specify the "volume" (or, more precisely, the prefix). If you just press RETURN when asked for the "volume", FreeWriter will use whatever prefix was last used. (But it will give an error message if NO prefix has ever been specified.) FreeWriter does not offer any way of checking to see what are the prefixes on the disks. This is one of FreeWriter's drawbacks; you have to remember the prefixes you're working with. That can be a bothersome chore. But there are a couple of ways to get around that drawback. If you type in a period (.) and then press RETURN, FreeWriter will take the disk name (i.e., the main directory) as Prefix, and will proceed to show you a list of all the textfiles in the main directory. So one solution is to not bother with prefixes; just do everything in the main directory. ... But then you're missing out on ProDOS's wonderful hierarchical directory structure, which really can be useful. Another method you can use: specify a prefix immediately before entering FreeWriter. It does NOT have to be the same prefix as FreeWriter's. For instance, if your copy of FreeWriter is in "/MY.UTILITIES/TEXT.STUFF/", and the textfiles you want to work on are all in "/MY.TEXTS/ABOUT.IIC/", then type: PREFIX /MY.TEXTS/ABOUT.IIC/ -/MY.UTILITIES/TEXT.STUFF/FREEWRITER This will start up FreeWriter, but the default prefix which FreeWriter will use is "/MY.TEXTS/ABOUT.IIC/". --- That might all seem like a lot of typing. But it can be handled automatically, with just a few keystrokes, by the LONG.MENU program which I wrote; you may find it elsewhere in this database. Just set the menu's exit prefix to /MY.TEXTS/ABOUT.IIC/, and then move the menu to /MY.UTILITIES/TEXT.STUFF/ and run FreeWriter. ======================================================================= FREEWRITER'S [S]ave COMMAND When you press control-S, you will be asked for the filename under which you want to save the file. If you have been revising a file which you loaded from disk, then the name of that file will be displayed. To save under a new but similar filename, trace the right arrow key over the parts of the filenam that you want to keep. To save under precisely the same filename as that displayed, you can just press the equals sign (=) and then RETURN. ... In this case you will NOT be asked whether you want to delete the old version of the file. FreeWriter will just go ahead and delete the old version, and replace it with the new version. The tutorial gives the exclamation point as an example of a delimiter. Other punctuation marks can be used as well, and some other may be more convenient. Criteria to follow: the mark chosen should not be one which occurs in the the endmark, nor should it be a letter, numeral, period, or slash (since those characters could be part of a pathname). The tutorial mentions that you can create a new file, from either all or part of the text which is currently in FreeWriter's memory. But the tutorial doesn't mention that you can also APPEND either all or part of the current text to the end of a pre-existing file. To append all of the current text, type: [S]old.file!+ To append part of the current text, move the cursor to the beginning of the desired portion, and then type: [S]old.file!end!+ ======================================================================= FREEWRITER'S [L]oad COMMAND This command has some of the same conventions as the Save command. When you press control-L, a filename may be displayed, if it was recently used and hasn't yet been removed from memory by one means or another. In that case, pressing equal-sign and then RETURN will load the file specified by that name. The tutorial mentions how to load part of a file by using a beginning marker and an end marker. It does not mention that you can leave one of the markers empty, to specify the beginning or end of a file. Thus, [L]this.file!mark! will load all of "this.file" from "mark" to the end of the file. On the other hand, [L]this.file!!mark! will load all of "this.file" from the beginning of the file to "mark". The symbol "#" means "whatever is currently in memory". Using this, you can copy a portion of the current text into another location in the current text, as follows: [L]#!start!end! This command will copy, to the location where the cursor currently is, that portion of text which begins with "start" and ends with "end". (One or both of the start and end markers can be omitted if the portion you wish to copy begins at the beginning of current text memory or ends at the end of current memory.) You can use the load command to "peek" at a disk file without actually loading it, and thus without affecting the text which is currently in memory. Simply end the filename with a backslash (/). For instance, to peek at a file named "other.file", type [L]other.file\ The "other.file" will scroll rapidly upward over the screen. To make it pause so that you can look at it more carefully, type control-S. To resume scrolling, press any key. ======================================================================= FREEWRITER'S [F]ind/replace COMMAND This command has different effects when different delimiters are used, making it extremely powerful. Here is the delimiter chart from my AppleWriter //e manual (DOS 3.3 version): Delimiter / < # & ! * Any length = $ ' " + Cg. Return > % ( # ' Any char. ? & ) $ - When / is used as a delimiter, then there is no "any length", "carriage return", or "any character" symbol. But with any of < # & ! * used as a delimiter, the other features are available. The several different choices of delimiter are available so that you can use a column of the chart which doesn't use any symbols appearing in your text. Here's an example: suppose you want to remove all trailing blanks in your file -- i.e., whenever you have a space immediately preceding a carriage return, you want to remove the space. One way to do this is to type control-B to move the cursor to the top of memory, and then type [F]# %#%#A Here # is used as the delimiter, and % is used to represent carriage returns. The "A" at the end of the command means "all of them" -- but it might not actually get all of them. If you have several spaces immediately preceding a carriage return, this method will only remove the last of those spaces. What to do? Well, type control-F followed by an equals sign, to repeat the same substitution command. Do that several times. Then type [F]# %#%# This time we've omitted the "A", so we'll actually see where the remaining substitutions are needed. Another example -- suppose you want to delete the last few sentences -- or the last few paragraphs, or whatever -- of the text you've been working on. You could just use the DELETE key, but it's a little slow and tedious. Here's a faster method. Place the cursor at the beginning of the portion that you want to delete. Then type [F]#&##A -- that's control-F, pound, ampersand, pound, pound, A, return. Here the ampersand acts as an "any character" symbol. After yoou press RETURN, you'll have to wait a few seconds -- substitutions like this take a little while, but it's still faster than using the delete key. Finally, here's one more example. Suppose you want to delete several long paragraphs from the MIDDLE (not the end) of an extremely long file. Again, using the delete key would take a while. A slightly faster method is as follows: Put the cursor at the beginning of the portion to be deleted, and then type [F]#&&&&&&&&&&&&&&&&&&&&&&&&&## That's control-F, followed by a pound sign, followed by some large number of ampersands, followed by two pound signs, followed by RETURN. Then press 'Y' as many times as necessary. ======================================================================= FREEWRITER'S [Q]uit COMMAND This command actually does work; but it is so bothersome to use that in most cases, if you want to leave FreeWriter and use some other program, you may as well just reboot. However, the [Q]uit command does have at least one use. Rebooting destroys whatever is in the /RAM/disk. Occasionally it is useful to leave FreeWriter without destroying the contents of the /RAM/disk. One such application, for relocating textfiles, is described later in this article. So, here's how to use [Q]uit. First, press control-Q. When FreeWriter asks if you're sure, press 'Y' and then RETURN. The computer will then display the Prefix which was current when you entered FreeWriter. The computer will ask you to press RETURN if that Prefix is still acceptable, or else to specify a new Prefix. You should specify a prefix that contains a SYSTEM file. In most cases, this will be the prefix which is the main directory of a bootup disk. Next, the computer will ask for the pathname of the next "application". This means a file of type 'SYS' whose name ends in ".SYSTEM". For instance, this might be "BASIC.SYSTEM". After you've done that, the computer will set the prefix as you've specified, reload the ProDOS supplement to Basic, and look for whatever is the STARTUP program on your disk -- all without altering /RAM/. ======================================================================= End of file.