Pages from the Omnicalc2 manual regarding the use of microdrives 
and converting the original Omnicalc.
=========================================================

LOADING THE PROGRAM FROM TAPE
The OMNICALC 2 tape has 4 programs on it. These are:
"om2" "om64000" "omconvert" "omdelete"
Of these "omconvert" and "omdelete" are of relevance only to those who owned the original OMNICALC, and are dealt with in a subsequent section. The two remaining programs are identical in function, the only difference between them being that "om2" occupies the very top of the Spectrum memory, whereas "om64000" leaves the bytes between 64000 and 65535 free in case you require complex printer interface software that will not fit into the 256 byte LPRINT buffer (but this means of course that "om2" can handle slightly larger models than "om64000").
To load one of these programs from tape proceed as follows.
1)	Set the volume control of your cassette recorder to somewhere near the middle. Rewind the tape to the beginning.
2)	Connect the EAR socket of the cassette recorder to the EAR socket of the computer. Make sure that there is nothing in the MIC socket of the computer.
3)	Type in either LOAD "om2" or LOAD "om64000" depending on which version of the program you want. (The load is obtained simply by pressing the J key, the quotes are obtained by pressing the SYMBOL SHIFT and the P key at the same time, and you must press ENTER at the end of the command.
4)	If the program fails to load, try again at a different volume level.
Note that if you are loading code either above address 64000 or in the LPRINT buffer to
control a printer interface, you should load such code before loading "om2" or "om64000”.
When the program has loaded, the prompt "Load/lnit?" will appear on the screen. If the Sinclair Interface 1 is connected to your Spectrum, then there will be a 10 second delay before this appears, for reasons explained in the next section.

USING MICRODRIVES AND INTERFACE 1
OMNICALC 2 has been designed to support the facilities in the Sinclair Interface 1. The program itself can be saved onto a microdrive cartridge, and models (and extracts from models) can be saved and loaded from microdrives, the net, or via the RS232 interface.
To make a copy of the program onto a microdrive cartridge, proceed as follows:
1)	FORMAT a cartridge (or at least make sure that the cartridge has no program with the name "run" on it). Place this cartridge in microdrive 1.
2)	Load the desired program from tape as described in the previous section.
3)	When the program has loaded it will detect that Interface 1 is present, and will delay for 10 seconds before auto-running. If you press any key during this period, it will automatically save and verify itself to microdrive.
4)	If the save and verify are successful the "Load/lnit?" prompt will appear the moment the microdrive stops whirring. Otherwise a long warning note will be sounded, and ideally you should disconnect everything and start the procedure all over again.
The program is saved on the cartridge under the name "run". You can thereafter load it direct from microdrive 1 either by the keyword RUN, or by the command LOAD * "m"; 1; "run" - Note that if you are using a printer interface  which requires some software, such software should be loaded before the program (and remember that if that software sits in the LPRINT buffer, a NEW, which is needed before the RUN, will erase it, so you will have to key in the full LOAD command).
When the microdrives and Interface 1 are connected, you have several options as to where you save and load models (and extracts). These are controlled by your response to the "channel?" prompt which occurs during the Save and Load functions in the program.
If you reply 0	this means save/load to cassette.
If you reply 1 - 8  	this means use microdrive 1 - 8.
If you reply 9	this means use the RS232 "b" channel (eg. for a modem).
If you reply 10	this means use the broadcast channel in the net (ie. send to/
receive from another Spectrum connected via the ZX - net).
If an error occurs during any operation using the microdrives or Interface 1, you will get the error message "I/O error/break". In most cases this will be accompanied by another message, which you can look up in the Interface 1 manual. However, if you break, or if the program detects that there is insufficient space to perform a save or load, no other error message is displayed. Thus, if you see the "I/O error/break" message with no further qualification, and have not interrupted the operation yourself, it is because there is not enough room to set up a microdrive buffer. This is very unlikely to happen, but if it does, you should try compressing your model (delete blank rows or columns perhaps) and then repeat the save or load. (Note that the serious "bug" in Interface 1 which made the computer hang up under certain circumstances during microdrive operations has been corrected in OMNICALC-2).
You are advised to study the Interface 1 manual before using microdrives. In particular, remember never to switch the power off while a cartridge is in a microdrive, always verify everything, and take back-ups of important files. You should also note that the ERASE does not always work, so do a CAT after each ERASE to see if the file really has been removed. As well as this, the Interface 1 may cause problems with some peripherals. (There have even been reports of incompatibilities with the ZX-printer).

CHANGES BETWEEN OMNICALC 2 AND THE ORIGINAL OMNICALC
This section is intended for those who already own the original OMNICALC, and summarises the changes that have been made.
1)	Function A, to allow you to insert/delete rows and colums has been added.
2)	Function W, to allow you to pull out values for plotting histograms or for reinsertion elsewhere in the same spreadsheet or an entirely different spreadsheet has been added.
3)	Function GRAPHICS (shifted 9) has been added to plot histograms.
4)	Function K has been added to do a single copy of an equation from one location to another.
5)	Text within the spreadsheet can now occupy the full column width.
6)	Another option in the Calculate has been added to let you decide whether you want the calculation to proceed row by row or column by column.
7)	Function H (Help) has been removed.
8)	Function R has been extended to repeat values and text, as well as equations.
9)	The Screen option within function P has been replaced by a Sector option allowing you to print out any rectangle within the spreadsheet.
10)	Column numbers and row letters have been suppressed on the print out.
11)	The SAVE and LOAD commands have been changed to allow use of the microdrives, the RS232 and broadcast net channels in Interface 1. Values pulled out by function W can also be saved and loaded independently, allowing spreadsheets to be set up which are summaries of many other spreadsheets, and permitting communication between spreadsheets, so that huge models encompassing many 'physical' spreadsheets can be created.

CONVERTING MODELS SET UP BY THE ORIGINAL OMNICALC FOR USE WITH OMNICALC 2
The OMNICALC 2 tape contains two programs to help you to convert models set up on OMNICALC to run on OMNICALC 2. These are called "omconvert" and "omdelete".
To convert an existing model set up using OMNICALC to a format suitable for use with OMNICALC 2 you should use the program "omconvert" which is supplied on the OMNICALC 2 tape. To do this proceed as follows:
1)	Load in "omconvert" from the tape (LOAD "omconvert"). This will auto-run, set up some machine-code and do a NEW, so don't worry if the Sinclair copyright message appears at the bottom of the screen after the Load.
2)	Load in the model you wish to convert from tape. To do this, simply type in LOAD "model-name", replacing "model-name" with whatever you called the model. If loading is successful you should get the "O.K." message appearing at the bottom of the screen.
3)	Call the machine-code routine which does the conversion by the command "RANDOMISE USR 64000" (The word RANDOMISE is obtained by pressing the T key, USR is obtained by pressing CAPS SHIFT and SYMBOL SHIFT together until the "E" cursor appears and then pressing the L key). This will do the actual conversion.
4)	Save the converted model by the command SAVE "model-name". (Again, replace "model-name" with whatever title you gave to your model, and remember that OMNICALC and OMNICALC 2 only accept capital letters in the model names. If you have microdrives, you can use the relevant command to SAVE to microdrive rather than tape, if you so wish).
5)	If you have more models to convert, repeat the above sequence from 2 onwards.
In most cases, this is all you will need to do to convert your models. However OMNICALC 2 takes up slightly more room than the original OMNICALC and the microdrive buffers used by the Sinclair Interface 1 also take up space. It is possible, therefore, that very large models set up by OMNICALC will not fit into OMNICALC 2. To give you a chance to convert such models to run in OMNICALC 2, another program "omdelete" is included on the tape.
To find out whether you need to use this program, simply try to load your converted model into "om2" or "om64000". If it loads then all is well. If, on the other hand, the "I/O error/break" message appears for no obvious reason, then your model is too large and you will have to use "omdelete".
Omdelete is very like the original OMNICALC, the exceptions being that it works off converted models, includes the A function (for deleting columns and rows) and does not have the H, P and Y functions of the original. The facility to delete columns and rows gives you the opportunity of compressing the model further. Note that it does not support the microdrives, so you will have to load and save to tape. To use it LOAD "omdelete" and then load your model in the normal way for the original OMNICALC. You are then recommended to proceed as follows:
1)   Position the cursor on the bottom row of the spreadsheet and, using function A, try to INSERT a row. If you are successful, carry on INSERTING rows until the 'NO SPACE' message occurs. This may sound strange, but in fact what you are trying to do is
force the program to go through the procedures it uses when it detects that it is short of space, and so remove any redundant equations etc.
2)	Delete any rows you managed to create in 1. If the number of cells (ie. the number of rows you managed to delete, multiplied by the number of columns) exceeds 700, then the model will now fit into "om2". Allow 1000 cells if you want to use "om64000".
3)	If you have any completely blank columns or rows within the model, delete them next. (Please read the description of function A carefully first so that you can avoid introducing invalid references). Then repeat 1 and 2 to see if you now have enough space.
4)	If you still have not made enough space, then you will have to try changing the format of your model to make more columns and rows empty, and then repeat 3 again.
5)	If you are still short of space, then all you can do is split the spreadsheet into two units, and thereafter use the workarea to pass information between them.