				INSTALLATION SHEET

Drive versions:
	To install the compiler, first ensure that the operating system for your drive has been initialised, and place
the disc/cartridge you want to save the compiler to into drive. Then enter LOAD"" and start the tape at the
beginning of side 1. (With the +3 you will need to enter LOAD "T:" first). This will load a Basic loader program
which will load the compiler itself, and then display a menu. At this point you should stop the tape and enter
the required number, and then restart the tape. The appropriate driver for your system will then be loaded,
the compiler saved to the drive with the name "M2" and its Basic loader will be saved (with the name "DISK" to
the +3, "LOADER" to Beta disc or Wafadrive and "run" to other drives). The compiler will then be run, giving
the message "Enter name of program", ready to load a module from the drive. As there will be no modules on
the drive yet, you should press the down key (CAPS SHIFT & 6) to exit from this. You should decide which of
the modules from side 1 you want to transfer. Those immediately after the drivers are the demonstration
modules "CLOCK" to "VILLAGES", with data "STARS" and "VILDATA" (see below). Following these are the
"textbook" modules "Terminal" to "Processes".
	To transfer each module set the option byte to 0 (Press the letter O, then enter the number 0) then press
L. The message "Enter name of program" will appear, but you can just press ENTER to load the next module
from the tape. Start the tape, then stop it when the module has loaded. Then set the option byte to 1 and
press S followed by ENTER. The module will then be saved to the drive using the name in its heading. The
module should then be removed from the editor by pressing SYMBOL SHIFT & 7, then B, then SYMBOL SHIFT
& 6, then DELETE (CAPS SHIFT & 0).
	An alternative, quicker way to transfer modules for the 48K versions of the compiler is to set the option
byte to 0, then for each module press SYMBOL SHIFT & L, then ENTER to load it from tape. Each time
this is done will save any previous module to drive 1 and remove it from memory before loading the next.
However, this saving only takes place if a flag indicating some alteration to the module has been set. To do
this you should press EDIT followed by ENTER after loading the first module.
	Using the above procedure for the 128k versions will save the modules to ramdisc rather than drive 1.
Having done this you can set the option byte to 15, load each module by pressing SYMBOL SHIFT & L then
entering the name of the module, and then save it by prssing S followed by ENTER.

Tape version:
	The tape versions may be loaded by entering LOAD"", and starting the tape at the beginning of side 1.
You should stop the tape and press the appropriate number when the menu appears. The 48K version will
then start the compiler, the 128K version will require a driver to be loaded from tape before doing so. At this
stage you may want to exit from the compiler (press the down key, then SYMBOL SHIFT & A), and save your
own Basic loader and the compiler to another tape using the information given below.

Copying other files from the tape
	If you want to make a back-up copy of the compiler then you may find useful the following information
concerning the files "START" and "M2" and the drivers "TAPE" to "OPUS2". To use the demonstration
programs "STARBASE" and "ROUTE" you will need to copy the files "STARS" and "VILDATA" to your drive.
The files "RTAPE" to "ROPUS+2" are the run-time drivers. You will not need these to run programs on the
system on which they were compiled, but if you distribute your programs to other people then you may
include these with them. A user with a different Spectrum or drive may then load the appropriate run-time
driver after the program is loaded so that it will work with that system. Note that these are the only files on
the tape which may be distributed to other people; copying any other files for use by someone else is a
breach of copyright and is illegal.

    NAME:     START       M2          TAPE to     STARS       VILDATA     RTAPE to

                                      OPUS2                               ROPUS+2

    POSITION: 46208       46208       48539       49152       49152       48539

    LENGTH:               19109        1148        4900        6364         613

When the compiler is in memory, it may be called by RANDOMIZE USR 55000

-----

Notes for particular versions of the compiler.
	Below are listed characteristics of versions of the compiler for various drive configurations. Note that the
method of storage differs for the various drive systems, tape and ramdisc, so that in order to transfer a
module from one to another it is necessary to load it into the compiler and resave it to the appropriate device.

48k Tape version:
	This version of the program sends messages to the printer to indicate when a file needs to be loaded
from the cassette. If you have a printer driver but no printer connected then this will mean that the compiler
will appear to lock up, as it is trying to send data to the printer.

128k tape version:
	The program does not send messages to the printer, and if a file is loaded from tape during a compilation
then it is likely to write to the screen, thus corrupting the symbol table. Hence it is necessary to load all of the
modules which will be required from tape, and store them in the ramdisc before compilation.

+3 version:
	In order to load from the tape for the installation of the compiler you will need to enter LOAD "T:" before
LOAD "".

Wafadrive version:
	Following compilation the compiler performs a NEW command, and so the drive operation system will
need to be re-initialised using NEW *.

128K Beta Disc version:
	Note that while names of files have up to 10 characters in the ramdisc, they are limited to 8 characters for
the disc system. This should not usually cause a problem, but sometimes it may be confusing.

128k Disciple/+D version:
	The disc operating system does not distinguish between lower and upper case characters in file names while
the ramdisc does distinguish. Again, this should not be a problem, but may cause confusion.

-----

				Using the demonstration programs

	Each of the demonstration programs may be compiled by loading it into the compiler and pressing X.
Note that the necessary library modules must have been transferred to you drive beforehand. After
compilation the program may be run by entering RANDOMIZE USR 48500.

o Clock:

	When this program is run the user is prompted to enter the date and time e.g. 15/6/91 and 17:10:30
(although the separators are optional, so it could be entered 15 6 91 and 17 10 30). An analogue clock is then
displayed on the screen, with the date below it. Pressing EDIT exits from the program.

o Starbase:

	This program is a database dealing with data on the characteristics of 158 bright stars. The data
included is the Greek letter and constallation, the proper name of the star, the magnitude (i.e. brightness),
the Right Ascension (RA) and Declination (Dec.) which indicate the position of the star, and the Spectral type
which is related to the colour of the star. When you run this program and get the main menu you should
press 1 to load the data from the drive. Pressing 2 allows you to search the database for stars with certain
characteristics. These should be entered into the corresponding fields on the form which appears on the
screen. Any of the fields may be left blank. The constellation name and proper name fields will match with
any words starting with the letters entered. The other fields allow a range to be entered. If the second value
is left blank only exact matches with the first value will be found. When all of the fields have been dealt with,
the program will search for matching stars, and give a second menu. Pressing 1 shows the data for each of the
stars in turn. When this data is on the screen it can be altered by pressing EDIT, or deleted from the database
by pressing DELETE. Selecting 2 from the menu lists the data with 1 line on the screen for each star, in the
form, with only the hours or degrees part of the RA and dec. given. Selecting 3 lists the data on the printer
(i.e. #3) instead. The other options sort the data by one of the fields. (This only affects the order in which the
selection of stars is shown, not the order of the database itself.) Selecting 0 returns to the main menu.

	Selecting option 3 from the main menu allows you to add stars to the database. In this case all of the
fields have to be given a value. If you have modified the data then option 4 will save the new version to the
drive.

	Note that the only Greek letters allowed are: ALPHA, BETA, GAMMA, DELTA, EPSILON, ZETA, ETA,
THETA, KAPPA, LAMBDA and OMICRON. These can either be entered as the full name, or the first letter ('H'
for ETA). The RA and dec. should be entered as hours, minutes, seconds and degrees, minutes, seconds;
e.g. 12h25m30s and -55d13m2s (although again the separators are optional).

o Route:

	This program determines the shortest route from one place to another based upon the network of large
towns given by the data file VILDATA. It requests the starting town followed by the destination. When a
place is requested, either the name of the location or its number in the list may be entered, or ENTER may be
pressed to give a list of the locations, with one highlighted. You can move through this list using the arrow
keys or by typing the number of a town. Pressing [S]M will move down a screen and pressing [S]N will move up
a screen. Pressing ENTER will select the highlighted location from the list.

	The program gives the shortest route as the list of towns travelled through, and indicates the distance
travelled. The user can then choose a new destination from the same starting point, or a new starting point
and destination.

	Although the practical use of the program is limited by the fact that the route has to go from town to
town, it demonstrates a useful algorithm. A program to enter your own network is available in The Mira
Compilation of extra programs.

	[S] = SYMBOL SHIFT,	[E] - EXTENDED MODE,	[G] - GRAPHICS MODE

-----

o Symdes:

	This program allows you to design symbols up to 16 by 24 pixels in size. It may be used to design a
collection of symbols to be loaded into an array for use by the module SYMBOL. When the program is
started you need to enter the width (8 or 16) and height (1 to 24) of the symbols in pixels. You may then
enter the name of a file of previously designed symbols. You will then be prompted to enter the number of
symbols loaded (the program will have worked this out if possible). If you are not loading a file then you
should just press ENTER at both prompts. You will then be given options of where to get a symbol from. The
first is from a previously saved screen to be loaded from drive 1 or ramdisc. You may move a highlighted
area about the screen using the arrow keys, with the symbol shown magnified on the other side of the
screen, then pressing ENTER selects the symbol. The second option is to choose a symbol which is already
in the list, by entering its number. The list of symbols is then shown at the top of the screen, with the chosen
one highlighted, and shown magnified on the right of the screen. You can scroll through the list using the
arrow keys and then press ENTER to select the symbol. The third option is to enter the address in memory to
get the symbol from. The symbol can then be obtained in the same way as in the second option. The fourth
option is to start a symbol from scratch.

	When one of the above options has been used to obtain a symbol to modify, the symbol will be shown
at the top left of the screen, with its magnified form on the right. A second, auxiliary symbol is also shown,
and is used in some manipulations of the main symbol. The symbol is manipulated with the following keys.
0    Set pixel		SPACE Clear pixel	[E]D  Drag current pixel with cursor (toggle)
ARROW KEYS Move cursor
[G] ARROW KEYS Shift row or column		[E] ARROW KEYS Set direction
-    Cut row		+    Paste row		/    Cut column		* Paste column
[S]Q Enlarge top left	[S]R Rotate symbol	[S]N,[S]M Flip symbol vertically/horizontally
sL   Load 2nd symbol	[S]2 Swap 2 symbols	[S]2 Show magnified 2nd symbol (toggle)
[S]U,[S]Y or [S]X AND, OR, XOR with 2nd symbol	[E][S]0   Undo last AND, OR or XOR.
INV VID Invert symbol	EDIT Movement demo. (press EDIT again to stop)	ENTER Put symbol in list

	When you have pressed ENTER, you will be prompted to enter the position of the symbol in the list.
Usually this will be after the previously designed symbol. The program will then return to the options for
obtaining a symbol to alter. There is an EXIT option in this list, and when this is chosen, you will be prompted
to enter the name of a file in which to save the symbols which you have designed, after which the program
will finish. (Pressing ENTER exits from the program without saving).

	[S] = SYMBOL SHIFT,	[E] - EXTENDED MODE,	[G] - GRAPHICS MODE
