Dear Editor

Publication: Syntax
Pub Details: Syntax/Syntax ZX80 v2 n7 (Volume 2, Issue 7)
Date: July 1981
Pages: 9

Here is a better way to exit my Inverse Cryptology game (Jun. 81). Change and add these lines:

115 LET R=0
410 PRINT "ENTER LETTER OR LETTER=LETTER
425 LET Y=CODE(U$)
430 IF R=Y THEN GO TO 465
465 LET R=0
647 IF R=0 AND A(Y-38)<64 THEN LET R=Y

You can still guess letter=letter. If you’re guessing the first coded letter of the phrase, just enter the correct letter. When you know the phrase you can type the remaining letters in order, leaving out the coded letters and the equal signs. This program codes up to 69 letters (just over 2 lines) with 1K RAM. It no longer requires an equal sign between the guess and the coded letter. New Syntactic Sum: -3941. (P.S. Will CAI‘s printer do mailing labels?)

Harold A. Lamkin, Mt. Clemens, MI

The CAI printer works with thermal paper only. I’ve never seen thermal mailing labels; if they exist, then CAI’s printer can print them–AZ


I’d appreciate corrections to errors in programs in 30 Programs for the ZX80 (from Melbourne House). For example, line 650 of Blackjack program, p.40, is incomplete. Also, what changes are necessary to enter these programs in the 8K machine (eg. line 120 on p.76, Life, will not go in as shown in book)? In entering Chomp, p.95, on my 8K ROM (1K) I get 4/100 and a blank screen when I try to run it.

Alan Gayle, Brownsville, TX

According to Michael Sierchio at Image Computer Products, line 650 of Blackjack should read:

650 LET N(I+2)=N(I+2)-10

The book contains other errors; Image is sending us a list that we will pass on to you.

Line 120 of Life won’t go in because the 8K ROM doesn’t use an argument (a number in parentheses) after RND. The 8K RND gives a random number >=0 and <1; the 4K ROM sets the seed of its random number generator to the number in parentheses. To get a random number between 1 and 10 on the 8K ROM, use INT (RND*10+1). RND*10 makes the random number range from 0 to <10; INT drops the decimal. Now the numbers range from 0 to 9, so add 1 to get a number between 1 and 10. To get larger random numbers, increase 10 to 100, 1000, or any power of 10 you need to get the proper number of digits to the left of the decimal point.

Chomp just won’t fit in an 8K/1K machine. The 8K ROM eats up more RAM for system variables, cutting down your available RAM. Use Bytes Available (Jun.81 p.13) to see how much memory is left after entering your program (don’t type NEW first, just the PRINT line). I found Chomp left only 83 bytes on my 8K/1K machine, not enough to run.–AZ


In using my new 8K ROM, I found something unusual about it. If you ask it to PRINT 2**32, it gives 4294967300. But type PRINT 2**32-1, and you get 1288490200! What an error!! This strange result also happens with higher powers of 2 and numbers like 3**34. RUN this program to see some strange answers:

10 LET A=2**32
20 PRINT A,A-1,A+1,A-A+1,A-A-1,A-1-A
30 STOP

David Shulman, Peabody, MA

According to my H-P calculator, 2**32=4294967296. The 8K ROM’s 9.5 digit floating point arithmetic accounts for the slight error of 4. But my calculator gives vastly different answers for A-1 and A-1-A than my 8K ROM does. We also found other arithmetic “irregularities” with numbers >2**26. See 8K ROM story p.1 for Sinclair‘s plans to replace ROMs with this bug. Not all 8K ROMs have this error; check yours out before you write to Sinclair.–AZ


My 8K ROM and 16K RAM arrived recently. I am disappointed in the power supply. It seems to be poorly regulated and overworked. After several hours the voltage swings wildly but is lower than it should be, and data disappears from the screen, reappearing after it idles for a while. It also “sings” after about 6 hours, another sign of poor regulation. It will probably go back to Sinclair.

One disappointment was that TL$ is no longer a standard function. Never fear! There’s an easy way to do the same thing. Line 40 of this demonstration program shows a 1-line trick:

10 INPUT A$
20 IF A$="" THEN GOTO 60
30 PRINT LEN A$,A$
40 LET A$=A$(2 TO LEN A$)
50 GOTO 20
60 PRINT "THE STRING IS EMPTY"
70 STOP

Martin Irons, Goshen, NY

My 8K ROM also eats some programs, but data doesn’t return. Other readers say they have the same problem. John Strang, Burbank, CA, told us that any program with a PAUSE line crashes if you run it and leave it in command mode. It’s OK if you type it in and leave it on the screen, or if you continue to use the program. To check this, type:

1 PAUSE 1

RUN, BREAK, then LIST. The machine will crash in 9 min. 6 sec. To prevent such a crash, POKE 16437,255 after a PAUSE statement. See the note on p. 127 of the ZX81 (8K) manual.–AZ


I thought your “Cassette Eavesdropper” (Dec.80) would help me load programs, but I hate to build things. I found that if I put an AM radio tuned at about 1600 near my ZX80 while loading, I could hear when the computer started and stopped getting data because of the AM signal it puts out while functioning. Try it–you’ll be surprised at the neat noises it makes.

Warren Schoettlin, San Marino, CA


I wanted to respond to Bob Irwin’s call for a Compuserve ZX80 Special Interest Group (Jun.81) but I am not yet a Compuserve user and his address was not listed. I would like to contact him.

I would also like to hear from anyone who has used his/her ZX80 in a timeshare, TP environment. Information on modem attachment, machine code emulator programs, etc. would be particularly appreciated.

Robert B. Keller, [address omitted], Rochester, MN

Contact Bob at his home address: [address omitted], Houston, TX.–AZ