Tasman Software
Not Known
Utility: Spreadsheet
ZX Spectrum 128 +3

Ian Cull
Chris Bourne


TasCalc, Lotus 1-2-3 or £17.95

IN THE business world spreadsheet programs are huge sellers, and typically cost several hundred pounds. Simply put they're sery sophisticated calculators. The Spectrum may be simple compared to the mega IBMs of this world, but with a minimum of 128K this powerful calculator can be yours too thanks to Tasman Software's Tascalc. The program is available on either tape or disk, the only difference being that the former can use microdrives, while the latter set up for the built-in disk drive. Both versions can also save/load to tape.

The TasCalc 'super-calculator' consists of 52 columns (A... Z,AA. . . AZ)of 157 rows (totalling 8164 cells). Each cell can hold a number, a label, or a formula. Formulae can reference the contents of other cells, so that altering one cell can affect the whole spreadsheet (AZ=A1 +C5). Numbers are entered just by typing them in, with the spreadsheet cursor, on the required cell. Labels (or simply text messages) are entered by pressing the " key first. Formulae are entered by first pressing the ENTER key.

The design of the spreadsheet is up to the user, making TasCalc very flexible in use. The width of each cell can be altered, which is useful for fitting more columns on the screen at once. The number of rows on screen at once is initially set to 13, unless the prompt menu at the top of the screen (as in Tasword III) is switched off (making four more rows visible).

The cursor can be moved around the spreadsheet using either the cursor keys, or by typing G to go to a particular cell - specified by typing its 'address'. If that cell is not onscreen a red-raw occurs. Labels set up in column A and row 1 can also be used to reference a cell (eg COSTS.FEB would reference cell C3 If C1=COSTS and A3=FEB).

As the spreadsheet is built up, formulae will be entered which calculate new details from information entered in other cells - in the sheet I setup (see pic, hopefully), the page price of each issue of CRASH is calculated by dividing the issue price by the number of pages (G11 + B11*100/C11). The value of each formula is not, however, computed by TasCalc as it is entered. An Execute command must be entered whenever formulae need to be evaluated (TasCalc does not auto-calculate, as do spreadsheets on more powerful computers this would be too slow). The execute can be limited to just the areas of the sheet which need updating, which helps to speed up the process.

It would be very laborious having to enter a separate formula for each cell in column G. In TasCalc this is not necessary - there is an Echo command, which I used to echo the G11 formula into G12-G50. The formulae are altered automatically as the echo occurs (so that G50 + B50*100/C50).

As the spreadsheet is developed, formulae are continually replaced and updated. Old formulae occupy memory, which will eventually be filled up. An Optimise command causes TasCalc to sort through the spreadsheet, eliminating unused formulae. This is a very slow process (4½ minutes for my spreadsheet containing 143 formulae). Turning off the display of the working cell does speed this up (to 53 seconds for the same sheet).

For major changes to the spreadsheet, there is a Copy command. This allows whole blocks of the spreadsheet to be moved around the work area. Formulae which reference cells that are moved are automatically altered by TasCalc during the copy. WARNING: there is a major problem with this command, when inserting rows into the spreadsheet. The copy proceeds row by row, top to bottom. There is no error check for overwriting, so if, for example, cells A10 to A20 are moved one row down to 11-21, then the result will be ten new copies of A10. The old values of A11 to A20 will be lost! Once you know about it, however, you can easily avoid the problem by copying the complete block to an unused part of the spreadsheet, then copying it back into the new position (for example, copy A10-A20 to AA10-AA20, then back to A11-A21).

After such a process, the temporary copy area should be erased. However, if a full row or column is to be inserted (rather than just an extra cell in one column as in the above example), then TasCalc has commands to allow the current row/column to be deleted, shuffling all later rows/columns up/left; or an additional row/column to be inserted. For an insert or a delete, all formulae are altered to reference the newly-shifted cells.

The main use of spreadsheets is for quite simple calculations, referencing a large number of variables, which are set in the columns of the spreadsheet as tables. TasCalc also has a complete set of scientific and miscellaneous functions. Trigonometric functions (SIN, ATN, etc) are provided, as well as SQR, INT, PI and the other Spectrum BASIC functions. Also included, though, are spreadsheet-specific functions - for example AVE which returns the average value of the cells in the range specified.

Whenever the spreadsheet is re-calculated, it is done cell by cell in strict order (normally A1- A157, B1-B157 ... AZ1-AZ157). If a formula references a yet-to-be-calculated cell, then problems will occur as the value calculated will be wrong. This is a problem with all complex spreadsheets, and can only be solved by repeated re-calculation until the values are unchanging.

It is possible to create a spreadsheet in which the values will always be changed - this can be useful! I set up a Fibonacci (LM's BIG LWD) number sequence; each number displayed after the next re-calculation (A1=B1; B1=C1; C1=A1=B1).

The spreadsheet can be saved to disk or tape by calling up a files menu. The size saved depends how 'full' the sheet is - doing an Optimise before saving can result in quite a reduction in size. Any part of the spreadsheet can also be printed; TasCalc supports standard printers through almost all common Spectrum printer interfaces: parallel or serial.

A powerful facility of TasCalc is its ability to produce graphs. The range of the spreadsheet to be plotted is given, and a graph (either line-type or bar graph) appears almost instantly. I had problems with TasCalc only plotting the integer part of the cell values - solved by scaling the values into another column of the spreadsheet. The graph displayed cannot be printed, but can be saved to disk or tape for printing later.

The TasCalc manual is a reference work, aimed at users who already know how to use a spreadsheet. However, for those wishing to learn, experimentation is simple and rewarding. The manual is detailed, but has no index section.

TasCalc costs £17.95 on tape for the 128K and +2 Spectrums, or £19.95 on disk for the +3. Write to Tasman at Springfield House, Hyde Terrace, LEEDS LS2 9LN. Anyone needing the power of a spreadsheet should be very happy with TasCalc, provided they are not in too much of a hurry for the Spectrum to calculate the results.

Screenshot Text

'The formulae are altered automatically as the echo occurs'

'Experimentation is simple and rewarding'

'The TasCalc manual is a reference work'