Letters to the Editor

Author(s): J. A. Phillips; Dean Koska; Warren Fricke
Publication: Synchro-Sette
Pub Details: Synchro-Sette v1 n6 (Volume 1, Issue 6)
Date: September 1982
Pages: 12-13

Dear Ed.

My ZX-81 has developed a glitch. When instructed to ‘PRINT 1 – .999’, the computer responds with .001000002. When instructed to ‘PRINT 100 – 99.99’, I am treated to .0099999998 and similar results are produced for every subtraction which results in amounts of .01 or less. Why does this happen?

J.A. Phillips. Chula Vista, CA

Well I’ll tell you, J.A. – I don’t know for sure. When I instruct the computer to ‘PRINT 100 – 99.99’, I get .0099999995. The 1 – .999 gives the same answer you get. In the cassette program NAME/ADD (8/82), which depends heavily on 8 digit accuracy, subscribers were telling me that they were getting strange feedbacks of data that were different from the ones I was getting. The only thing I know for sure is that beyond the first eight digits of the numeric data, the accuracy is not there in the Sinclair machines. Of course you could write a short program that would round off the data to the desired amount of decimal places within the 8 digit limit. The following sample works with both of your examples:

10 INPUT A
20 INPUT B
30 LET C = A - B
40 LET C = INT (1000 * C +
.005)/1000
50 PRINT A; " - "; B;
" = "; C

This is a useful technique where if you remove one (0) from each of the 3 numbers in line 40, you can have the number rounded off to the last 2 digits past the decimal point. This way when using calculations that involve multiplication or division and you must find a total that is in dollars and cents, you get answers with the required amount of decimal places – Ed.


Dear Ed,

I appreciate the new LOADER programs at the beginning of the tape but I do not like the format of a 1K side, a 16K side and the 2 saves of the program. Instead, how about starting off the tape with the LOADER program having a menu of the 1K and 16K programs followed by one of each of the 1K programs and then the 16K programs? The other side of the tape can be a duplicate of the first side. This way the 16K users can easily load the 1K programs without having to flip the tape over. Loading time is also saved by skipping over the second copy of a program to get to the next one. Perhaps the only drawback is that 1K users might unknowingly try to load a 16K program.

Furthermore, I found out that when you try to reload a self-running program by name, it will load whether or not the last character in the file name is specified as inverse.

Dean Koska, Golden Valley, MN.

Dear Dean,

An intriguing idea indeed. My first impression was to disallow any procedure that would change the established format that has proved successful in the past but after pondering your proposal, I can come up with no real arguement to that type of format. At first I thought that it might require a longer tape than the C-30s that I use now, but since each program is only recorded once, it actually would require less tape space than the 16K side does using the present method.

The only drawback I can forsee is that the LOADER program itself must be limited to 1K which means I may not be able to put some of the bells and whistles into it that I had intended for the 16K version. Also, if there is a bad recording of one of the programs, the user cannot go directly to the next copy and must rewind the tape and start from scratch on the other side. Since the vast majority of the programs load with no difficulty, this shouldn’t really be a valid problem.

The advantages seem to outweigh the disadvantages. For one thing, I only would have to make one master tape instead of the two I make now. This should save duplication time also in that the master tapes do not have to be constantly switched.

Good idea – we’ll use it on the October/82 tapes – maybe we’ll be able to get the tapes to you sooner – thank you – Ed.


Dear Ed,

In the following programs:

LABYRINTH 8/82 1K

Add the following do-nothing line:

100 LET N = SQR PI
* SQR PI

The pronounced jerk is now gone.

ARTIST 8/82 1K

Add the following lines:

144 PLOT Y,X
145 UNPLOT Y,X

Now we get a flashing pixel in either the draw or erase mode so that there is no difficulty keeping track of its location. The two flashes are even distinctive, with the larger dark phase in the draw mode.

P.S. What is a group of colts called? I was never good at guessing games.

Warren Fricke, Depew, NY

Dear Warren,

Excellent suggestions. I see that you have been doing your homework. The old professor will be proud.

I’m particularlly impressed with your fix for the ARTIST program. You’ve just made two good 1K programs better.

P.S. Reply – A group of colts is called by a word that has three letters. This word also has a more common meaning. Poor people wear them as clothes or you might use one to wipe up a spill (can’t make it too easy for you, can I?) – Ed.