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