
THE WRITER
Softechnics


The Writer
A Professional Word Processor for ZX Spectrum Computers

by G. Carri for Softechnics


CHAPTER 1

WORD PROCESSING WITH THE WRITER


<> 1.1 The Writer is the most sophisticated word processing program now
available for the ZX Spectrum, incorporating as it does features usually only
found in far more expensive and powerful micros. It will replace all other
existing word processing packages for the Spectrum, as it is compatible
with nearly every existing Spectrum peripheral and if you've been using
Tasword II then it will accept those files too. The Writer really does turn
your 48/128K ZX Spectrum into one of the most powerful word processors
on the market.

<> 1.2 What exactly is "Word processing"?
A word processing program enables your Spectrum to simulate a
typewriter; like a word processor your computer can help you compose a
draft, as on a typewriter, but unlike a typewriter you can continuously
alter the words, correct spelling and typing errors on-screen, and without
having [to] commit what you've written to paper. The text is not printed
immediately hut is initially merely shown on the screen. In the word
processing program The Writer, a part called The Editor allows you to
correct any typing errors before printing a perfect copy.

<> 1.3 Using The Writer
The numerous procedures that the computer user has to remember often
make other word processors hard to use. The Writer , however, has been
designed to be extremely easy to use by offering most of the "commands"
you will need to know in the form of easy to read and operate "pull down
menus". Previously, this degree of what is called "user friendliness" had
only been available on micros costing over #1,000 or s0.
* Word processing on your Spectrum using The Writer could hardly be
easier. You'll soon find that there are a host of things which you can now
do with your Spectrum which you could not hope to achieve using a
traditional typewriter.
* Useful features of The Writer include word-wrap (it will automatically
wrap a word onto the next line rather than end a line part the way through
a word), auto-indent, search & replace text, copy or delete large blocks of
text, print one document whilst typing another and allow you total control
over the format of the text in your document; these and other features will
be fully discussed in this manual.

-- 1
-------

CHAPTER 2

GETTING STARTED

2.1
<> LOADING The Writer - 48K Spectrum
To load The Writer into your 48K Spectrum, you must follow one of
the two following procedures:

1. If you have a ZX Interface 1 and at least one Microdrive, then start
the tape (side A) and type the command LOAD "". After a short pause,
you will be asked whether you with to create a version for use with a
mouse, or one for use with keyboard (or joystick). If you are using a
mouse press 'M' and if you are not press 'K'. In a moment the message
"Stop the tape and press any key" will appear on the screen. Stop the
tape and insert a blank cartridge into Microdrive 1. Press a key and
the cartridge will be formatted. When the Microdrive light turns off,
you must start the tape again and run it until the next "Stop the tape"
message appears. Repeat these operations until the following message
appears on the screen: "FINISHED - THE WRITER IS READY IN
MICRODRIVE 1"

2. If you don't have a Microdrive, you must load The Writer from tape
with the command LOAD "" (side B of the cassette). Note that without a
Microdrive, many of the program's features are not available, including
the extensive HELP files.

3. Kempston Mouse & Joystick operation: If you wish to use either
the Kempston Mouse or Joystick with The Writer then you will first
have to ensure that your Mouse or Joystick interface is correctly
attached prior to first powering up your Spectrum. Above you will have
seen details on how you must create either a version for microdrive for
use with the mouse, or one for keyboard and (optionally) joystick.
* Needless to say, you may not attach both a joystick and mouse at the
same time, and at the time of writing this manual The Writer is not
compatible with other mice or joysticks (but please look in the Press for
announcements of future enhancements - or better still become a
member of the "SofTechnics Connection").
* Mouse operation: With the mouse attached you will find that in the
EDITOR mode the mouse has no effect. Other than, that is, when you
press the right-hand button on the mouse you will enter the MENU mode
(which is equivalent to pressing the EDIT key). Once in the EDIT/MENU
mode you will see that the mouse instantly gives you great freedom to

-- 2
-------

choose menus to pull down, and items in menus are now very easily
chosen. To select a menu, or an item in a menu, simply press the
left-hand button. And to return to the main text screen (THE EDITOR)
you will usually find that either pressing the right-hand button again or
the BREAK key will get you there.
* Joystick operation: With the joystick attached you will find that in
the MENU/EDIT mode (entered by pressing the EDIT key) you can now
move the arrow cursor around the screen easily using the joysticks usual
controls. To select a menu to pull down, or an item in a menu, simply
press the joystick's fire button.

2.2
<> LOADING The Writer - 128K Spectrum:
The Writer must he loaded into the 128K Spectrum in the 128K BASIC
mode - not the 48K BASIC mode. Simply enter: LOAD "" and press
ENTER. The 128K Spectrum versions of the programs, like the 48K ones,
are on the cassette in both mouse and keyboard/joystick versions
(although it is noted at the time of writing that the Kempston joystick
interface does not work with the 128K Spectrum - write for further
details if you with to use a joystick with this program). Again, as with
the 48K version, the microdrive creation side of the tape will request
you to press either 'M' or 'K' depending upon whether you wish a
mouse-operation version or one for use with the keyboard.




An Overview:

<> The "Status Line"

* SCREEN COLOURS: You will note that The Writer loads up in black
and white. If you prefer to see the screen in other colours (and we can
also recommend either white INK and blue PAPER, or vice versa as good
alternatives), then please refer to the section below dealing with the
EDIT menu in the MENU/EDIT mode.

* 128K & 48K differences: Note that the 128K version of The
Writer can hold up to 5 totally separate text-files (documents) in
memory at the same time. The name of the currently selected text-file
will also be displayed at this point on the status line. To change between
the 5 possible files simply enter the ETDN [?] mode, and press one of the
keys '1' to '5' whilst simultaneously holding down the SYMBOL SHIFT
key. Note that the program gives these files default names, but you can
easily change them by using the OPEN command (see below). Note too
that the 5 documents can have totally different characteristics and
settings (of TABS, screen width, indentation, etc etc).

-- 3
-------

* When the program has been successfully loaded, the screen will turn
black, with white letters and what is called a "status line" at the top of
your TV screen. It will look like this:

1:UNTITLED	1	0	0	NORM  INSR

This is what the status line means:

1: UNTITLED indicates the name of the document/file which you are
currently working on.

* The number just before the name (we've just defaulted to calling it
"untitled") refers to the Microdrive on which the document is stored.
Obviously, if you are using a tape based version then this number will
have no meaning and you should ignore it.

The '1' to the right of "UNTITLED" is the current page number.

The two zeros represent the next position on the screen where writing
will appear (called the "cursor position"). They are the so-called Line and
column numbers of the "cursor" respectively. The two zeros simply
mean that your cursor is currently in the top left hand corner (line 0,
column 0) of the text area of the screen below this status line.

To see how these numbers change as you type, try pressing the SPACE
key and you will see that the cursor travels across the screen and that
the "column" number goes up accordingly with each press of the key.

* NORM: The word NORM indicates that you are in the NORMal mode
in which you will usually be working. In this mode when you press a
key the letter, number or symbol on that key will appear on the screen
at the cursor position, just as if you were using a typewriter.

* EXTD: The other two modes are EXTD (EXTenDed) and GRPH
(GRaPHics). EXTD mode is entered by pressing the CAPS SHIFT and
SYMBOL SHIFT keys at the same time. In this mode pressing a key will
usually execute some sort of command to The Writer. For instance,
you would enter this mode if you wanted to get just one line of your text
centred on the screen. But we'll return to using this mode later. By the
way, you can see that you are in the EXTD mode by the fact that the
border colour will have turned red.

Certain symbols however (~, (, ], etc) are obtained by pressing SYMBOL
SHIFT and the key.

* GRPH: In the GRPH mode you can get special symbols, non-English
letters, and printer control codes. When you are in this mode you will
see that the border colour turns yellow.

-- 4
-------

* INSR: The word INSR indicates that The Writer is in INSERT mode,
What this means is that anything you type in will be inserted in the text
rather than over-writing whatever is already there. For instance, if you
type in the following:

Today is a day.

Now use the cursor controls (the arrows on a Spectrum Plus/128K, or the
shifted keys 5 to 8 on the older Spectrum) to go back to just before the
word "day". Now type the word "fine" and you should see that it inserts
itself in the text as follows:

Today is a fine day.

You can see easily, I hope, how to insert a word into a sentence. But you
can also insert any amount of text between any two words, or two lines,
or between two paragraphs, when the INSerT mode is selected. You can
even split lines up onto two lines by getting your cursor in the middle of
a sentence and then pressing 'ENTER'. You'll note that the second half of
the line (everything to the right of the cursor) went onto the next line.
You can join the line up again by simply pressing 'DELETE'.

* OVER: The alternative mode is the 'OVER' (OVERWRITE) mode which
allows you to write on top of what is already there. To enter this mode
you press the 'V' key whilst you are in the EXTenDed mode described
above. Note that when you do this the word INSR disappears from the
status line, and it is replaced by 'OVER'.

Once in this mode, if you get your cursor once again just before the word
"fine" and type "working day", the following should result:

Today is a working day.

You have written one piece of text on top of another. Pressing ENTER
when you are in the middle of a line will not split the line whilst you are
in this OVER mode.

Note that the INSR mode it the one that The Writer returns to as a
default setting - when you first load it in, for instance.

* CAPS: There is one other message that might appear in the right hand
side of the status line, and that is 'CAPS'. If you press the CAPS LOCK key
on your 128K or Plus (CAPS SHIFT+2 on older Spectrums), you'll see that
the word CAPS comes on indicating (as you've probably guessed) that
you are in CAPital letter mode.

-- 5
-------

<> The Ruler Line
The line just below the status line is called the "ruler line". This line
shows the cursor position as a black rectangle; it also shows the margin
positions (using the symbols < and >), and the tabulation points (using
letters 'L','R','D','C' - we'll return to the meaning of the different types
of TABulation later). This ruler line also shows columns using the
symbol '_'.

The entire area below the ruler line is effectively the electronic
equivalent of a sheet of paper in a typewriter - or rather, it's more like a
window into a long roll of many "pages" of paper. When you reach the
bottom of the screen, instead of getting a whole new "page" to type on, the
information on the screen scrolls up to allow you to go on typing. Unlike
with a typewriter, then, whatever you have just been typing is always in
sight higher up the screen-page.

As you will have noticed, this electronic equivalent of a sheet of paper is
effectively 64 characters wide instead of the more normal 32 columns on
your ZX Spectrum. In fact you can get up to 127 columns - with the
screen scrolling left and right as well as up and down. We'll return to
this topic, though, in Chapter 14.

-- 6
-------

CHAPTER 3

The 'FILE' menu option

3.1
<> SAVE:
How do you go about saving the text which you've put onto the screen?
Well, let us assume that you are going to save the text to Microdrive. The
first thing you have to do is to press the Edit key (CAPS SHIFT+1 on older
Spectrums), and you will note that the status line has been replaced by a
menu bar.

FILE  EDIT  TEXT  SEARCH  FORMAT  HELP

* A new cursor shaped like an arrow will also appear, and you see that
it can be moved around the screen using the cursor keys (shifted
5,6,7,8). Note too that the keys Q, Z, I & P can also be used to move the
arrow up, down, left and right respectively. Go into the 'EDIT' mode and
try moving the arrow around the screen. As you see, as soon as the
arrow cursor goes on top of one of the menu words that word is
highlighted in reverse print. Move the arrow over the word FILE and to
select that menu by either pressing ENTER or the '0' (zero) key. As you
do this a pull-down menu will appear, presenting you with the following
options:

	Delete
	Directory
	Input/Output
	Monitor the printer
	Open
	Paper
	Print
	Print merge
	Quit
	Save
	Verify

* Select the SAVE option by putting the arrow over the word 'Save'.
You'll see again that The Writer shows that you have selected it
correctly by highlighting the text in inverse colours. Your next step is to
press either ENTER or '0' - but before you do so ensure that there is a
cartridge in Microdrive 1, and that the cartridge does have enough
space to save the text to the Microdrive using the name you have given
the file.

* When the text is successfully saved the pull-down menu will disappear.

-- 7
-------

* You may have noticed that the Save option did not require you to state
which drive you wanted the text saved to, or what name you wanted to
give to the text. This is because The Writer automatically assumes that
you wish the text saved to the currently selected Microdrive (or to tape,
if that is selected) and using the current name of that file. To change the
name and drive option (or indeed switch between Microdrive and tape
media) you can use the OPEN option in this FILE pull-down menu before
saving the text.

3.2
<> OPEN:
The OPEN option requests a filename and a drive number, then (after a
short pause during which the Microdrive light will turn on) the name
will replace the default name in the status line. When you then later use
the SAVE option the text will be saved using the new document name
and to the drive you have most recently specified. You should try to get
into the habit of using the OPEN option every time you start a new
document.

* By the way, ensure that if you are re-naming an existing piece of text
that you do not type a name into the OPEN option which you have used
before for a file you've already saved to the Microdrive. If you do then
The Writer will assume that you wish to have that older file loaded
into memory instead of the existing file.

3.3
<> VERIFY:
To check whether your saved file was saved correctly you can use the
VERIFY option on the FILE menu. Having selected it with the arrow, you
simply enter the name of the file in question and press ENTER to tell the
program to verify the file. If all is OK control will be returned to you
and the pull-down menu will disappear. However, if errors are found the
message VERIFY ERROR will be shown.

3.4
<> LOAD:
The next step is to learn how to re-load files which you have saved.
Again the OPEN command is used (as intimated above). This OPEN
command works in two different ways: if text is created for the first
time then OPEN defines the name to be used during a SAVE routine, and
effectively "names" the current document you are working on; but if the
name you enter into the OPEN option already exists as that of a file
previously saved to Microdrive, then OPEN will load in that file
destroying any existing text. If you make alterations to the loaded-in
text and then save it back to Microdrive again, The Writer will know
what you are doing and will erase the old version of that file before
saving the latest version onto the cartridge.

-- 8
-------

* By the way, whenever an Option requests a drive number, simply
pressing ENTER will mean that the program will assume that you mean
drive '1'.

* It may be a good idea for you to experiment with these options, saving
and loading text several times to familiarise yourself with the system.

3.5
<> DIRECTORY & QUIT:
Two other useful options can be found in the FILE pull-down menu.
These are DIRECTORY and QUIT. The first allows you to get a display of
the catalogue of the currently selected drive. QUIT on the other hand
allows you to clear any text in memory. When you select QUIT in the
pull-down menu another box will appear with the word QUIT in it, and
you have to move your arrow to this and press ENTER or '0' in order to
clear the text. This double procedure ensures that you do not delete a
document by mistake.

3.6
<> BREAK:
By the way, it is useful to remember that the BREAK key can be
pressed at any time to exit from the menu and return to the editor
(note, though, that within the editor the BREAK key is used to move on to
the next TAB position).

-- 9
-------

CHAPTER 4

EDITING & FORMATTING

As we have already seen, when the editor is in INSERT mode it is possible
to insert text directly in the middle of existing text. In the OVERwrite mode
the text typed in will erase the words beneath. The EXTD-V key
combination is used (pressing 'V' in the extend mode) to change the mode.

4.1
<> Carriage return (ENTER, C.SHIFT-ENTER, S.SHIFT-ENTER)
To force a new line of text to begin it is possible to use one of three
methods: pressing ENTER, or CAPS SHIFT plus ENTER, or SYMBOL SHIFT
plus ENTER. In the first case (just ENTER) both the line and that
paragraph will be terminated. The Writer physically separates each
paragraph one from another, and you should bear in mind that each
paragraph is treated separately for formatting purposes. For this reason,
you should only use ENTER if you have actually completed the
paragraph. Notice that the automatic word-wrap facility will ensure
that your entire word starts on a new line without your having to press
the ENTER key (it's as if The Writer automatically does "intelligent"
carriage returns for you).

4.2
<> In the second case (CAPS SHIFT plus ENTER), only a soft carriage
return is inserted into the text; the cursor will be forced to move to the
start of the next line, but a new paragraph is not started.

4.3
<> In the last alternative (SYMBOL SHIFT plus ENTER) a similar situation
arises to where you just use ENTER alone - for a new line and a
paragraph termination occur. This option inserts what is called a hard
carriage return into the text. However, a forced page break is also
inserted, and consequently the page number in the status line will
change and during printing the page will end at that point.

* Note that to force any of these carriage return codes WITHIN an
existing document, you must operate in INSERT mode, otherwise the only
effect will be that of moving the cursor to the following line.

4.4
<> Cursor movement (CAPS SHIFT 5,6,7,8 or the cursor keys)
The cursor can be moved anywhere within the existing text by using the
cursor keys (shown with arrows on them on the Spectrum Plus and
128K, but must be used by pressing CAPS SHIFT with one of the keys
5,6,7 or 8on the older Spectrum).

-- 10
-------

4.5
<> Delete (CAPS SHIFT 0, SYMBOL SHIFT D)
There are two different DELETE controls; the first is the "normal" one, and
can be obtained with CAPS SHIFT and '0' (zero) (or by pressing the
DELETE key itself of course on the Plus and 128K). This will enable you
to delete the character to the left of the cursor, and in so doing the text
to the right of it will be moved one position to the left. The second type
is done by pressing SYMBOL SHIFT and 'D' (this would usually produce
the BASIC keyword 'STEP' in Sinclair 48K BASIC). This will delete the
character at the cursor position. Note that both delete controls are able
to delete any control characters such as line-end, page-end, etc. For
example, to join two lines it is sufficient to move the cursor to the
beginning of the second line and then to press the DELETE key (or CAPS
SHIFT '0').

4.6
<> Fast cursor movement (INV.VIDEO, TRUE VIDEO)
The INVERSE VIDEO and TRUE VIDEO keys can be used to move the
cursor one word at a time, to the left and to the right of the cursor
position respectively.

4.7
<> Fast cursor movement II (EXTD-8)
Pressing the '8' key in the extended mode moves the cursor to the
beginning of the next paragraph. The paragraph start is marked either
by pressing ENTER or SYMBOL SHIFT/ENTER as explained above.

4.5
<> Fast cursor movement III (OR, AT)
Pressing the OR and AT keys (SYMBOL SHIFT U and SYMBOL SHIFT I)
moves the cursor up or down 18 lines at a time respectively.

4.6
<> Fast cursor movement IV (TO, THEN)
Pressing the keys TO and THEN (SYMBOL SHIFT F and SYMBOL SHIFT G)
moves the cursor to the start and to the end respectively of the
document in memory.

4.10
<> Word deletion (STOP)
The STOP key (SYMBOL SHIFT A) can be used to delete the word pointed
to by the cursor.

4.11
<> Line deletion (NOT)
The NOT key (SYMBOL SHIFT S) deletes the entire line of text where the
cursor is, moving all the subsequent lines one position upwards.

-- 11
-------

4.12
<> Cursor movement to start/end of line (<=, >=)
The keys <= and => (SYMBOL SHIFT Q and SYMBOL SHIFT E) can be used
to move the cursor to the start and to the end of the current line
respectively.

4.13
<> Centre line (<>)
The <> key (SYMBOL SHIFT W) can be used to centre the text on a specific
line at the mid-point between the left and right margins. This can be
very useful for headings, titles, and so forth.

4.14
<> Paragraph reforming (AND)
The AND key (SYMBOL SHIFT Y) allows you to reform the current
paragraph, starting from the current cursor line. All unnecessary spaces
are removed, and the text is reformatted according to the current
formatting mode. For more details on this see chapter 13.

4.15
<> Copy a block to the cursor position (EXTD-C)
The EXTD-C control (for 'C'opy) copies to the current cursor position the
block of text marked with a graphics 'M' character at the start and end of
it. See paragraph 7.2 for more details. Note that this is also available via
the pull-down menu in the EDIT mode too.

4.16
<> Delete marked block (EXTD-D)
The EXTD-D control (for 'D'elete) will delete the block which is currently
marked by two GRAPHICS 'M' characters. See paragraph 7.2 and again
note that this feature it also accessible via the pull-down menus.

4.17
<> Find next occurrence of string (EXTD-F)
The EXTD-F (for 'F'ind) control moves the cursor to the next occurrence
of the "find string" with the "change string" specified by the SEARCH
command.
Note that this involves using the pull-down menus in the EDIT mode, and
that even the find-next-occurrence can be done from the menu too. See
Chapter 9 for more information.

4.18
<> Replace current occurrence of string (EXTD-A)
The EXTD-A (for 'A'lter) replaces the current occurrence of the "find"
string with the "change" string as specified in the SEARCH command in the
pull-down menu. Again, see Chapter 9 for more information.

-- 12
-------

4.19
<> Go to position marker (EXTD-G)
The EXTD-G control (for 'G'o to) moves the cursor to the position of the
character "position marker", GRAPHICS G. This can be very useful for
quickly moving the cursor to a specific point within a large document.

4-20
<> Go to block marker (EXTD-K)
The EXTD-K control (for bloc'K') moves the cursor to the start of the block
of text marked with two GRAPHICS M characters ('M'arkers). Such a
character can also be used on its own, as a GRAPHICS G marker as
described in 4.19 above.

4.21
<> Justify current line (EXTD-T)
When pressed in extended mode, the 'T' key justifies the line that the
cursor is currently in. That is, it makes the text in that line align itself
with both the left and right margins by inserting spaces between words.
This paragraph is justified, for instance.

4.22
<> Left-align line (EXTD-R)
Pressing the 'R' key in extended mode will align the line in which the
cursor is to the left margin. All unnecessary spaces are removed. This
may be used to undo the effects of either EXTD-T or EXTD-E. This text is
left-aligned, for example.

4.23
<> Right align line (EXTD-E)
The 'E' key when pressed in the extended mode will align the line of text
that the cursor is in with the right hand margin - as this paragraph is.

4.24
<> Move to next TABulation (BREAK)
The BREAK key (CAPS SHIFT and SPACE) can be used to move the cursor
to the next TABulation point - see paragraph 8.2

4.25
<> Line Spacing (EXTD-S and EXTD-X)
Using these two commands you can change the global line spacing of
your text. Using EXTD-S (pressing the 'S' key in the EXTenD mode) will
increase the line spacing by 1; if you press it again it increases again by
one, and so on. EXTD-X has the opposite effect of reducing the line
spacing by one. This should not be used with single space text as it will
remove the empty lines between paragraphs.

-- 13
-------

4.26
<> Setting the RULER from a given line (EXTD-Z)
You can set the RULER parameters from a given line on the screen. This
is done by using EXTD-Z, which copies the current line into the ruler line
using the characters >, L, R, C, D & <. That is, 'L' is a left-TAB, 'R' a right
one, 'C' a centred one, 'D' a decimal one, and the symbols < and >
indicating margins. Hence if you set up a line on the screen thus:

	>	L	R	C	R	<

Using the EXTD-Z command with the cursor at the start of this line will
transfer those symbols into the TAB settings etc in the ruler line.
Characters other than these above will be ignored.

You may find this feature useful for matching up columns of words and
numbers by typing in a line such as that above the one in question, using
it to set the ruler line and then deleting it after use.

4.27
<> Other commands
The CAPS LOCK control (CAPS SHIFT 2) can be used to turn the capitals
on and off. Obviously, in the capitals mode (CAPS) all letters are shown
in upper case.

The EDIT key (CAPS SHIFT 1) shows the menu bar at the top of the
screen, and an arrow that can be moved with the cursor keys (or CAPS
SHIFT plus 5,6,7 & 8) or with the keys Q, Z, I, & P. When the arrow
points to a command in a menu the ENTER or '0' (zero) key can be used
to execute that command. BREAK can be used to abort this procedure,
returning you to the editor , and allowing you to continue typing.

The GRAPHICS and EXTENDED keys (CAPS SHIFT 9 and CAPS SHIFT/
SYMBOL SHIFT) can be used to turn the modes with these names on and
off. Appendix 4 contains a complete list of all the control keys available
within the editor.

-- 14
-------

CHAPTER 5

SPECIAL CHARACTERS

The following is a list of the special characters that can be obtained in
GRAPHICS mode:

GRPH-A	... 
GRPH-B	... 
GRPH-C	... 
GRPH-E	... 
GRPH-F	... 
GRPH-G	... Place marker
GRPH-H	... ` (Print merge delimiter)
GRPH-I	... 
GRPH-J	... 
GRPH-K	... 
GRPH-L	... 
GRPH-M	... Block marker
GRPH-O	... 
GRPH-Q	... 
GRPH-R	... 
GRPH-U	... 

Another special character which can be obtained with SYMBOL SHIFT -
SPACE (or with GRAPHICS 'S') is the so-called non-breaking space. It is
shown and printed as a normal space, but the word-wrap procedure will
prevent a line from being divided at that point. This is very useful when,
for instance, you type in something like "Good evening Dr. Bloggs" where
there is a space between "Dr." and "Bloggs". Clearly you would not want the
program to break the line between these two!

-- 15
-------

CHAPTER 6

THE FILE MENU

We'll now have a closer look at all the menus which become available when
you press EDIT. The first menu in the top left is FILE, and it is made up of
11 options.

6.1
<> DELETE
This option allows you to delete a named file from a Microdrive. The file
name and the drive number will be requested. If the ZX Interface 1 is
not connected to the computer, this option has no effect. If there is no
Microdrive connected to the interface, or if there is no cartridge in the
drive, the error message "Microdrive not present" will appear. In that
case use RUN to enter the editor again.

6.2
<> DIRECTORY
The directory option gives you a directory of the currently selected
Microdrive. Again, nothing will happen if the Interface 1 is not
connected.

6.3
<> INPUT/OUTPUT
Having selected this option the following dialog box will appear:

	<>	Tape
	<>	Microdrive

The small white square beside the word "Microdrive" indicates that the
current selection for Input/Output (I/O) is the Microdrive. This means
that all Saving, Loading, Opening and Verifying will take place with a
Microdrive. To change to tape operation simply position the arrow cursor
over "Tape" and press ENTER or '0'.

Note that when Interface 1 is not attached "Tape" is the only option, and
The Writer will automatically set this selection.

6.4
<> MONITOR THE PRINTER
Normally this option has no effect; during the printing of a document
(using the PRINT command), it shows the number of the page and the
copy being printed. You can also terminate the printing or return to the
editor. See paragraph 6.7 and Chapter 15.

-- 16
-------

6.5
<> OPEN
This option works in two ways, depending on which I/O channel you
have selected using the INPUT/OUTPUT option.

* If the I/O channel is set for the Microdrive then it requires a filename
and a drive number. If the given filename is present on the cartridge
OPEN will then load the file - otherwise it will return to the editor having
just changed the name of the current document to whatever was entered
in the OPEN dialog box.

* If the I/O is set for Tape then a filename is requested and the named
file will he loaded from tape. If the first character of the name is a full
stop (".") then the first available file on the tape will be loaded.

6.6
<> PAPER
Selecting this makes the following dialog box appear:

	Left margin	8
	Top margin	3
	Bottom margin	3
	Page length	60

* It allows you to modify some parameters pertinent to the printing of a
document. Changing any of the parameters is very easily accomplished
by moving the arrow over the desired one, pressing ENTER or '0' to select
it, and then typing in the new value. Having done that ENTER or '0' is
pressed again to exit the procedure.

* The parameter "left margin" indicates the number of spaces to be
inserted in the sheet of paper before printing each line. It allows you to
centre the text on the page.

* Top margin defines the number of blank lines to be inserted at the top
of each page. Whereas bottom margin defines the number of blank lines
to be left at the bottom of each page.

* Page length defines the number of lines present on each page
(including the lines at the top and bottom which form the margin). In the
edited text of the document the page number will automatically change
every 54 lines of text (that's 60-3-3). However it won't do this when it
faces forced page breaks, of course, when they are inserted with SYMBOL
SHIFT - ENTER.

-- 17
-------

When a 63-character-per-line format and an 80 column printer are
used, the default parameters are valid for normal A4 sheets of paper,
and for normal "fan fold" paper (66 lines/page). In other cases you
should obviously modify the parameters. The "page length" parameter
indicates the number of lines that can be printed; ie. about 6 lines less
than the actual number of lines on the page (i.e. 60 for 66 line pages).

Remember that the four PAPER parameters are automatically saved with
a document and are thus modified when an OPEN command is issued to
load in some text.

6.7
<> PRINT
Selecting this option, the following dialog box will be shown:

			<>	Ignore style
	OK		<>	Emphasized
			<>	Elite
			<>	Condensed
Pages:	<> All		<>	NLQ

	<> Range:	1	1

PAPER
<> Continuous	Copies:	1
<> Cut sheet	Priority:  2

* PRINT: Let's now consider the various PRINT options. The five
options at the top on the right allow you to select the "global" print style.
The first option, Ignore style, uses the print style currently selected on
the printer; the other four options select one of the following styles:
Emphasized, Elite, Condensed, NLQ. If the printer is not able to print
with these styles, some options will have no effect.

* PAGES: The PAGES option defines whether it is necessary to print the
whole text in memory (ALL), or only some pages (RANGE); in the latter
case, you must specify the starting and ending page numbers. Pressing
ENTER, you will accept the default values, which results in the printing of
the page containing the cursor.

-- 18
-------

* PAPER: The PAPER option defines whether you are using a
continuous form (fanfold) paper or single sheets. In the second case,
when each page has been printed a "beep" will be emitted from the
printer and printing will pause so that you can change the paper. To
continue the printing select the PROCEED option within the MONITOR THE
PRINTER box.

* COPIES: The COPIES option defines the number of copies to be printed.
The PRIORITY option defines the editor priority over the print spooler.
The meaning of this parameter will be clearer after you have read the
next sections.

* MONITOR THE PRINTER: When you have defined all parameters,
you can either press BREAK to exit from the PRINT dialog box and return
to the editor, or you may select the OK option. Should you do this, the
printing will begin and the MONITOR THE PRINTER box will appear,
showing the number of the page currently being printed and the copy
number. If the box does not appear immediately then hold down a key.
The MONITOR THE PRINTER box has two options: they are TERMINATE
and PROCEED. The former can be used to terminate the printing. The
latter has two functions: selecting PROCEED continues the printing halted
for a page change and returns you to the editor, activating the page
spooler. While the file is being printed, it is possible to continue typing
the text. Note that you can ONLY ADD text to the END of the document,
i.e. you must NOT alter the text as it is in the process of being printed,
EXCEPT at the end. While printing is taking place, you can also select
options such as MONITOR THE PRINTER, SAVE, etc. Some options, such as
PRINT, FORMAT, OPEN, QUIT cannot be selected however.

* PRIORITY: Now we'll look at the parameter "PRIORITY": When you
activate the spooler with "MONITOR THE PRINTER, PROCEED" to return to
the editor, the print speed will obviously be reduced. Low PRIORITY
values result in a slowing down of the editor, and vice versa. The
default value 2 should he perfectly suitable in any case, because the
print speed increases automatically when no key is pressed on the
keyboard. Note that the response rate of the keyboard will always
remain unchanged because there is a keyboard buffer. If you want to
print at the maximum speed, you should remain within the MONITOR
THE PRINTER box. You must NOT exit from that box using the BREAK
key, as the spooler will not be correctly activated. PROCEED should
always be used to exit from MONITOR THE PRINTER.

See Chapter 15 for further details on the printing of a document.

-- 19
-------

6.8
<> PRINT MERGE
As with the preceding option, PRINT MERGE allows you to print a text,
but with so-called mail merge facilities. To use this very powerful
option, it is necessary to have at least one Microdrive. See Chapter 18
for a complete explanation.

6.9
<> QUIT
The QUIT option allows you to delete the current document from
memory. You will tee that when you choose QUIT, a second QUIT box
appears for you to select again so as to confirm that you really did
intend to erase the current document.

6.10
<> VERIFY
Selecting this option enables you to verify that the file held in memory is
the same as that which you have saved onto Microdrive or tape. You
will be asked to supply the name of the file in memory. The messages
VERIFY ERROR or TAPE LOADING ERROR will appear if the verifying is
unsuccessful.

-- 20
-------

CHAPTER 7

EDIT MENU


7.1
<> General  description

The following is the EDIT dialogue box:

BLOCK
copy	Page number	1
Delete
Include	Bell column	60
Write
	INK		7
RULER
	PAPER		0
Show <>
	BRIGHT		0


The right-hand side allows you to define some editing parameters: "page
number" defines the number of the first page in the file (this parameter
is saved with the file). "Bell column" indicates the column at which the
"bell" (similar to that of a typewriter) will sound. INK, PAPER and
BRIGHT can be used to change the screen colours (note that the program
prevents you from choosing an INK colour equal to the PAPER colour).
The ruler line colour is set automatically according with the INK/PAPER
values. The RULER option defines whether the ruler lines should be
displayed.


7.2
<> Block options
The four BLOCK options concern block handling. A block of text is
marked with a GRAPHICS M starting character, and a GRAPHICS M
ending character. The text between the two markers can be handled
using these options. The COPY option copies the marked block of text to
the cursor position. The DELETE option clears the block of text, including
the two markers. The INCLUDE (or MERGE) option reads a text from
Microdrive, and then inserts it at the cursor position. The WRITE option
creates a Microdrive file holding the marked block of text.

-- 21
-------

* The WRITE/INCLUDE facility (available only with Microdrives) is
fundamental to move blocks of blocks of text from one file to another,
while COPY can be used to copy blocks within the same document. The
following "FILE2":

1. OPEN the file "FILE1"
2. Mark the start and the end of the block with GRAPHICS M
3. Use the WRITE option with the filename "FILEX".
4. OPEN the file "FILE2".
5. Move the cursor where the text should be copied.
6. Use the INCLUDE option with the filename "FILEX".
7. (Eventually) delete the file "FILEX" with "FILE, DELETE"

* The WRITE/INCLUDE options can also be used to implement glossaries:

1. OPEN a file named "JANE-ADDR"
2. Type the following text:

JANE PLAIN
Main House.
5 High Street.
London,
ZX8 1QL.

3. Use SAVE to save the text
4. Use QUIT to delete the file from memory

Now you can recall Jane's address in your letters without having to
retype it completely:

1. OPEN a file named "JANE-LETTR"
2. Type the following text:

			London, April 22nd 1987

3. Instead of writing Jane's address, use the INCLUDE option to load the
 file JANE-ADDR.
4. After a few seconds the letter will appear as follows:

			London, April 22nd 1987
JANE PLAIN
Main House.
5 High Street.
London,
ZX8 1QL.

-- 22
-------

The JANE-ADDR file can be loaded, modified and saved as a normal file
using OPEN and SAVE. It can also be printed on its own, using PRINT, and
it will have its own parameters (page length, etc). These parameters will
not alter the parameters of the file within which you include the
JANE-ADDR file.

* WRITE/INCLUDE can also be used to include existing documents
within a letter, or to merge two files.

* WRITE/INCLUDE can also come in very useful when dealing with the 5
potential documents one can hold in memory at the same time with a
128K Spectrum. By using these features you can effectively "CUT" text
out of one of the documents and then "PASTE" it back into one of the
other ones.

* WRITE/INCLUDE is also very useful when you want to include often
used paragraphs or phrases in your document. You might thus want to
store on your microdrive such well used items as "Yours sincerely", or
"Best Wishes", and by giving them memorable names you can easily and
quickly insert them in your text at the cursor position using the INCLUDE
option.

-- 23
-------

CHAPTER 8

TEXT MENU

8.1
<> General description

The TEXT dialogue box is as follows:

	<> Left		<> Centred
	<> Right	<> Justified

			TEXT FORMAT

	Left margin	0
	Right margin	62
	Indent margin	0
	Tabs
	Wordwrap	0

The four "TEXT FORMAT" options allow you to define the text format.
The default format is LEFT, which produces left-aligned, right-ragged
texts (like this paragraph). The RIGHT option uses a left-ragged,
right-aligned format. The JUSTIFIED option uses a left-aligned,
right-aligned format.

* The CENTRED option centres the text between the two margins.

* The left margin value defines the left margin column. The default
value is 0. It is advisable not to use a left margin greater than 0,
because it will decrease the processing speed and increase the space
required to store the file. The indent margin value is automatically set
by using this option.

* The right margin value defines the right margin column. The default
value is 62. It is possible to move the right margin up to the column
127; in that case the screen will scroll sideways when the cursor
reaches the screen margin at column 63. It is not possible to set the
right and left margins in such a way that there are less than 6 columns
in a line.

* The indent margin value defines the "autoindent" column: at the
beginning of each paragraph the cursor will be automatically moved to
that column (i.e. when you press ENTER or SYMBOL SHIFT-CENTRE). The
default value is 0, i.e. equal to the left margin value, so as to have no
"auto-indentation". The indent column is shown in the ruler line with
the symbol '1'.

-- 24
-------

* The WORDWRAP option allows you to enable or disable the
word-wrap procedure, and all of the automatic formatting procedures.
Disable the wordwrap only when you type source listings or any text
that requires no formatting operation.

8.2
<> TABS option

The TABS option shows the following dialogue box:

Erase tab
Erase all tabs
Set tab

Left	<>	Blank	<>
Right	<>	.....	<>
Centred	<>	-----	<>
Decimal	<>	_____	<>

	TYPE	LEADER

* The ERASE TAB option allows you to delete a tab. The tab column is
first requested (press ENTER to use the cursor column).

* ERASE ALL TABS deletes all of the current tabs.

* SET TAB allows you to insert a tab of the type specified by the TYPE
and LEADER options. Again the column number will be required, and
ENTER can be pressed to use the cursor column.

* A LEFT tab is the normal one; pressing the tabulate key 'BREAK' the
cursor will simply be moved to the tab column. A left tab is shown in
the ruler line by the letter L.

* A RIGHT tab right-aligns the text that you type to the tab column.
You may exit from a right tab either by pressing the tabulate key
(BREAK) again or by using any "control key" such as CAPS LOCK or
EXTENDED. It is shown in the ruler line by the letter R.

* A CENTRED tab centres the text that you type around the tab column.
The position of this tab is shown by the letter C in the ruler line.

* A DECIMAL tab is similar to a right tab, but it allows the text to be
left-aligned following a decimal point '.'. It can be used to align
numbers with decimal points to the tab column. It is shown by the
letter D.

-- 25
-------

* The LEADER options allows you to define the character with which
the line will be filled until the tab column. The default option is BLANK
that ignores this feature. The "...." option produces tables as follows:
	Fred .................. 25,000.50
	George ................. 1,200.20

The dot leader is automatically inserted pressing the tabulate key,
BREAK. The '----' and '____' options will obviously insert the
corresponding leader into the space between tabulation positions. You
may wish to try to identify the tab types in the following examples:

	Class		Limit		Result

	129-135		128.5-	135.5		1
	115-128		114.5-	128.5		2
	101-114		100.5-	114.5		4
	 95-100		 94.5-	100.5		6
	 87-94		 86.5-	 94.5		10

	Mark ................... 100	 12,500.20
	David ................... 91	212,300.00
	George ................ 1320	  6,500.947

Name __________________________ Street __________
Address _______________________ Tel. ____________

	Expenses	23,450.50
	Income		42,500.20
	Tax, various	11,245.14
	Profit		 7,804.56

-- 26
-------

CHAPTER 9

SEARCH MENU

9.1
<> General  description

In the SEARCH dialog box you will see the following:

	Find	: ___________________________
	Change	: ___________________________

	<>	Whole word		OK
	<>	Upper/lower case

	FIND NEXT	CHANGE CURRENT

	GOTO PAGE	1

9.2
<> Find text

The FIND option asks for a string to be searched for within the text.
During input you can insert any letter, digit or special character, by
eventually entering EXTENDED or GRAPHICS modes.

It is possible to insert wild card characters by typing a question mark:
'?' within the FIND string. In this way, during searching, all words
containing any character in that position will be searched for. For
instance, typing "beg?n" as the find string, "begin", "begun" and "began",
and so on will be searched for. Typing "???" as the find string, all
3-letter words will be searched for.

9.3
<> Change text

The CHANGE option requests a string to replace occurrences of the FIND
string. In this case, the character '?' has no "wild card" meaning. It is
still possible to type any special character in extended or graphic
modes.

-- 27
-------

<> Search/replace procedure

Using the FIND NEXT option (or the keyboard EXTD-F control), the cursor
will be automatically moved to the next occurrence of the FIND string.
Note that if WHOLE WORD is enabled, only the occurrences of the find
string that are whole words will be accepted. Hence, if the FIND string
is "the", FIND NEXT will not find the letters "the" in, for example, "thesis" -
it will only look for the whole word "the". Thus with this WHOLE WORD
option chosen it will only search for "the" in the following types of case:

"the book", "(the book)", "(the) book", "the! book!", "the, book", etc.

* If WHOLE WORD is disabled, ALL the occurrences of the find string
will be searched for (i.e., if the find string is "he", both "he", "the", "they",
"help", etc. will be searched for).

* Note that the strings "this is for you" and "thisisforyou", or "this is for
you" and
"this
is
for
you"
are considered as being equals.

* The UPPER/LOWER CASE option defines whether the word to be
searched for must be equal to the find string as regards upper and
lower case letters. Hence, if UPPER/LOWER CASE is enabled, and the
FIND string is "bank", the FIND NEXT option will search only for "bank",
and not for "Bank", "BANK" or "BAnk". These will be only be searched
for if UPPER/LOWER CASE is disabled.

* The CHANGE CURRENT option (or the keyboard EXTD-A control) allows
you to replace the next occurrence of the find string (or the occurrence
pointed by the cursor) with the CHANGE string. This is very useful for
replacing only some occurrences of a word with another: if you have
typed some names within a letter, preceded by "Dr." and you should
instead have typed "Mr.", you may type as FIND text the word "Dr." , and
as CHANGE text the word "Mr.". Now use EXTD-F to search for the
various occurrences of "Dr.", and EXTD-A to change the required
occurrences to "Mr.".

Note that the CHANGE algorithm is "intelligent"; type the following text:

Good Morning
good morning
GOOD MORNING

-- 28
-------

Now move the cursor to the start of the text using TO (SYMBOL SHIFT F),
and select the SEARCH menu. Type "morning" as find string, and
"eveNING" as change string. Use EXTD-A three times to replace the
occurrences of "morning". The result will be:

Good Evening
good evening
GOOD EVENING

* As you have noticed, the CHANGE string has taken on the
characteristics of the string that has been found. Repeating the example
with UPPER/LOWER CASE enabled, you will see that in all cases the
word "EVEning" will be inserted (i.e. same as the specified CHANGE
string).

* The OK option replaces ALL occurrences of the find string with the
change string, starting from the cursor position. It is a FIND AND
CHANGE ALL procedure. In this case, the paragraphs containing the
replaced text will be automatically reformed according to the current
text format (left, right, centered or justified) and the current margins.
This procedure stops automatically with an OUT OF MEMORY error
message if there is not sufficient memory to insert another CHANGE
string (obviously this can only occur if the change string is longer than
the find string).

*AN IMPORTANT NOTE: If you use the OK option (find and change all)
with the FIND string equal to the change string, the program may enter
an endless loop. This also happens if you try to search for a string (with
WHOLE WORD disabled) and to replace it with another string that holds
the find string as a sub-string (i.e. find "a", change to "erasable": the "a"
is also present within "erasable", and will be continuously replaced,
resulting in an expanding "erererererererererasable" word). Obviously
such an operation is absurd. In the rare case that you do it by mistake,
you can press BREAK to abort the operation.

* The FIND and CHANGE all option may be used to:

1) Change all occurrences of a word to another:	i.e. "good" to
"beautiful".

2) Add a word to all occurrences of another: i.e. FIND string =
"computers", CHANGE string = "computers and typewriters" will add "and
typewriters" to all instances of "computers".

-- 29
-------

3) Remove a word from all occurrences of a sentence or phrase;
i.e. FIND string = "computers and typewriters", CHANGE
string = "computers" will remove "and typewriters" from all occurrences
of "computers and typewriters".

4) Delete all occurrences of a word: i.e. if the FIND string = "Fred",
CHANGE string blank (just press ENTER), this will delete all
of "Fred".

9.5
<> GOTO PAGE option

Allows you to move the cursor to the beginning of a given page. If you
try to move the cursor to the beginning of an non-existent page, it will
be moved to the end of the file.

-- 30
-------

CHAPTER 10

FORMAT MENU

10.1
<> General description

This is the FORMAT dialogue box:

	PAGE NUMBER FORMAT

	<>	Numeric
	<>	Roman (upper)
	<>	Roman (lower)
	<>	Alphabetic (upper)
	<>	Alphabetic (lower)

	Header
	Footer

10.2
<> Page number format


* There are five different formats, selected using the PAGE NUMBER
FORMAT option. The default format is NUMERIC. In that case, the page
number will be printed with normal arabic numerals, from 1 to 65535.

* The ROMAN format prints the page number in Roman numerals, from
1 to 3999. It is possible to choose between upper and lower case roman
numerals (i.e. XII and xii).

* The ALPHABETIC format prints the page number in alphabetic form:
a, b, c, d, ... z, aa, ab, ... Again you can choose between upper and lower
case letters. Alphabetic numbers can vary from 1 to 702 (a...zz).

* The Roman and alphabetic formats are often used to number
introduction and appendix sections of books, manuals, etc.

-- 31
-------

<> Header and footer

Selecting one of the options header and footer, the following dialogue box
will follow:

	Header	(Footer)

	(Input box)

	<>	Left		<>	Right
	<>	Centre		<>	Alternate

	Margin:	2

* This dialog box allows you to set some parameters related to the
insertion of headers and footers in the printed text.

* The header/footer text can be inserted selecting the input box, under
the "Header" ("Footer") word. The '#' character can be used in the
header/footer text and will be converted into the current page
number at print time, in the format defined by the PAGE NUMBER
FORMAT options. In this way it is possible to type strings such as "#".
"Page #", "-#-", that will be printed as "26", "Page 26", "-26-". It is also
possible to insert printer control codes (see Chapter 12) to change the
print style thus printing the header/footer in bold, or in italic
characters.

* The four subsequent options define the header/footer print format.
The LEFT format prints the header (footer) on the left side of each page,
i.e. starting from the left margin column.

* The RIGHT format is opposed to the preceding one and, thus, headers
or footers are printed on the right side of each page, i.e. with the last
character at the right margin column.

* The CENTRE format is the default option; headers and footers are
printed centred between the current margins.

* The ALTERNATE format prints the header/footer on the RIGHT side of
each ODD-numbered page, and on the LEFT side of each EVEN-numbered
page. This is an often used format, because it means the header and the
footer are on the outside edge of each page, if you print on both sides of
the paper.

-- 32
-------

* The last option, "Margin", defines the lines, within the top margin, in
which the header will he printed; or the line, within the bottom margin,
in which the footer will he printed. If, as in the default case, the top
and bottom margins are three lines in length, we will have:

	LINE 3
	LINE 2
	LINE 1

* Using margin=3, the header (or the footer if you have selected the
FOOTER option) will he printed on the first line of the top (bottom)
margin. In the default case (margin=2), header and footers will be
printed in the central line. If top margin=0, the header text will not be
printed. Similarly, the footer text will not be printed if bottom
margin=0 or footer margin=0.

-- 33
-------

CHAPTER 11

HELP MENU

11.1
<> HELP
Selecting this menu allows you to read a brief summary of this manual
on the screen and is thus very useful when you want to recall how to do
something without having to look at this manual itself. The HELP
command requires that the program cartridge is inserted in Microdrive
(or that the disk is in the drive, in the case of disk versions).

Pulling down the HELP menu reveals the following subjects:

	Control keys
	FILE menu
	EDIT menu
	TEXT menu
	SEARCH menu
	FORMAT menu
	Control characters
	Mail merge
	Installation
	Communication
	Various

You simply have to select one of these using the arrow cursor and the
ENTER key in the usual way and then after a few seconds the
information wIll appear on the screen. Any key can be pressed to
advance to the next page of text and when you have reached the end of
that help file, you will be returned to where you were in your document
before calling up the HELP option.

-- 34
-------

CHAPTER 12

PRINTER CONTROL CHARACTERS

The characters GRAPHICS 1, 2, 3, 4, 5, 6, 7, 8 (with or without shift) can
be used to insert printer control codes within the text. These will be
sent to the printer to change print style, i.e. to emphasize, underline, etc.
The following are the default effects of the control characters.
Remember that the key WITHOUT CAPS SHIFT ENABLES the style, while
the same key WITH CAPS SHIFT DISABLES the style.

GRAPHICS 1 - double strike (bold)
GRAPHICS 2 - italic
GRAPHICS 3 - proportional
GRAPHICS 4 - underlined
GRAPHICS 5 - condensed (remember <- arrow)
GRAPHICS 6 - subscript, ie. H2O
GRAPHICS 7 - SUPERSCRIPT, ie. "TM"
GRAPHICS 8 - Enlarged

The default codes can be modified at will, as will be explained in
Chapter 16.

Note that the control characters are ignored by the formatting
operations: if you insert two control characters in a line, it will be, using
for example the JUSTIFIED format, justify two characters past the right
margin, so as to have a correct result at printing time.

-- 35
-------

CHAPTER 13

PARAGRAPH REFORM

13.1
<> General description

After having deleted or modified a piece of text, it is necessary to
reform it, so that it has the text in a left, right, centred or justified
format again. The AND control key (SYMBOL SHIFT Y) can be used to do
this. It reforms the current PARAGRAPH, starting from the cursor line,
i.e. to reform a paragraph you should move the cursor to the first line,
and then press AND. Note that the first line will be indented according
to the "Indent margin" value (see 8.10.)

Remember that a paragraph is assumed to be finished when you press
ENTER to begin a new line. CAPS SHIFT-ENTER can be used to begin a
new line without terminating the paragraph (See 4.2).

13.2
<> Changing the paragraph format

If you have typed a paragraph with, for example, a left aligned format,
and you want to change that format to right-aligned, without having to
re-type the whole paragraph, you must:

1) Select the new text format using the TEXT menu
2) Move the cursor to the first line of the paragraph and use AND

Again the first line will be indented (unless the format is "Centred" or
"Right").

13.3
<> Changing paragraph margins

To change the margins of an existing paragraph, you can select the new
margin values using the TEXT menu, and then press the AND key when
the cursor is at the start of the paragraph.

13.4
<> Using the correct format

Normally, The Writer formats your text with a left-aligned format,
with margins 0 and 62. These are standard values, suitable for
printing on standard A4 sheets with 10 cpi spacing.

-- 36
-------

As you have seen, it is possible to change the standard
values at will, to obtain many graphic results. For example,
it is possible to change margins, to emphasize paragraphs
(such as this one), or to write texts with more than 63 columns,
using the sideways scrolling facility.

A maximum of 9-10 pages such as these ones, can be stored in memory,
using the default parameters. Using RIGHT or JUSTIFIED text formats, this
number will decrease. It is unadvisable to use a non-zero left margin,
apart from short paragraphs as the previous one. as the space required to
store the text will greatly increase. Using a right margin greater than the
standard one, the number of pages will decrease, but the actual amount of
text will be the same.

-- 37
-------

CHAPTER 14

WIDE DOCUMENTS

If your printer allows for more than 80 characters to be printed on each
line, you may want to move the right margin past the default column
62. For example, many printers have a "condensed" style that allows
more than 100 characters to be printed on each line. Using The Writer
you can take advantage of these possibilities without any problem,
although a maximum of 64 characters can be displayed on each screen
line.

If you select the right margin at column 79, you can insert up to 80
characters per line; when the cursor reaches the right edge of the
screen, the whole text will scroll sideways. You can insert up to 127
characters per line in this way.

Note that the screen is handled transparently to the program execution,
i.e. when the screen is sideways scrolled, or updated, the editor will not
be slowed down.

-- 38
-------

CHAPTER 15

PRINTING TEXT

15.1
<> Introduction

* Let us summarise the procedures to be followed to print a text. Refer
also to paragraphs 6.4, 6.6, 6.7, and to chapters 10, 12, and 18.

* If you are using The Writer for the first time, it is necessary to
install the program with your printer and interface. See chapter 16.

* After having written and corrected your text using the editor, you can
define some parameters to be used at printing time, such as the number
of the first page (see 7.1), the page length (6.6), the header and the
footer (10.3) In many circumstances the default values will be perfectly
suitable. The above-mentioned parameters should be sent BEFORE saving
the text on Microdrive or tape, as they are saved with the text.
ALWAYS SAVE THE TEXT BEFORE PRINTING IT : if there are any line
faults, or synchronising problems, you can return to the initial
conditions in a few seconds by OPENing the file again. It is (very rarely)
possible using the PRINT option (that operates in a time-sliced multitask
system, with semi-critical timing conditions) that there would be a false
synchronising with the printer, causing a system crash. The PRINT
MERGE option (normal print option, see chapter 18) can also be used to
print a document in the same way as PRINT, but there are no timing
problems. The only difference is that the text to be printed is taken
from Microdrive, and not from memory. So again you must save the text
before printing.

* To get better graphic results it may be useful to define the page break
positions "manually", just before printing the text: it may happen that
the automatic page make-up causes something like a table to be printed
across two pages. To avoid this, you can go through the beginning of the
various pages, using the "SEARCH, GOTO PAGE" option, and insert forced
page breaks (SYMBOL SHIFT-ENTER) to change the actual layout.

* It is advisable not to save such a modified version of the file, because
if you later want to alter the text the forced page breaks would have to
be deleted to avoid anomalous page divisions. The automatic page
divisions move dynamically as you add or delete lines, so there will
always be the same number of lines in each page.

* Before calling the PRINT option, you should define the right and the
left margin, that will be used for the header/footer printing. Normally,
you should use the same margins used to type the text to be printed.
Now call the PRINT option and define the various parameters (number of
copies, print style, paper type, etc.) - again the default values are often

-- 39
-------

suitable). Then select the OK box to start the printing. This will also
cause the MONITOR THE PRINTER box to be displayed; the PROCEED
option cannot be used to return to editor at reduced print speed, and
the TERMINATE option can be used to terminate the printing (if your
printer has an internal buffer, the printing may not stop immediately).
Otherwise just wait until the end of the printing and select PROCEED. If
you use cut sheets, the printing will halt at the end of each page; when
you have changed the sheet, select PROCEED to continue printing.


15.2
<> Printing text larger than the textfile
If you want to use THE WRITER to write texts longer than 10 pages
(more than the maximum memory capacity) you can use the following
procedure:

1. Write 7-8 pages of text and define all parameters
2. Save the text
3. Use QUIT to delete the text
4. Use OPEN to change the text name
5. Use "EDIT, PAGE NUMBER" to define the number of the first page
   in the new block
6. Write another 7-8 pages
7. Back to 2

If you want to write text after having turned off the computer, you
should first load any of the previous blocks, and define all of the
parameters such as header, footer, etc. Then continue from 3 above.
The WRITE/INCLUDE options present in the EDIT menu (7.2) can be very
useful at this stage to move blocks of text from [one] file to another.

To print the whole text you can use the PRINT MERGE command (normal
print option, see 18.3), printing one block at a time.

* Printing very large documents using the 128K version: By using a
similar method to that above you can arrange to have each of the 5
documents in memory in the 128K version such that the initial page
number of the second follows on the from the last one of the first and so
on. Then print all 5 files in sequence for one document many pages long.

-- 40
-------

CHAPTER 16

INSTALLING THE WRITER

16.1
<> Installation
Using THE WRITER for the first time, you must install the copy on
cartridge, so as to make it work with your printer and interface. To do
this you must load the installation program with the following command:

	LOAD *"m";1;"install"

When the program has been loaded, the following dialogue box appears:

	Printer driver

<>	CENTRONICS H80, EPSON
	Baud rates:	9600

<>	DIABLO
	Decimal:	46

<>	CUSTOM

	EDIT DRIVER
	INSTALL DRIVER

	Printer interface

<>	Interface 1, RS232
<>	Kempston, Hilderbay K
<>	Hilderbay H
<>	Hilderbay T
<>	Euroelectronics

* Let us look at the various options. The PRINTER INTERFACE options
allow you to define the interface used to connect the computer to your
printer. The ZX Interface 1 is the default option.

* The BAUD RATE option allows you to set the transmission speed of
the printer, if the ZX Interface 1 is used. The default value is 9600 baud.

* The DECIMAL option defines the "decimal point" code (normally 46, the

-- 41
-------

ASCII code for the full stop character). It is possible to modify this value
(i.e. inserting ASCII code for the "comma" character, 44), so as to align
decimal tabs using a new character.

Below PRINTER DRIVER you can select the printer type. The default
option installs the program for a CENTRONICS H80, or an EPSON printer.
Many dot matrix printers are directly compatible with these.

The next option installs the program for a DIABLO daisywheel printer.

If you have a different printer, select the CUSTOM option. It works with
almost all printers, but it is not possible to use the control codes to change
print style.


16.2
<> Editing the printer driver

After having selected the required driver, you may want to modify some
parameters. To do this, select the EDIT DRIVER option. A dialogue box
will then appear, with the driver's name shown at the top of the screen.
The following is the dialogue box for the CENTRONICS H80 printer:

	End of line		CR,LF
	End of page		FF
	Bell			BEL,CR
	Initialisation		ESC,"@
	Condensed mode		ESC,"!,4
	NLQ mode		ESC,"(
	Elite mode		ESC,"!,1
	Emphasised mode		ESC,"!,8
	GRAPHICS set on		ESC,"6
	GRAPHICS set off	ESC,"7


16.3
<> More codes ...

As you may have noticed, the control codes are next to the
corresponding printer functions. In the manual of your printer you will
find the codes that it requires: if there is a difference, you can easily
insert the correct codes.

End of line defines the string of codes (max 4) to be sent to the printer
to start a new line. Some printers accept only a CR control code, others
only a LF code, others both a CR and a LF.

-- 42
-------

End of page defines the code (only one code) to be sent to the printer to
change page. Almost all printers use the Form Feed code 12, 'FF'.

Bell defines the string of codes (max 4) to be sent to the printer to make
the printer's buzzer emit a sound (used by The Writer to signal when a
page has been printed).	Almost all printers use the BEL code.	Some
need a CR code following the BEL code, as in this case. See the printer
manual to identify your case.

Initialisation defines the string of codes (max 4) needed to initialise the
printer, i.e. to reset any print style and special function selected. This
string will be sent to the printer before selecting the "Global" print style
(unless you use the IGNORE STYLE option, see 6.7).

Condensed mode, NLQ mode, Elite mode, Emphasized mode are the
strings of codes (max 4) to be sent to the printer to set the corresponding
"global" print styles (see 6.7). If your printer does not have codes to
select styles such as NLQ, use others to select a similar style (i.e.
Emphasised double strike).

After having modified the required parameters, select the MORE CODES
option. A further dialogue box will appear:

	Enlarged	on:ESC,"W,1	off:ESC,"W,0
	Double strike	on:ESC,"G	off:ESC,"H
	Italic		on:ESC,"4	off:ESC,"5
	Proportional	on:ESC,"p,1	off:ESC,"p,0
	Underline	on:ESC,"-,1	off:ESC."-,0
	Condensed	on:SI		off:DC2
	Subscript	on:ESC,"S,1	off:ESC,"T
	Superscript	on:ESC,"S,0	off:ESC,"T

	END

	Translate codes			See codes

	ASCII:				ASCII:

	Code:				Code:

* The first eight options can be used to define the strings of codes (max 3)
to be sent to the printer to enable (ON) or disable (OFF) the relevant
print style; these codes are sent using the printer control codes entered
in GRAPHICS mode (see chapter 12). You can set codes related to styles

-- 43
-------

different from those stated in the dialogue box; i.e. you can set the
Proportional control to enable/disable the Emphasised style: remember
that the style has to be selected using the key that you would use to
select the Proportional mode (GRAPHICS 3).

* The TRANSLATE CODES option is very important for the installation
of the character set of your printer. Different printers often require
different codes to print the same character. Appendix 3 has a list of the
codes sent to the printer to print all The Writer characters. If they
correspond to the codes required by your printer to print the same
characters, then the program is already compatible with the printer.
Otherwise select TRANSLATE CODES. Let us assume that to print the
character "" (GRAPHICS B, see chapter 5), normally sent as code '225',
your printer needs the code '156': after having selected TRANSLATE
CODES, type the character GRAPHICS B in response to the first request
(the character will not be correctly displayed, but the program will
accept it).

* To the second request you may either press ENTER to abort the
command, or the code that your printer needs to print that character
(156 in our example). To check that all is now correct, select the SEE
CODES option, and type the character GRAPHICS B. The number 156 will
be again displayed as the one that has been successfully defined as the
code to be sent to print the "_" character.

* You can "translate" ALL printable characters. Not all characters
however should be modified.	These characters are:
GRAPHICS G (Place marker) sent as code 0 (not printed);
GRAPHICS M (Block marker) sent as code 0 (not printed);
GRAPHICS S (or SYMBOL SHIFT-SPACE, Non-breaking space) sent as code
32 (same as "space") and SPACE, sent as code 32.

Having modified all the parameters to suit your printer, use the END
option to return to the main dialogue box. You can now either turn off the
computer, if you have changed some parameters by mistake, thus
leaving everything unchanged, or select the INSTALL DRIVER option. In
the latter case the Microdrive 1 (which must still contain the program
cartridge) will run for about a minute. During this time you MUST NOT
press BREAK or turn off the computer, as this would result in destruction
of the program. When the Microdrive light turns off you are within the
installed version of The Writer that from now on will use all the new
parameters that you have set.

If you don't have a Microdrive, and are thus using the Tape version of
the program, you can do the installation by typing the command:
	LOAD "install"

-- 44
-------

The program is recorded on side B of the tape, after The Writer. When
the program has been loaded, you must rewind the tape to the start and
press PLAY on your recorder. When a message appears, you can insert a
blank cassette into the recorder and press any key on the Spectrum to
record an installed version of the program.


16.4
<> Control codes input format

The control codes requested by the installation program can be specified
in three modes:

1 - In decimal numeric form, i.e, 13, 10
2 - In ASCII form, using " as delimiter, i.e. "A, "b (or "A", "b")
3 - Using standard ASCII abbreviations: CR, LF

It is not possible to enter codes in hex form.

This is the list of the standard ASCII abbreviations, along with the
corresponding decimal and hex form.

	NUL	0	00H	SDH	1	01H	STX	2	02H
	ETX	3	03H	EOT	4	04H	ENQ	5	05H
	ACK	6	06H	BEL	7	07H	BS	8	08H
	HT	9	09H	LF	10	0AH	VT	11	0BH
	FF	12	0CH	CR	13	0DH	ST	14	0EH
	SI	15	0FH	DLE	16	I0H	DC1	17	11H
	DC2	18	12H	DC3	19	13H	DC4	20	14H
	NAK	21	15H	SYN	22	16H	ETB	23	17H
	CAN	24	18H	EM	25	19H	SUB	26	1AH
	ESC	27	1BH	FS	28	1CH	GS	29	1DH
	RS	30	1EH	US	31	1FH

The NONE word can be used to cause no codes to be sent to the printer.
All the ASCII abbreviations may be specified in upper or lower case: ESC,
esc, Esc are equally effective for sending the code 27.

-- 45
-------

CHAPTER 17

THE COMMUNICATION PROGRAM

17.1
<> Communicating with other computers
THE WRITER comes with a Communication Program that allows you to
copy texts from a source to a destination of different type. The
possibility of sending a text from The Writer program to another
computer and vice versa, or of exchanging texts between programs are
among the possible uses of such a program. The communication program
is only available using the Microdrive version of THE WRITER. To load
the program you should type the following command:

	LOAD *"m";1;"comm"

As soon as the program is loaded, the following dialogue box will appear:

		THE WRITER COMMUNICATION PROGRAM

	SOURCE

	<> ASCII file from RS232
	<> ASCII file from tape
	<> THE WRITER file from drive
	<> WordStar file from Rs232

	DESTINATION

	<> ASCII file through RS232
	<> ASCII tape file
	<> THE WRITER microdrive file
	<> WordStar file through RS232

	PROCEED		Baud rate: 9600

At this stage you can define the source of the text to be transmitted, and
the destination of the received text. It is possible to choose any of the
four sources, and any of the four destinations; but it is not possible to
select a source of the same type as the destination, i.e. source=ASCII file
from RS232 and destination = ASCII file through RS232.

* The BAUD RATE option can obviously be used to define the
transmission speed for the RS232 operations, that will use the RS232 port
of the ZX Interface 1. As soon as the options have been chosen, you can
select PROCEED to start the procedure. The required filenames, drive

-- 46
-------

numbers, etc. eventually necessary, will be requested at this point.
Then the transmission will begin. Note that typing a full stop as the first
character in a filename for the "ASCII file from tape" option, the first file
found on tape will be loaded. During any I/O operation, the border will
flash.

* Let's look now at the various kinds of source and destination. The
"Source=ASCII file from RS232" receives an ASCII file from the RS232
LINK. The file must contain only valid ASCII characters, and the lines
must end with CR, LF (paragraph end) or FF (forced page end). The
transmission must end with a control-Z character (CHR$ 26),

* The "Source=ASCII file from tape" receives an ASCII file from tape. The
file format most be without the final control-Z character. The file must
have been saved on tape with a command such as SAVE "name" CODE
start, length.

* The "Source=THE WRITER file from drive" receives a file previously
saved with The Writer from Microdrive.

* The "Source=WordStar file from RS232" receives ASCII files from RS232
link, in WordStar format, i.e. with two characters CR and LF at the end of
each line. For the technically minded, MSBs set will automatically be
reset. The file must end with a control-Z characters, CHR$ 26.

* The "Destination=ASCII file through RS232" sends the received text as
an ASCII file, through the RS232 link.

* The "Destination=ASCII tape" file saves the received text on tape, with a
format SAVE "name" CODE start, length.

* The "Destination=The Writer Microdrive" file sends the received text
to Microdrive, in a format suitable to be reloaded with the OPEN
command of The Writer.

* The "Destination=WordStar file through RS232" sends the received text
over the RS232 link, in WordStar format.


17.2
<> Example of transmission WORDSTAR - The Writer

To send a text from WORDSTAR to The Writer (using a CP/M version of
WordStar):

1. Load the communication program
2. Select SOURCE=WordStar file from RS232
3. Select DESTINATION=THE WRITER Microdrive file
4. Select baud rate compatible with the sending computer
5. Select PROCEED

-- 47
-------

6. Type onto the sending computer the following CP/M command:

	PIP LST:=FILENAME, EOF:

   Where LST: is the logical device indicating the RS232 port,
   FILENAME is the WordStar file to be send, and EOF: allows the
   transmission to be finished with a control-Z character.
7. The  border of the screen  should  begin to  flash;  when  the
   transmission is finished, the Microdrive light will turn on to save
   the received text.  Then the computer can be reset.  Load THE
   WRITER and use OPEN to load the received text from Microdrive.


17.3
<> Example of transmission QL - The Writer

To send a text from the Sinclair QL computer to The Writer you can use
the following procedure:

1. Load the communication program
2. Select SOURCE=ASCII file from RS232 (to receive SuperBasic
   listings) or WordStar file from RS232 (to receive QL Quill files,
   saved with the PRINT TO A MICRODRIVE FILE command)
3. Select DESTINATION=THE WRITER Microdrive file
4. Select suitable baud rate (9600)
5. Select PROCEED
6. Type the following SuperBasic command

	COPY_N mdv1_file TO ser2

   where  mdv1_file defines  the  source  filename  and  the  drive
   number.
7. When the transmission is finished, use the following SuperBasic
   command to send a control-Z character to the Spectrum:

	OPEN #3,ser2: PRINT #3;chr$(10);chr$(26);: CLOSE #3

8. After a few seconds the file will be on Microdrive, ready to be
   used by The  Writer.

-- 48
-------

17.4
<> Example of transmission The Writer - QL

The opposite procedure can be useful, apart from sending The Writer
files to the QL, as a system of saving SuperBasic programs on cassette
tapes. You can use the previous procedure to save QL SuperBasic
programs on tape (using destination=ASCII tape file), and this procedure
to reload the program:

	Source=ASCII file from tape
	Destination=ASCII file through RS232

Select PROCEED and type on the QL the command "LOAD ser2". When the
transmission is finished, press CTRL-SPACE on the QL and the program
[The remainder of the sentence wasn't printed. JimG]


17.5
<> Example of transmission tape - The Writer

This kind of transmission can be used to send a text created by another
Spectrum program to The Writer. The communication program format
is:

	Source=ASCII file from tape
	Destination=THE WRITER microdrive file

The following BASIC program creates an ASCII textfile on tape that can
be sent to a file compatible with THE WRITER by using the
communication program.

	10 CLEAR 32767: LET ADD=32768
	20 READ A$
	30 FOR A=1 TO LEN A$
	40 POKE ADD+A-1,CODE A$(A)
	50 NEXT A
	60 LET ADD=ADD+A-1
	70 GOTO 20
	80 REM
	90 DATA "FIRST LINE OF TEXT",CHR$ 10
	100 DATA "SECOND LINE OF TEXT",CHR$ 10
	110 DATA "PAGE",CHR$ 12,"CHANGE",CHR$ 10
	120 DATA "END",CHR$ 10

-- 49
-------

When the program stops, use the following command:

	SAVE "name" CODE 32768,ADD-32768

to save the ASCII file on tape. Note that CHR$ 10 can be used to
terminate a paragraph and a line, CHR$ 13 to terminate a line, and CHR$
12 to terminate a paragraph and a page.

-- 50
-------

CHAPTER 18

PRINT MERGE OPTION

18.1
<> General description

One of the features that makes The Writer such a powerful word
processing program is the special PRINT MERGE option, present in the
FILE menu. It allows you to print a document stored on Microdrive
with mail merge facilities. Almost all good word processors have this
capacity, but in rather limited forms. The Writer has a very
sophisticated print merge command. With print merge, you can write
standard letters without writing any particular information such as
addresses, names, etc. This information must be held in a datafile
present on Microdrive, created by a BASIC program or by a proper filing
program such at The Filer (also available soon from SofTechnics). The
records containing the information are then fetched from the Microdrive,
and the information is inserted into the printed letter. The number of
records present in the datafile determines how many letters will be
printed. To indicate where The Writer should insert the information,
you can write the field names holding the required information,
enclosed between two special characters (GRAPHICS H), in the standard
letter. There are no particular limits on the maximum number of fields
in the datafile, apart from the fact that each record cannot exceed 6500
bytes in length. The field names can be specified more than once within
a line; The Writer will then reform the text (the file on Microdrive will
not be modified).


18.2
<> PRINT MERGE menu

Selecting the PRINT MERGE (it is necessary to use the Microdrive
version of The Writer, that must be present in Microdrive 1), the
following dialogue box will appear:

TEXT
Filename: UNTITLED	PROCEED (A to quit)
Drive no:	1
			RETURN TO EDITOR
<> Normal print
<> PRINT MERGE		<> Continuous form
Datafile name:		<> Cut sheet

-- 51
-------

Drive no:		Copies:  1

Print merge  format	Global print style

<> Left		<> Justified	<> Ignore	<> Elite
<> Right	<> Centred	<> Condensed	<> NLQ

Interface  type

<> RS232	<> Hilderbay T
<> Kempston	<> Euroelectr
<> Hilderbay H	<> Stream 3


18.3
<> Normal print option

If this option is selected, the document is printed without using the
PRINT MERGE format. This is an alternative to using the PRINT
command. The file to be printed must be present on Microdrive and the
TEXT option at the top of the dialogue box must first be used to define the
filename.

* Other selectable options are: "Global print style" to define the print
style, "Copies" to define the number of copies to be printed, "Continuous
form / cut sheet" to define the paper type, and "Interface type" to select
the Interface used to connect the printer to the computer. The RETURN
TO EDITOR option can be used to return to the editor (any text will be
deleted).

* Parameters such as header, footer, etc. are those saved along with the
file to be printed. The page number format has to be selected before
calling the PRINT MERGE option. Note that the current left and right
margins are used, as in the PRINT option, to define the margins of the
header and the footer.

* To start printing use the PROCEED option. The 'A' key (STOP) can be
used to terminate the printing.

* The "Print merge format" options have no effect using NORMAL PRINT.

-- 52
-------

18.4
<> Print merge option

Selecting the PRINT MERGE option (below "Normal print"), the name of
the datafile containing the information to be merged with your text will
be requested.

The "Print merge format" options can be used to define the format that
will be used to reform the printed lines.

The other options are definable as for the above-mentioned Normal Print
option.

Note that using this option the text to be printed MUST have been typed
with a LEFT-aligned format. Before calling PRINT MERGE, you should
ensure that the current left margin is 0, or is equal to the left margin
used to type the text to be printed. The right margin can assume any
value in the range: the text will be printed using THAT MARGIN value
and not the one used in the text present on Microdrive. It it advisable to
always use the default margins 0 and 62, and the default LEFT format, so
you don't need to check these details.


18.5
<> Print merge fields

The document to be printed with PRINT MERGE can, as explained before,
contain the field names placed between two characters GRAPHICS H as
delimiters. Each field can have a name made up by letters (there is no
difference between upper and lower case letters), digits and
underscores. If the last character is '$', THE WRITER will assume that the
field is alphanumeric, otherwise it must contain a number or a numeric
expression.

Some valid names for alphanumeric fields are:

	`names$`	`This_is_a_long_name$`		`a$`
	`Date$`		`Variable_1_$`			`hello$`

Some valid names for numeric fields are:

	`amount`	`the_long-variable`		`VAT`

Of course, if PRINT MERGE is to correctly substitute the field names with
the information, the datafile (see appendix 1 for the datafile structure)
must contain the same names referred to in the letter.

Note also that the field names can appear more than once within the text

-- 53
-------

to be printed, and need not necessarily appear in the same order in
which they are defined in the datafile.

Now OPEN the file "TEST" on drive 1 and type the following text
(remember that the "`" character used to enclose the field names must
be typed as GRAPHICS H).

						5/5/1987

`Company$`
`Name$`
`Street$`
`Town$`, `County$` `post_code$`

Dear `Name$`,

As I have already stated in my previous letter of `last-letter$` I should
be interested in meeting your representative, `manager$` regarding the
project for extending sales to the American market. Please send me
details.

	Yours Sincerely,
	Fred Bloggs
	Quick Computers Ltd

Save the text on Microdrive with SAVE and exit from THE WRITER using
EXTD-B. Now you must create the datafile containing all information to
be inserted in the letter. You can use The Filer program, or the Basic
program listed in the Appendix 1.

Create a datafile called "TEST_DAT", specifying as field names the same
names used in the letter:

Company$, Name$, Street$, Town$, County$, Post_code$,
Last_letter$, Manager$.

-- 54
-------

Insert the following three records:

1. Company$=		Kerosene and Computers Ltd.
   Name$=		John Black
   Street$=		971  Regent Street
   Town$=		Worthing
   County$=		Sussex
   Post_code$=		W1 2KK
   Last_letter$=	12/4/1987
   Manager$=		Manfred  White

2. Company$=		Megasoft
   Name$=		Peter Smith
   Street$=		450 High Street
   Town$=		Exeter
   County$=		Devon
   Post_code$=		HS2 3AC
   Last_Letter$=	15/4/1987
   Manager$=		Robert Nichols

3. Company$=		Jones  Computers
   Name$=		Edward "Frog" Jones
   Street$=		213 Church Street
   Town$=		Brighton
   County$=		Sussex
   Post_code$=		BR4 6AB
   Manager$=		Paul King

After having saved the datafile on Microdrive, load The Writer again
and select the PRINT MERGE option, present in the FILE menu. After a
few seconds the PRINT MERGE dialog box will appear. Select TEXT
FILENAME= TEST and PRINT MERGE and type TEST-DAT as datafile
name. Select PROCEED to start printing. You should obtain the following
three letters:

-- 55
-------

						5/5/1987

Kerosene and Computers Ltd
John Black
971 Regent Street
Worthing, Sussex W1 2KK

Dear John Black,

As I have already stated in my previous letter of 12/4/1987, I should be
interested in meeting your representative, Manfred White, regarding the
project for extending sales to the American market. Please send me
details.

Yours Sincerely,
Fred Bloggs
Quick Computers Ltd.




						5/5/1987

Megasoft
Peter Smith
450 High Street
Exeter, Devon HS2 3AC

Dear Peter Smith,

As I have already stated in my previous letter of 15/4/1987. I should be
interested in meeting your representative, Robert Nichols, regarding
the project for extending sales to the American market. Please send me
details.

Yours Sincerely,
Fred Bloggs
Quick Computers Ltd.




						5/5/1987

Jones Computers
Edward "Frog" Jones
213 Church Street
Brighton, Sussex BR4 6AB

Dear Edward "Frog" Jones,

As I have already stated in my previous letter of 2/4/1987, I should be
interested in meeting your representative, Paul King, regarding the
project for extending sales to the American market. Please send me
details.

Yours Sincerely.
Fred Bloggs
Quick Computers Ltd.

-- 56
-------

You should have noticed that each letter holds the information taken
from the datafile instead of the field names and that the text has been
reformed according to the selected "Print merge format" (in this case
justified).


18.6
<> Simple expressions


The previous example has shown the possibility of inserting information
coming from a Microdrive datafile within a text to be printed. Very few
print merge programs have more features than this.

Remember that any print merge command or expression must be
enclosed between two GRAPHICS H characters; there must not be any
space within the expression, or the printing will stop with an error.

It is possible to insert any numeric expression within the text instead of
a field name. Instead of `amount` you can specify expressions such as
`amount\100`, `amount+nett_price`, `2345+12.276`, `tax/-4E4`, etc. At
printing time, the whole expression will be replaced by the result,
providing that the expression can he evaluated numerically: an
expression such as `name$+100` cannot be evaluated because `name$` is a
string. It is also possible to insert logical expressions that will print '1' as
the result if they are true, or '0' if [they] are false: `"mystery">name$` will
print 1 if the string "mystery" is alphabetically greater than the string
held in the `name$` datafile field, otherwise it will print 0. The following
are some other valid logic expressions:

`"alpha">"beta"`
`alpha$+"GOOD MORNING"`
`name$+customer$`
`100+100`
`2*3(3+amount)-constant>tax-12`
`string$="a ""good"" book"`

-- 57
-------

The last example shows how it is possible to insert the " character within
a string by typing it twice.

The valid operators to be used in numeric expressions are:

	+ - * / ^ ( ) = > <

The valid operators to be used in alphanumeric expressions:

	= > <

This important possibility allows calculations to be made on the data to
be inserted into the printed text, i.e. an expression like
`amount+amount*0.15` is sufficient to print the value held in the field
'amount', including VAT.


18.7
<> Conditional printing

This is the most powerful feature of the PRINT MERGE option. The
Writer can determine according to pre-established conditions whether
or not to print a piece of text. The condition must be specified using an
IF command.

`IF price>300.55` ... TEXT ... `ENDIF`

The text present between IF and ENDIF (note the characters GRAPHICS
H) will be printed only if the number held in the field 'price' is greater
than 300.55. The following are valid conditions to be used with IF
commands. Remember that IF conditionals cannot be nested.

`IF a+10`
`IF 2.14*(variable-12)<amount`
`IF name$=beta$`
`IF beta$>"kilowatt"`
`IF a$=b$`
`IF logic_variable`

The last example shows the possibility of using as an IF argument, a
simple numeric expression or a numeric variable. The logic value of the
expression will be used, i.e. if the result of the expression is 0, the text
between IF and ENDIF will not be printed. In all other cases, it will be
printed.

-- 58
-------

The IF command allows you to print "customised" letters for each datafile
record: for example, the persons that must pay more than a given
amount will have a notice of payment printed on the letter; the regular
customers will have printed prices with discount, etc. etc. 'IF' has almost
limitless possibilities.

A different version of the IF structure is the following:

`IF a>b` ... TEXT1 ... `ELSE` ... TEXT2 ... `ENDIF`

As you might have guessed, the ELSE command allows the conditional
printing of one of two pieces of text. If the IF condition is true (in this
case, if 'a' is greater than 'b'), then the TEXT1 text will be printed,
otherwise the condition is false and the TEXT2 text will be printed.

ELSE can also be used to simulate, within an IF structure, the operators
<>, >= and <= (not otherwise specifiable).

`IF a<>b`	can be entered as	`IF a=b` `ELSE`
`IF a>=b`	can be entered as	`IF a<b` `ELSE`
`IF a<=b`	can be entered as	`IF a>b` `ELSE`


18.8
<> ASKing and SETting variables

Two other commands, ASK and SET, are available. Both request the
value to be assigned to a numeric or string variable, that can then be
used within any expression as a datafile variable. ASK requests a new
value for the variable when a new letter is printed (for each record).
SET requests the value once at the start of printing (if you print multiple
copies, the value will be requested at the start of each copy). Here's
some examples of syntax:

ASK string_variable$

* Shows on the screen the "string_variable$" name, and requests the
value to be assigned. You can respond with:

- a string (remember the quotes!), i.e. "hello", "1/1/1987"
- a string variable already defined, i.e. date$, string$
- a number or a numeric expression, i.e. 127, 1.41,
  4*(2-12+abc). In this case the variable will hold a string equal to
  the result of the expression.

-- 59
-------

ASK   numeric_variable

* Again the value to be assigned to the variable is requested.
The variable is numeric (i.e. the last character of the name is not '$'),
and so you can respond with:

- a number (i.e. 15, 4E4, -2.34561)
- a numeric expression with or without variables
  (i.e. 14+1, (2*(4+2*amount)-6)/0.44, start+length, etc.)
- a logic expression (i.e. "good ">", value=loss, 1>n,
  "Fred">name$, etc.)

The variable will hold the result of the given numeric expression. If
any reference to a datafile variable is made in the expression, the
result will be recalculated as soon as a new record is loaded to print
a new letter.

* SET has the same syntax as ASK, but it requests the value of the
variable only once at the start of the printing, and not for each record.
SET can be used to define any fixed parameters such as the date to be
printed in the letter (SET date$).

* Two definitions for the same variable are accepted (i.e. two ASK
commands for the same variable in the same letter), but only the first
definition will be used. You can also use ASK to set all variables to be
used in the text, without having to create a datafile. In this case you
should specify the name "NULL_DAT" as "Datafile name": it is a null
datafile recorded in the program cartridge. Define the number of letters
to be printed with the "Copies" option.

There are up to 300 bytes available for the SET variable definitions, and
300 bytes for the ASK variables (about 15 variables for each type). If
you exceed this limit, the OUT OF MEMORY error will result.

-- 60
-------

18.9
<> Various notes about print merge

Remember that all of the expressions and commands for the print merge
command must be enclosed between two GRAPHICS H characters. There
should be no spaces present within numeric expressions i.e. `1+2` is
valid, but `1 + 2` is not. All string variables must end with the '$'
character. All "end of line" characters are ignored within a print merge
command. All evaluation errors are reported with C Nonsense in BASIC -
Use RUN to return to the print merge dialog box.


18.10
<> Printing to a Microdrive file

It is possible to print to a Microdrive file instead of to a printer, if either
the NORMAL PRINT or the PRINT MERGE options are used. The following
command must he used before loading The Writer:

	OPEN #3;"m";1;"FILENAME"

Having loaded The Writer with LOAD *"m";1;"run", you must call the
PRINT MERGE dialog box, select "Interface type=STREAM 3" (that sends
the printing to the opened Microdrive file). When the printing is
finished, use RETURN TO EDITOR, and the EXTD_B control. Finally use the
Basic command CLOSE #3, and the Microdrive file will be ready to be
examined or printed with MOVE *"m";1;"FILENAME" to "B").


18.11
<> Printing with ZX Printer

The ZX Printer can be used selecting the STREAM 3 option of the PRINT
MERGE command. The "Install" program must have been used to install
the program with the "CUSTOM" printer driver, with CR as end of line
code, CR as end of page code. and NONE for all remaining control codes.
Write your texts using margins 0 and 31, and with Paper left margin=0.

-- 61
-------

APPENDIX 1

PRINT MERGE DATAFILE FORMAT

A datafile compatible with the PRINT MERGE option must have the
following format:

	DEFB	"Field_name_1",0
	DEFB	"Field_name_2",0
	DEFB	"Field_name_3",0
		... etc

	DEFB	"Last_field_name",1
	DEFB	"Record 1, Field 1",0
	DEFB	"Record 1, Field 2",0
	DEFB	"Record 1, Field 3",0
		... etc

	DEFB	"Record 1, last_field",1
	DEFB	"Record 2, Field 1",0
		... etc

	DEFB	"Last_record, last_field",1
	DEFB	2

To create datafiles you can use the program The Filer, or the following
BASIC program:

100 REM Datafile creator
110 REM
120 CLEAR#: cls#: INPUT "Filename? ";a$: OPEN #4;*"m";1;a$
130 INPUT "How many fields? ";nf: IF nf<1 THEN GO TO 130
140 DIM b$(nf,32): FOR a=1 TO nf
150 INPUT "Field name ";(a);"? ";LINE c$
160 LET b$(a)=c$: PRINT #4;c$;
170 IF a=nf THEN PRINT #4;CHR$ 1;: GO TO 190
110 PRINT #4;CHR$ 0;
190 NEXT a: LET rec=1
200 FOR a=1 TO nf: CLS: PRINT "Record ";rec
210 INPUT (b$(a));"? ";LINE c$: IF c$=CHR$ 226 AND a=1 THEN
    GO TO 270
220 PRINT #4;c$;
230 IF a=nf THEN PRINT #4;CHR$ 1;: GO TO 250
240 PRINT #4;CHR$ 0;
250 NEXT a
260 LET rec=rec+1: GO TO 200
270 PRINT #4;CHR$ 2;: CLOSE #4

-- 62
-------

Simply type the datafile name at the first request, the number of fields,
and the field name (remember the '$' for alphanumeric fields). Finally
you should insert the records.	When the last record has been typed,
respond with the keyword STOP (SYMBOL SHIFT A). Note that numeric
field contents must not refer to any variable.

-- 63
-------

APPENDIX 2

THE WRITER COMMAND SUMMARY


FILE MENU

	Delete
	Director
	Input/Output
		Tape
		Microdrive
	Monitor the printer
		Terminate
		Proceed
	Open
	Paper
		Left margin
		Top margin
		Bottom margin
		Page length
	Print
		OK
		Ignore style
		Emphasised
		Elite
		Condensed
		NLQ

		Copies
		Priority
		Paper
			Continuous
			Cut sheet
		Pages
			All
			Range
	Print Merge
		Text
			Filename
			Drive number
		Proceed
		Return to editor
		Normal Print

-- 64
-------

	Print merge
		Datafile name
		Drive number
	Continuous form
	Cut sheet
	Copies

	Print merge format
		Left
		Right
		Justified
		Centred

	Global print style
		Ignore
			Condensed
			Emphasised
			Elite
			NLQ
		Interface type
			RS232
			Kempston
			Hilderbay H
			Hilderbay T
			Euroelect
			Stream 3

	Quit
	Save
	Verify



EDIT MENU

	Block
		Copy
		Delete
		Include
		Write
	Ruler
		Show
	Page number
	Bell column
	INK
	PAPER
	BRIGHT

-- 65
-------

TEXT MENU

	Text format
		Left
		Right
		Centred
		Justified
	Left margin
	Right margin
	Indent margin
	Tabs
		Erase tab
		Erase all tabs
		Set tab
		Type
			Left
			Right
			Centred
			Decimal
		Leader
			Blank
			.....
			-----
			_____
	Wordwrap



SEARCH MENU

	Find
	Change
	Whole word
	Upper/lower case
	OK (find and change all)
	Find next
	Change current
	Goto page

-- 66
-------

FORMAT MENU

	Page number format
		Numeric
		Roman (upper)
		Roman (lower)
		Alphabetic (upper)
		Alphabetic (lower)
	Header
		Header text
		Left
		Centre
		Right
		Alternate
		Margin
	Footer
		Footer text
		Left
		Centre
		Right
		Alternate
		Margin



HELP MENU

	Control keys
	FILE
	EDIT
	TEXT
	SEARCH
	FORMAT
	Control characters
	Mail merge
	Installation
	Communications
	Various

-- 67
-------

APPENDIX 3

THE WRITER CHARACTER SET

The following is a list of all of the characters that can be found within a
The Writer textfile. The code sent to the printer using the
"H80/EPSON", "DIABLO" or "CUSTOM" driver is listed for each character.
These codes can be modified using the installation program.

CHARACTER	CODE	H80 CODE	DIABLO CODE	CUSTOM CODE

ENTER		10	13, 10		13, 10		13, 10
CS ENTER	13	13, 10		13, 10		13, 10
SS ENTER	12	12		12		12
space		32	32		32		32
!		33	33		33		33
"		34	34		34		34
#		35	35		35		35
$		36	36		36		36
%		37	37		37		37
&		38	38		38		38
'		39	39		39		39
(		40	40		40		40
)		41	41		41		41
*		42	42		42		42
+		43	43		43		43
,		44	44		44		44
-		45	45		45		45
.		46	46		46		46
/		47	47		47		47
0		48	48		48		48
1		49	49		49		49
2		50	50		50		50
3		51	51		51		51
4		52	52		52		52
5		53	53		53		53
6		54	54		54		54
7		55	55		55		55
8		56	56		56		56
9		57	57		57		57
:		58	58		58		58
;		59	59		59		59

-- 68
-------

CHARACTER	CODE	H80 CODE	DIABLO CODE	CUSTOM CODE

<		60	60		60		60
=		61	61		61		61
>		62	62		62		62
?		63	63		63		63
@		64	64		64		64
A		65	65		65		65
B		66	66		66		66
C		67	67		67		67
D		68	68		68		68
E		69	69		69		69
F		70	70		70		70
G		71	71		71		71
H		72	72		72		72
I		73	73		73		73
J		74	74		74		74
K		75	75		75		75
L		76	76		76		76
M		77	77		77		77
N		78	78		78		78
O		79	79		79		79
P		80	80		80		80
Q		81	81		81		81
R		82	82		82		82
S		83	83		83		83
T		84	84		84		84
U		85	85		85		85
V		86	86		86		86
W		87	87		87		87
X		88	88		88		88
Y		89	89		89		89
Z		90	90		90		90
[		91	91		91		91
|		92	92		92		92
]		93	93		93		93
^		94	94		94		94
_		95	95		95		95
#		96	156		35		35
a		97	97		97		97
b		98	98		98		98
c		99	99		99		99

-- 69
-------

CHARACTER	CODE	H80 CODE	DIABLO CODE	CUSTOM CODE

d		100	100		100		100
e		101	101		101		101
f		102	102		102		102
g		103	103		103		103
h		104	104		104		104
i		105	105		105		105
j		106	106		106		106
k		107	107		107		107
l		108	108		108		108
m		109	109		109		109
n		110	110		110		110
o		111	111		111		111
p		112	112		112		112
q		113	113		113		113
r		114	114		114		114
s		115	115		115		115
t		116	116		116		116
u		117	117		117		117
v		118	118		118		118
w		119	119		119		119
x		120	120		120		120
y		121	121		121		121
z		122	122		122		122
{		123	123		123		123
\		124	124		124		124
}		125	125		125		125
~		126	126		126		126
copyright	127	127		127		127
GRP-A		144	133		32		32
GRP-B		145	225		32		32
GRP-C		146	135		32		32
GRP-D		147	173		32		32
GRP-E		148	138		32		32
GRP-F		149	128		32		32
GRP-G		150	0		0		0
GRP-H		151	96		32		32
GRP-I		152	141		32		32
GRP-J		153	129		32		32
GRP-K		154	248		32		32
GRP-L		155	148		32		32

-- 70
-------

CHARACTER	CODE	H80 CODE	DIABLO CODE	CUSTOM CODE

GRP-M		156	0		0		0
GRP-N		157	164		32		32
GRP-O		158	149		32		32
GRP-P		159	158		32		32
GRP-Q		160	132		32		32
GRP-R		161	130		32		32
GRP-S		162	32		32		32
GRP-T		163	168		32		32
GRP-U		164	151		32		32


APPENDIX 4
CONTROL KEYS SUMMARY

(EXTD-EXTENDED, GRPH-GRAPHICS, CS-CAPS SHIFT, SS-SYMBOL SHIFT)

00	EXTD-CS-8		Cursor right
01	EXTD-CS-9		GRAPHICS on/off
02	EXTD-8			Move to next paragraph
04	CS-3			Move to previous word
05	CS-4			Move to next word
06	CS-2			CAPS LOCK on/off
07	CS-1			EDIT
08	CS-5			Cursor left
09	CS-8			Cursor right
0A	CS-6			Cursor down
0B	CS-7			Cursor up
0C	CS-0			Delete
0D	ENTER			"Hard" CR
0E	CS-SS			EXTD mode on/off
0F	CS-9			GRAPHICS mode on/off
10	EXTD-0,SS-ENTER		Forced page break
11	EXTD-1,CS-ENTER		"Soft" CR
18	EXTD-CS-0		Delete
19	EXTD-CS-1		Edit
1A	EXTD-CS-2		CAPS LOCK on/off
1B	EXTD-CS-3		Move to previous word
1C	EXTD-CS-4		Move to next word
1D	EXTD-CS-5		Cursor left
1E	EXTD-CS-6		Cursor down
1F	EXTD-CS-7		Cursor up

-- 71
-------

96	GRPH-G			Place marker
97	GRPH-H			Print merge delimiter
9C	GRPH-M			Block marker
A2	GRPH-S,SS-SPACE		Non-breaking space
A5	EXTD-T,GRPH-V		Justify current line
AC	AT (SS-1)		Fast scroll up
B1	EXTD-K			Go to block marker
B4	EXTD-E			Right align current line
BA	EXTD-R			Left align current line
BC	EXTD-F			Find next occurrence
BD	EXTD-G			Go to marker
C3	NOT (SS-S)		Delete line
C4	EXTD-B			Return to BASIC
C5	OR (SS-U)		Fast scroll down
C6	AND (SS-Y)		Paragraph reform
C7	<= (SS-Q)		Move to start of line
C8	>= (SS-E)		Move to end of line
C9	<> (SS-W)		Centre current line
CB	THEN (SS-G)		Move to end of file
CC	TO (SS-F)		Move to start of file
CD	STEP (SS-D)		Delete current character
E0	EXTD-C			Copy marked block
E2	STOP (SS-A)		Delete current word
E3	EXTD-A			Change current occurrence
E4	EXTD-D			Delete marked block


APPENDIX 5
PRINTER CONTROL CODES

Key		Code	Meaning		H80		DIABLO

GRP-1		81H	Double strike	ESC,"G"		ESC,"0"
GRP-CS-1	8EH	"" "" "" off	ESC,"H"		ESC,"&"
GRP-2		82H	Italic on   	ESC,"4"		----
GRP-CS-2	8DH	"" "" "" off	ESC,"5"		----
GRP-3		83H	Proportional 	ESC,"p",1	----
GRP-CS-3	8CH	"" "" "" off	ESC,"p",0	----
GRP-4		84H	Underlined 	ESC,"-",1	ESC,"E"
GRP-CS-4	8BH	"" "" "" off	ESC,"-",0	ESC,"R"

-- 72
-------

GRP-5		85H	Condensed	SI		----
GRP-CS-5	8AH	"" "" "" off	DC2		----
GRP-6		86H	Subscript	ESC,"S",1	----
GRP-CS-6	89H	"" "" "" off	ESC,"T"		----
GRP-7		87H	Superscript	ESC,"S",0	----
GRP-CS-7	88H	"" "" "" off	ESC,"T"		----
GRP-8		80H	Enlarged	ESC,"W",1	----
GRP-CS-8	8FH	"" "" "" off	ESC,"W",0	----


APPENDIX 6
TASWORD FILES

The Writer is able to read any TASWORD II(tm) file by first translating
it into Writer compatible form using the program on the tape (or
Microdrive) called "CONV" (or "conv").

The first step is to load in this file thus:
	LOAD "conv" (for tape versions)
or:
	LOAD *"m";1;"conv" (for microdrive versions)

Once loaded the program will be in a state expecting you to load in a
machine-code file of TASWORD II compatible text (that is, a normally saved
TASWORD II text-file). When this text has been loaded in by the
conversion program it will pause momentarily whilst it converts all the
TASWORD control characters etc to Writer ones, and then pressing a key
will SAVE the Writer compatible version of the file out onto the medium
you are using (tape or microdrive).

* 48K and 128K file compatibility:
It is well to note here too that 48K Spectrum files of Writer documents
are fully compatible with each of the 5 documents in the 128K version.

-- 73
-------

INDEX

Word processing with The Writer					1
Getting started							2
Saving text							7
Editing and formatting						10
	INSERT and OVERWRITE modes				10
	Carriage return						10
	Cursor movement						10
	Delete							11
	Fast cursor movement					11
	Word/line deletion					11
	Cursor movement to start/end of line			12
	Centre line						12
	Paragraph reform					12
	Return to Basic						12
	Copy/Delete marked blocks of text			12
	Find/Replace next occurrence of string			12
	Go to position marker/block marker			13
	Justify/left align/right align line			13
	Move to text tabulation					13
	Line spacing						13
	Setting the Ruler					13
Special characters						15
FILE menu							16
	DELETE option						16
	DIRECTORY option					16
	INPUT/OUTPUT option					16
	MONITOR THE PRINTER option				16
	OPEN option						17
	PAPER option						17
	PRINT option						18
	PRINT MERGE option					20
	QUIT option						20
	SAVE option						20
	VERIFY option						20
EDIT menu							21
	General description					21
	Block options						21
	WRITE/INCLUDE						22
TEXT menu							24
	General description					24
	TABS option						25
SEARCH menu							27
	General description					27
	Find text						27
	Change text						27

-- 74
-------

	Search/Replace procedure				28
	Go to page option					30
FORMAT menu							31
	General description					31
	Page number format					31
	Header and footer					32
HELP menu							34
Printer control characters					35
Paragraph reform						36
	General description					36
	Changing the paragraph format				36
	Changing paragraph margins				36
	Using the correct format				36
	Wide documents						38
Printing a text							39
	Printing text larger than the textfile			40
Installing The Writer						41
	Editing the printer driver				42
	Control codes input format				45
Communication program						46
	Example of transmission WORDSTAR-The Writer		47
	Example of transmission QL-The Writer			48
	Example of transmission The Writer-QL			49
	Example of transmission Tape-The Writer			49
Print merge option						51
	General description					51
	PRINT MERGE menu					51
	Normal print option					52
	Print merge option					53
	Print merge fields					53
	Simple expressions					57
	Conditional print					58
	ASKing and SETting variables				59
	Various notes about print merge				61
	Printing to a microdrive file				61
	Printing with ZX printer				61
APPENDICES;
1 Print merge datafile format					62
2 The Writer command summary					64
3 The Writer character set					68
4 Control keys summary						71
5 Printer control codes						72
6 TASWORD II File Conversion					73

-- 75
-------
