Not Known
Utility: Spreadsheet
ZX Spectrum 48K

Franco Frey
Chris Bourne

Microsphere has just launched an improved version of their original Omnicalc spread-sheet program, aptly named Omnicalc 2. The new version makes full use of the microdrive, RS232 and net facilities of interface 1. The program itself can be saved onto a microdrive cartridge and models can be saved and loaded from microdrives, the net or via the RS232. Omnicalc 2 is also designed to support full-size printers, either via one of the many aftermarket Centronics interfaces or via the RS232 port of the ZX interface 1. Omnicalc 2 includes now graphical representation of model results by plotting histograms.

Omnicalc 2 provides access to a grid of numbers which can be up to 99 columns across and 250 rows deep. Any mathematical function on the Spectrum can be used as formulae within the grid-fields so that any financial or engineering model can be generated. The program works on a prompt basis and provides several useful functions to minimise repetitive and time-consuming inputting.

Upon loading the program checks for the presence of the interface 1 and if present will delay the auto-run to provide the possibility of saving the program to microdrive. Pressing a key during this period will initiate the microdrive save. During the SAVE and LOAD functions the program prompts for a channel which will dictate where the model is saved or loaded. This can be either cassette, microdrive 1-8, via RS232 channel 'b' or via the broadcast channel in the net. Similarly decisions can be made for print-outs. Omnicalc 2 prompts for number of columns and the maximum values are 3 for the ZX printer or Alphacom 32, 9 for the 80 column printers and 15 for 132 column printers. Depending on the printer used, two different versions of Omni- ca/c 2 can be loaded. "om 2" occupies the top of the Spectrum memory, whereas "om 64000" leaves the bytes between 64000 and 65535 free for printer interface software that will not fit into the 256 byte LPRINT buffer. In any case the driver software must be loaded before the program. Printers with serial interfaces can be connected up to the RS232 port of interface 1. In this case the printer channel (channel 3) must be opened as an RS232 channel. This can be done before (chapter 8 of the interface 1 manual) or after loading Omnicalc 2 by using the Baud and Open 3 options of Omnicalc 7s function X when the program has loaded. If the printer supports graphics, the program must be told where the specific hardcopy routine starts by using option G of function X.

Any position in the grid is defined by a grid reference such as A1, A representing the line number (double letters from line 27 onwards), 1 the column position. The screen displays only a small portion of the entire grid, the 'window' on the grid. The window is 3 column by 15 lines and includes also the header information relevant to each column and each line. Grid references are used in equations. Unless otherwise specified, Omnicalc 2 takes the grid reference as a relative position, Al being the value in the box immediately to the left of A2, and therefore equations can easily be reproduced along whole rows or columns. Are the grid references to be taken as absolute values, they need to be proceeded by a k.

Two areas are available for modelling. One is the actual spread-sheet and the other the so-called work area. The work area is used as a buffer area for moving values around within the spreadsheet, for the plotting of histograms or for the transfer of values to other spread-sheet models. Function W transfers the values from spreadsheet to work area or vice versa.

Work is started by selecting L for Load. Either an existing model may be loaded from tape, microdrive, via net or serial port, or the existing spread-sheet erased and a new one initiated by inputting the number of rows (15- 250) and columns (3-99). The program determines whether there is sufficient memory space. If the Load option is selected, either spread-sheet data or work area data can be loaded.

At any time the spreadsheet model may be saved to tape, microdrive, via net or serial port. Again the choice can be made between spread-sheet data or work area data.

Unshifted cursors move the cursor around the screen, shifted cursors move the window on the grid. Function G positions the window to any indicated position. I is used to enter information at the cursor location. It is followed by a prompt "text?" if the cursor is positioned in a heading position, or "EquationValue/Blank/ Text?" if in any other. Option K copies the contents of the box under the cursor to any specified location.

Option R repeats the contents to another position either to the right on the same row or down in the same column.

Totals or Sub-totals may be entered with function T. This accumulates all values above (column) or to the left (row) with the exception of previous sub-totals or totals.

If sub-totals is selected, the program accumulates all values until another sub-total is reached.

An interesting and useful feature is Year IV) which provides a fast method of feeding in the months of the year in the column or row after the first month has been put in manually.

There is the possibility of changing the grid-size during the working of a model by inserting or deleting a column or row with function A (Amend area).

Function C forces a recalculation of all variable values such as equations and totals. If option Repeat is selected, the program repeats the calculation until the value in the last box (bottom right corner) becomes zero. A choice is offered for the calculation to proceed row by row or column by column depending on the requirement of the worked model.

Quick mode (Q) may be selected for speeding up a model with a lot of data by not displaying already existing data. This allows for very fast window shifting. Mode (M) switches between integer and 2 decimal display.

At any time the original input data (Equation, total etc.) of a box may be checked by the Decode function ID).

Hardcopy can be obtained with the Print function which will print either any rectangle from within the model or all data within the model. To display the results in a more graphical way, a histogram may be plotted (shifted 9).

Scaling is done automatically. Up to three groups of values may be displayed with solid, stippled or outlined columns. Column gaps may be selected if desired.

The histogram can either have one column for every value, or can be stacked so that each column contains one value from each group stacked on top of each other. Once displayed, the histogram may be annotated and a hardcopy produced (shifted 9).

Provided with the software cassette is a detailed 32 page manual with a worked example, special notes on using microdrives and interface 1 and printers and a complete list and explanation of all available functions together with a list of error messages. The cassette contains two utility programs which allow the transforming of any original Omnicalc model into the new Omnicalc 2 format.

Omnicalc 2 presents itself as a complete and easy to use spread-sheet package. Full use has been made of the interface 1 and microdrive facilities and the aftermarket Centronics interfaces and this is where the program really scores. Through the use of these peripherals it rises above the limits set by the ZX Spectrum hardware confines and shows itself to be a really professional tool.


Not Rated