Spectrum Software Issue 7 Contents Helpline

Helpline



Spectrum

Andrew Hewson answers more of your problems

Good reasons for upgrading

JUDGING from my postbag, many ZX-81 owners are trying to decide whether it would be better to purchase add-ons for their computers rather than selling to buy a Spectrum. Katie Quickenden of Faringdon, for example, suggests a number of areas where the ZX-81 might be improved.

Keyboard - The Spectrum keyboard is a great improvement. Its only annoying feature is that the two shift keys perform different functions and it is often necessary to press first one, then the other, and then the first again and so on.

Load, save, verify - I have yet to find anyone who finds LOADing unreliable with the Spectrum, whereas many people find the ZX-81 tiresome. The high speed at which the Spectrum LOADS and SAVEs is also a great advantage.

Number of cables and leads - No difference between the two machines.

Read and data statements - I do not make much use of them but if they are important to you, buy a Spectrum.

Repeat key - Well worth having.

Shift lock - Of small value, to my mind, but it is present on the Spectrum.

File handling - The method of handling cassette files on the Spectrum is rather clumsy but much better than no method at all.

Colour - I enjoy TV more if it is in colour. Similarly I prefer colour computing to black and white computing.

Other potential Spectrum purchasers are wondering whether to buy the 16K or the 48K machines. Richard Carsons of Epsom writes: "I have read reports that the 16K Spectrum uses 7K to provide colour and graphics, leaving only 9K of usable memory. There are some marvellous 16K ZX-81 adventure games. Am I correct in thinking that they will not fit into what is left of the standard 16K?"


'A program which just fits into the 16K ZX-81 is unlikely to fit into the Spectrum without a major modification.'

Broadly speaking, Richard is correct. A program which just fits into the 16K ZX-81 is unlikely to fit into the Spectrum without a major modification. Many so-called 16K programs, however, do not use all the available RAM. There are also a number of ways in which Spectrum Basic is superior to ZX-81 Basic, so it may be possible to reduce the space required without discarding any of the functions of a program.

For example, the Spectrum allows multiple program lines with each program line, separated by a colon. A colon occupies only one byte in the program area whereas a program line has an 'overhead' of five bytes - one byte for the Newline character, two bytes to hold the line number and two to hold the length of the program line. There is no limit to the number of program lines which may be concatenated in this way and so a good deal of space can be saved. The only thing to stop you putting all your program on one line is that GO TOs and GO SUBs must be made to lines starting with a line number and that IFs skip to the next line number if the appropriate condition is not true.

Peter Feast is also considering whether to buy a Spectrum. He asks: "I require the machine to store about 50 names and addresses, together with five further pieces of information in the form of variables and strings. Can the Spectrum cope?"

I can provide only half an answer to the question because much depends on the space occupied by the software to manipulate his records, which in turn depends on the sophistication he requires.

As a general principle, storage of data requires much more memory than calculations or games. I would be inclined to buy the 48K machine. Supposing we allow 15 characters per name, 15 characters for each of three address lines and eight characters for a post code, then the names and addresses alone will occupy (4*15+8)*50, or 34,000 bytes. Each numeric variable occupies five bytes and strings can be any length, but allowing another 30 bytes for the variables and strings the data would probably occupy at least 6K in total.

That leaves just 3K for a program to enter, review, edit, save and print the data. That is sufficient for a machine code program but certainly not enough for one written in Basic.



Spectrum Software Issue 7 Contents Helpline

Spectrum User
October 1982