Skip to main content

Full text of "Syntax Magazine"

See other formats


SYNTAX ZX80' 

A PUBLICATION OF THE HARVARD GROUP 

VOL. 2 NO. 11_ ISSN 0273-2696 NOV., 1981 


IN THIS ISSUE 


CAI SHIPS WIDGETS 


4K Programs 

Sine Calculation.16 

Reverse.17 

8K Programs 

Super Monzxer.3 

Digital Clock.15 

Reverse. 17 

Beginners' Column 
REM Revisited.18 

Book Review 

ZX81 Companion.14 

Classified Ads.19 

Dear Editor.12 

Dear Sinclair.15 

Hardware Hints.3 

Hardware Review 
Sinclair ZX81.13 

Machine Language 
8K ROM Potpourri.7 

News, New Products....1,2 

Program Changes.2 

Software Review 
Zeta Software.8 

Index of Advertisers 

Insight.14 

JRS Software.16 

Lamo-Lem Labs.18 

Sinclair Research..10,11 

Zeta Software.13 

Subscription Info.19 


At presstime, CAI' s Bob Swann confirmed 
reader reports-- 100's of Widgets shipped. 
Expect printers in 2 wks, tape drives in 4. 
Widgets chew up the top 4K of memory--2 for 
tape and 2 for printer. But--look for CAI to 
sell 48K add-on memories. 

Widgets now cost $79.95, but CAI knocks 
$10 off for each additional peripheral you' 
buy.. Swann says the 21-IC board uses EPROMS 
permitting software updating. Their tests 
show Widgets compatible with all setups 
EXCEPT MicroAce Flicker-Free boards. 

CAI announced new policies for better 
service: product PHOTOS in future ads and no 

orders taken for undeliverable devices. 

MULTIPURPOSE MEMORY EXPANSION 

SABRE Systems has developed a multi¬ 
purpose memory expansion board to use in a 
variety of RAM/EPROM combinations. The board 
contains decode logic plus two 28-pin sockets 
that can contain the new 2Kx8 CMOS RAM chips 
or several varieties of EPROM (erasable 
programmable read-only memory) ICs, such as 
the 2716, 2732, 2764 or 2532. Jumpers on 
board accomodate multiple device types and 
varied IC pinouts on a single plug-in board. 

The boards come with either 2K or 4K 
RAM. They draw 25 mA and are easily powered 
by the ZX80 power supply. 

If you program your own EPROMs, you can 
store up to 8K of utilities and assembly lan¬ 
guage programs in each IC slot using 2764s. 

SABRE also offers an EPROM programmer 
that plugs into the ZX80. Wire-wrapped 
versions will be offered on a limited, as- 
ordered basis. According to Fayne Sisco of 
SABRE, a BASIC format is being developed to 
let users build their EPROM data on tape. 

SABRE will program EPROMs from tape files. 

Contact Fayne Sisco, SABRE Systems 1719 
Autrey, Deer Park, TX, 77536. 


ANNIVERSARY ISSUE 

























SYNTAX ERRORS: INSIGHT's telephone 
number in their classified ad (Oct. 
81 p.16) should read 616/684-7868. 
Jon Passler noticed an error in his 
8K Roundoff routine (Oct.81). To 
use three decimal places, change 0 
to 00 (LEN N$ TO). Error is in 
second paragraph of text. 

CHANGES TO AMAZING ACTIVE DISPLAY 

John Sampson of College Point, 
NY, called in response to the 
letter in the Oct.81 issue about 
The Amazing Active Display. With 
these changes to the version on p. 
68 of Making the Most of Your ZX80, 
which correct typos and convert to 
American TV, the program runs on 4K 
ROM and IK RAM. 

In line 30 defining M$, change 
the 61st and 62nd hex digits (DE) 
to FE. Change the 75th and 76th 
(38) to 20. Change the 111th and 
112th (EC) to FC. 

INVERSE BIG CHARACTERS 

To print 8x size characters in 
reverse video, change these lines 
from Big Characters (Dec.80): 

140 PRINT " 

160 PRINT CHR$(128); 

Print 4x size characters in 
reverse video by modifying Son of 
Big Characters (Feb.81). Enter the 
original decimal listing: 

0 4 6 2 5 131 8 135 7... 
in reverse order: 

128 132 134 130 133 3 136... 

Paul Ezra, San Diego, CA 

R.B. Turner plans to interface 
his 4K/2K MicroAce to the MM57109 
programmable calculator chip to 
provide many scientific calcula¬ 
tions. He's also v. 7 orking on an 
8255 peripheral interface adapter 
I/O chip for programmable input/ 
output from the MicroAce zo 3 I/O 
ports. He wants offer PC board 
kits to SYNTAX readers. For more 
details, contact Mr. Turner at 109 
Chesney Ln, Columbia, SC 24209. 


SINCLAIR'S PRINTER SHOWN IN US 

Clive Sinclair of Sinclair 
Research demonstrated his ZX81 
printer at the the US introduction 
of the ZX81 computer in Boston on 
Oct.7. Although in production in 
England, the printers cannot be 
imported into the US until they get 
FCC approval. Sinclair expects 
approval near the end of the year. 

This sample hardcopy output 
from a ZX81 on a Sinclair printer 
shows its print size and readabil¬ 
ity. The aluminized paper is about 
4 inches wide. The program draws 
the curve printed above it and 
takes more than IK RAM. 



■ m 

m m 

9 » 

% «F 

m m 


\ / 



10 DIM C(64) 

2@ FOR U-X TO 64- 

30 LET C (U> =£24-20* (SIH 1 CU-i* 
-32*PI) 5 

4-0 NEXT U 
100 FOR G = X TO 64- 
110 PLOT G-l,CfG) 

115 NEXT G 

117 SOSUB 1000 

120 COPY 

125 GOSUB 1000 

130 LLIST 

135 FOR H~1 TO 6 

14-0 L.PRINT 

145 NEXT H 

1000 IF INKEY $<> THEN RETURN 
1010 SOTO 1©@0 

This version runs on a IK ZX81: 

10 FOR X=0 TO 64 STEP 8 
20 FOR V=X TO 63+X 
30 PLOT V-64*INT X/64,22+20*(S 
IN V/(32-PI)) 

40 NEXT V 
50 NEXT X 

To make a longer series of sine 
curves, add 15 CLS 


2 




HARDWARE HINTS 


SUPER MONZXER 


Herb Sturges, Orinda, CA, 
called in these hardware tips: 

If your ZX80 overheats easily, 
you can increase the capacity of 
its aluminum heat sink to dissipate 
heat with a little paint and a 
coping saw. Aluminum painted with 
flat black paint has 20 times 
polished aluminum's ability to 
release heat. Remove the heat 
sink, paint it black, and let it 
dry before reinstalling. Then use 
a small hand coping saw to cut 
through the black lines on the top 
of the case so all that heat can 
escape. **Caution--if you use an 
electric saw, use a coarse-toothed 
blade, because the case will melt 
under the friction of a fine¬ 
toothed blade. Heat sink compound 
(silicon and zinc oxide) between 
the regulator and the heat sink 
also helps. 

To minimize the danger of static 
electricity zapping your ICs, 
ground the ZX80 edge connector with 
aluminum foil. Simply fold the 
foil over the top and bottom edges 
and affix with cellophane tape. 

To improve insulation under the 
regulator, replace the cardboard 
with fiberglass of the same size 
and thickness. 

To label big keyboards: Remove the 
ZX80 keyboard map (that little 
sheet under the front rivets) and 
have it photocopied in color. Cut 
out squares and paste to keys with 
rubber cement or epoxy. 

REDUCE 4K LOADING NOISE 

4K ROM users: instead of building 
our Cassette Eavesdropper (Dec.80) 
to reduce loading noise, try a dual 
mini-plug from Radio Shack (part # 
274-310). It's just $1.59 and does 
the same thing in a small package. 
Tip from Marty Irons, Goshen, NY. 


This 8K/16K adventure game of 
survival challenges you with man- 
eating spiders, giant bats, pits 
and monzxers. You are in a cave 
with 5 levels of 20 rooms each. 

With only 3 arrows, you must kill 
three monzxers to emerge alive. 

If you enter a spider room (2 
per level), you are caught in their 
web and must shoot them, but they 
are gone after you shoot them. 

Pits (2 per level) drop you a 
level if you are at level 4 or 
higher, but the room you land in 
may not be safe. Level 5 contains 
bottomless pits (ending the game). 

If you enter a room with bats 
(2 per level), they carry you to 
another room (perhaps not safe) on 
the same level and return. 

One room in the cave contains 
a sword. If you go in that room, 
the sword is yours to keep. 

Three monzxers lurk in the 
cave, not necessarily on different 
levels. If you enter their room, 
they will instantly kill you unless 
you have a sword. Kill a monzxer 
by shooting an arrow into its room. 

The computer warns you of 
nearby threats. One room away from 
a pit, it prints 'I FEEL A DRAFT.' 
One room from a spider it says 
'I SEE COBWEBS.' One room from 
bats you read 'BATS NEARBY.' One 
or two rooms from a monzxer, your 
guide says 'I SMELL A MONZXER.' 

The computer gives your posi¬ 
tion and which 3 rooms there are 
tunnels to on the same level. You 
can move or shoot, then specify the 
room to enter or the arrow's path. 
The arrow will not fall in a pit, 
be carried by bats, or stop in a 
spider's room. If its path returns 
it to your room, it kills you. 

The game ends when you kill 
all 3 monzxers, shoot yourself, a 
spider or a monzxer eats you, or 
you fall in a bottomless pit. To 
exit early, hit BREAK when it asks 
"MOVE OR SHOOT?" 

I'd like to hear from others 


3 


about this program or anyone having 
trouble with the 16K RAM dumping 
out programs. I wrote a program to 
play Monopoly against the computer; 
please write if you're interested. 

Andrew Q. Banta, R.D. #7 
Bethlehem, PA, 18015 

(For a description of line and sub¬ 
routine functions, send us a self- 
addressed stamped envelope.--AZ) 

1 RAND 

10 PRINT AT 10,4;"AN A. Q. BAN 
TA PRODUCTION" 

20 PAUSE 300 
25 POKE 16437,255 
30 CLS 

50 PRINT AT 10,20;"SUPER" 

60 PRINT AT 12,18;"MONZXER" 

70 FOR 1=3 TO 37 
80 FOR J=11 TO 19 
90 PLOT J,I 
100 NEXT J 
110 NEXT I 
120 FOR 1=16 TO 24 
130 FOR J=8 TO 22 
140 PLOT J,I 
150 NEXT J 
160 NEXT I 
170 FOR 1=22 TO 32 
180 PLOT 6,1 
190 PLOT 24,1 
200 NEXT I 
210 PLOT 5,22 
220 PLOT 7,22 
225 PLOT 7,21 
230 PLOT 23,22 
235 PLOT 25,22 
240 PLOT 23,21 
245 PLOT 25,21 
250 PLOT 9,35 
255 PLOT 10,35 
265 PLOT 10,36 
270 PLOT 20,36 
275 PLOT 20,35 
280 PLOT 21,35 
285 FOR 1=14 TO 16 
290 FOR J=3 TO 16 
295 UNPLOT I,J 
300 NEXT J 
305 NEXT I 
30 7 PLOT 23,33 


312 PLOT 7,33 

31 5 PLOT 7,32 

320 FOR 1=5 TO 25 

325 IF 1=14 THEN LET 1=17 

330 PLOT 1,3 

335 NEXT I 

338 FOR 1=6 TO 24 

340 IF 1=14 THEN LET 1=17 

342 PLOT 1,4 

345 NEXT I 

350 PRINT AT 21,3;""" """ 

352 PRINT AT 21,9;""" """ 

355 PRINT AT 7,5;"Q" 

357 PRINT AT 7,9;"Q" 

360 PRINT AT 9,5" 

365 PRINT AT 5,22;" - /" 

370 PRINT AT 4,28;"/" 

375 PRINT AT 3,29;"/" 

380 PRINT AT 2,30;"/" 

382 UNPLOT 8,17 
385 UNPLOT 8,16 
387 UNPLOT 9,16 
390 UNPLOT 21,16 
392 UNPLOT 22,16 
395 UNPLOT 22,17 

397 PAUSE 600 

398 POKE 16437,255 

400 DIM R(3,101) 

401 DIM A(6) 

402 FOR 1=1 TO 3 

403 LET R(I,101)=101 

404 NEXT I 

406 LET SW=0 

407 LET DM=0 

408 FOR L=0 TO 80 STEP 20 
410 FOR 1=1 TO 20 

415 LET K=£j+I 
420 FOR J=1 TO 3 
422 LET J1=J 

425 IF J1CINT ((I-D/5) THEN LE 
T J1=J1-1 

430 IF R(J,K)>0 THEN GOTO 495 

435 LET G=INT (RND*5)+J1 *5 + L+1 

436 FOR M=1 TO 5 

4 37 IF R(J,L+M+INT ( (I—1)/5)*5) 
=G THEN GOTO 435 
438 NEXT M 
440 FOR H=1 TO 3 
445 IF R(H,G)=K THEN GOTO 435 
450 IF R(H,G)=0 THEN GOTO 465 
455 NEXT H 
460 GOTO 435 
465 LET R(J,K)=G 
490 LET R(H,G)=K 
495 NEXT J . 


4 



500 NEXT I 
510 NEXT L 

525 LET YR=INT (RND*20)+1 
535 LET S1=6 
610 DIM X(36) 

620 DIM T(30) 

630 DIM C(30) 

640 DIM Q(30) 

650 DIM W(3) 

660 DIM S(10) 

670 DIM B(10) 

680 DIM P{10) 

690 LET DM=0 
695 LET SW=0 

700 LET SR=INT (RND*100)+1 
710 FOR 1=1 TO 3 
720 LET W(I)=INT (RND*100)+1 
725 IF W(I)=YR THEN GOTO 720 
730 NEXT I 

740 FOR 1=1 TO 9 STEP 2 
745 FOR J=0 TO 1 

750 LET S(I+J)=(INT (RND*20)+1) 
+20*INT (1/2) 

760 LET B(I+J)=(INT (RND*20)+1) 
+20*INT (1/2) 

770 LET P(I+J)=(INT (RND*20)+1) 
+20*INT (1/2) 

780 NEXT J 

790 NEXT I 

800 FOR 1=0 TO 9 

810 FOR J=1 TO 3 

820 LET T(I*3+J)=R(J,S(1+1)) 

830 LET C(I*3+J)=R(J,B(1+1) ) 

840 LET Q(I*3+J)=R(J,P(1+1) ) 

850 NEXT J 

860 NEXT I 

870 FOR 1=0 TO 2 

880 FOR J=1 TO 3 

890 LET X(I*3+J)=R(J,W(I+1)) 

900 FOR L=1 TO 3 

910 LET GG=((J-1)*3)+(I*9)+L+9 

920 LET X(GG)=R(L,X(I*3+J)) 

930 NEXT L 
950 NEXT J 
960 NEXT I 
1000 CLS 

1010 LET YL=INT ((YR-1)/20)+1 
1020 PRINT "YOU/RE ON LEVEL ";YL 
1030 PRINT "YOU/RE IN ROOM ";YR- 
(YL-1)*20 

1032 IF YR=SR THEN PRINT "THERE 
IS A SWORD IN THE ROOM" 

1037 IF YR=SR THEN LET SW=1 

1040 FOR 1=1 TO 30 

1050 IF YR=T(I) THEN GOTO 1080 


1060 NEXT I 

1070 GOTO 1090 

1080 PRINT "I SEE COBWEBS" 

1090 FOR 1=1 TO 36 

1100 IF YR=X(I) THEN GOTO 1130 

1110 NEXT I 

1120 GOTO 1140 

1130 PRINT "I SMELL A MONZXER" 

1040 FOR 1=1 TO 30 

1150 IF YR=Q(I) THEN GOTO 1180 

1160 NEXT I 

1170 GOTO 1190 

1180 PRINT "I FEEL A DRAFT" 

1190 FOR 1=1 TO 30 

1200 IF YR=C(I) THEN GOTO 1230 

1210 NEXT I 

1220 GOTO 1240 

1230 PRINT "BATS NEARBY" 

1240 FOR 1=1 TO 3 

1250 IF YR=W(I) THEN GOTO 1280 

1260 NEXT I 

1270 GOTO 1300 

1280 PRINT "THERE IS A MONZXER I 
N YOUR ROOM" 

1281 IF SW=1 THEN GOTO 1285 

1282 PRINT "AND IT ATE YOU" 

1284 GOTO 3000 

1285 PRINT "BUT YOU KILLED IT WI 
TH YOUR SWORD" 

1290 PAUSE 300 

1291 POKE 16437,255 

1292 LET DM=DM+1 

1294 IF DM=3 THEN GOTO 2990 

1297 LET W(I)=101 

1298 GOTO 870 
1300 FOR 1=1 TO 10 

1310 IF YR=B(I) THEN GOTO 1340 
1320 NEXT I 
1330 GOTO 1380 
1340 CLS 

1350 LET YR=(INT (RND*20)+1)+(YL 
-1 )*20 

1360 PRINT "BATS TOOK YOU TO ROO 

M " ; YR- 4YL-1 ) *20 

1370 GOTO 1010 

1380 FOR 1=1 TO 10 

1390 IF YR=S(I) THEN GOTO 1470 

1400 NEXT I 

1410 GO TO 1430 

1420 PRINT "THERE IS A SPIDER IN 
YOUR ROOM" 

1430 FOR 1=1 TO 10 

1440 IF YR=P(I) THEN GOTO 1470 

1450 NEXT I 

1460 GOTO 1540 


1470 IF YL=5 THEN GOTO 1520 
1480 CLS 

1490 PRINT "YOU FELL IN A PIT" 

1 500 LET YR=YRt2 0 
1510 GOTO 1010 

1520 PRINT "YOU FELL INTO A BOTT 
OMLESS PIT" 

1530 GOTO 3000 

1540 PRINT "TUNNELS TO ROOMS 

1550 FOR 1=1 TO 3 

1560 PRINT " ";R(I,YR)-(YL-1)*20 

1570 NEXT I 

1580 PRINT 

1590 PRINT "MOVE OR SHOOT" 

1600 PAUSE 900 
1605 POKE 16437,255 
1610 LET K$=INKEY$ 

1620 IF K$="M" THEN GOTO 1650 

1630 IF K$="S" THEN GOTO 2000 

1640 GOTO 1600 

1650 FOR 1=1 TO 10 

1652 IF YR=S(I) THEN GOTO 1657 

1654 NEXT I 

1656 GOTO 1659 

1657 PRINT "THE SPIDER GOT YOU" 

1658 GOTO 3000 

1659 PRINT "WHICH ROOM?" 

1660 INPUT YR1 
1670 FOR 1=1 TO 3 

1680 IF YR1=R(I,YR)-(YL-1)*20 TH 
EN GOTO 1720 
1690 NEXT I 

1700 PRINT "YOU HIT A WALL" 

1710 GOTO 1650 

1720 LET YR=YR1+(YL-1)*20 

1730 GOTO 1000 

2000 LET S1=S1-1 

2005 FOR 1=1 TO 10 

2010 IF YR=S(I) THEN GOTO 2035 

2020 NEXT I 

2030 GOTO 2060 

2035 PRINT "YOU KILLED THE SPIDE 

R" 

2040 PAUSE 300 
2042 POKE 16437,255 
2045 LET S(I)=101 
2050 GOTO 800 
2060 CLS 

2070 PRINT "MAKE A LIST OF 5 ROO 
MS FOR THE ARROWS FLIGHT" 

2080 FOR 1=2 TO 6 
2090 INPUT A(I) 

2100 PRINT A(I) 

2105 LET A(I)=A(I)+(YL-1)*20 
2110 NEXT I 


2120 LET A(1)=YR 
2130 FOR 1=2 TO 6 
2140 FOR J=1 TO 3 

2150 IF A(I)=R(J,A(I-1)) THEN GO 
TO 2180 
2160 NEXT J 

2165 LET J=INT (RND*3)+1 
2170 LET A(I)=R(J,A(I-1)) 

2180 FOR J=1 TO 3 

2190 IF A(I)=W(J) THEN GOTO 2220 

2200 NEXT J 

2210 GOTO 2230 

2220 PRINT "YOU SLEW A MONZXER" 

2221 LET W(J)=101 

2222 PAUSE 300 

2223 POKE 16437,255 

2224 LET DM=DM+1 

2225 IF DM=3 THEN GOTO 2990 

2226 IF S1=0 THEN GOTO 2283 
2228 GOTO 870 

2230 IF NOT A(I)=YR THEN GOTO 22 
60 

2240 PRINT "YOU SHOT YOURSELF" 
2250 GOTO 3000 
2260 NEXT I 

2270 PRINT "YOU MISSED THE MONZX 
ER" 

2280 PAUSE 300 

2281 POKE 16437,255 

2283 IF S1=0 THEN PRINT "YOU ARE 
OUT OF ARROWS" 

2285 IF S1=0 THEN GOTO 3000 
2290 GOTO 1000 

2990 PRINT "NO MORE MONZXERS, YO 
U WIN" 

3000 PAUSE 600 
3002 POKE 16437,255 
3005 CLS 

3010 PRINT AT 10,10;"PLAY AGAIN? 

II 

3020 PAUSE 900 
3022 POKE 16437,255 
3030 LET K$=INKEY$ 

3040 IF K$*="Y" THEN GOTO 3070 
3050 IF K$="N" THEN STOP 
3060 GOTO 3020 

3070 PRINT AT 10,6;"SAME TUNNEL 
SET?" 

3080 PAUSE 900 
3085 POKE 16437,255 
3090 LET K$ = INKEY$ 

3100 IF K$="Y" THEN GOTO 525 
3110 IF K$="N" THEN GOTO 400 
3120 GOTO 3080 
Syntactic Sum: 41313, 8K 


6 



NEW 8K ROM POTPOURRI 

As you know, Sinclair’s first 
8K ROM has a few bugs. By the time 
you read this, however, Sinclair 
should have received updated, 
corrected ROMs which contain four 
primary modifications: 

1- -The INPUT routine (at 0EE9h in 
both 8K ROMs) contains a CALL 14A3h 
as the third instruction. This 
subroutine, actually part of the 
CLEAR routine, clears the memory 
area used to hold keyboard input. 

It sets the system variables STKEND 
and STKBOT equal to E-LINE, the 
pointer to the first byte of the 
input buffer. The CALL has been 
added at OEEFh (new ROM). Thus, 
all code up to this point is iden¬ 
tical in both 8K ROMs. Beyond this 
address, all code in the new ROM is 
offset by three bytes. 

2- -In the old 8K ROM, a bug in the 
PAUSE routine (at 0F32 in new ROM, 
0F2F in old ROM) caused the machine 
to crash if you didn’t POKE 16437, 
255 after PAUSEing. The offending 
instruction (at 0F3D in old ROM) 
was a SET 7,(IY+35) where IY held 
4000h. This has been replaced with 
LD (IY+35),FE. Because of the 
three bytes added to the INPUT rou¬ 
tine, the LD is at 0F40h in the new 
ROM. Now you no longer need to 
POKE 255 to 16437 every time you 
PAUSE with the new 8K ROM. 

3- -The evaluation routines are 
changed. The old code (at 102Fh in 
the new ROM) tested bit 6 of the 
system FLAGS. Originally a BIT 
instruction, it is now: 

LD A,(4001) 

CP #CO 

This change moves all code beyond 
1032h forward another byte. 

4- -The floating-point to 16-bit 
conversion routine has been 
changed. In the new ROM, three 
instructions have been deleted: 

LD A,H 

SUB L 

LD H,A 

Although I have not fully analyzed 
the new 8K ROM, I suspect that 


these three instructions, origin¬ 
ally located at I734h in the old 
ROM, are the cause of users’ 
troubles with numerical calcula¬ 
tions. The end result of this 
deletion is that all code beyond 
1737h is moved back three bytes. 

These changes result in the 
following new 8K ROM map: 

Loc. (hex) 

0000 NMI Off 

Jump to Initialization 
0008 Restarts 

0066 NMI (Slow) Handler 

007E Keyboard Decode Table 

00CC Function (Keyboard) 

Decode Table 

00F3 Graphics (Keyboard) 

Decode Table 

0111 Command (Keyboard) 

Decode Table 

01FC I/O Routines 

03A2 Initialization and 

Editing 

0562 Mode/Edit Table 

0575 List, etc. 

0C29 Command Offset Table 

0C48 Command Pointer Table 

0D16 Syntax Class Table 

0D1D class Evaluation 

Routines 

0DAB Command Handlers 

0F55 Expression Evaluator 

1263 String Slicing 

14D9 Decimal to Floating 

Point Conversion 
Routine 

158A Floating Point to 16- 

Bit Conversion 
Routine 

174C Handlers for the Four 

Basic Arithmetic 
Operators 

1923 Function Address Table 

199D Calculator 

1A45 Function Evaluation 

Routines 

1E00 Character Generator 

David Ornstein, Newton, MA 

ZX81 2K RAM UPGRADE: Blair Evans 
(Arlington, MA) told us of a 2K x 8 
RAM chip that will fit the ZX81. 
Part #6116 from Hitachi and others. 


7 


SOFTWARE REVIEW: ZETA SOFTWARE 


Here's an unusual review: a free sample. We feel that one of 
Zeta Software's best points is the thorough documentation that comes 
with each program, so with Zeta's permission we are reprinting one of 
their programs so you can see for yourself just what you get. Jon 
Bobst of Zeta customized this program, MOD Name Changer, for SYNTAX. 
It is available in his catalog (#45) in a general form. The comments 
after the semicolons are explanations of function. 

Zeta currently offers 45 4K/1K programs, including games, 
educational programs, and programs to help you learn how to use your 
computer. No listing costs over $5; most are $1. You can get 
programs on cassette for an extra $5. Programs for 8K ROM machines 
are in the works. Jon is also working on a SciFi series called 
ZetaTrek, to culminate in one mammoth 8K/16K program. For more 
information and a free catalog, contact Jon Bobst at Zeta Software, 
P.0. Box 3522, Greenville, SC, 29608-3522, 803/246-1741. 

©Zeta Software, Greenville, SC, 1981 


1 REM mm etc. ;118 shifted A's for MCPause 

2 REM hJAi’tl etc. ;71 shifted A's for MCD changer 

3 REM B ;Buffer against listing 1 or 2 


POKE 16403,3 On edit line with cursor on line 3 to bump 1 and 2 REMs 
off-s creen. 


10 POKE 16421,24 
20 FOR X=1 TO 5 
30 PRINT 
40 NEXT X 

100 FOR X=16427 TO 16445 
1 1 0 INPUT Y 
120 POKE X,Y 
1 30 PRINT PEEK(X) , 

140 NEXT X 
150 INPUT A$ 

160 FOR X=1 6446 TO 16544 
170 POKE X,PEEK(X-16116) 
180 NEXT X 


;Lie about number of free rows 
; Drop display down 5 rows 


; Manual input loop 


;Input stop to allow table check 
; Automatic input loop to complete 
; 1 REM with ROM values in 
;addresses 330-428 


GO TO 100 Enter 19 values: 


205 

51 

64 

96 

201 

205 

173 

1 

62 

0 

61 

200 

50 

52 

64 

6 

6 

16 

254 



Hit NL to continue filling in 1 REM with ROM values. Edit out lines 
150-180. 


100 FOR X=16549 TO 16619 


GO TO 100 Enter 71 values from code sheet into 2 REM. If you happen 

to hit HOME, LIST, or move cursor above line 3, move cursor 
down a few lines and POKE 16403,3 to bump 1 and 2 off 

8 


again. 

Edit out lines 100-140. 

50 PRINT "AAAsAsssAsAsssAsAAAAAssAssAsssA" ;A=shifted A, 
60 PRINT "AssssAsAssAAssAsssAsssAsAssAsA" ;s=1 space 
70 PRINT "sAssssAsssAsAsAsssAsssAAAsssA" 

80 PRINT "ssAsssAsssAssAAsssAsssAsAssAsA" 

90 PRINT "AAAsssAsssAsssAsssAsssAsAsAsssA" 


100 PRINT 

110 PRINT "AAAAAAAAAAAAAA" 

120 PRINT "MC DISPLAY BYA" 

130 PRINT " JON BOBST A" 

140 PRINT "ZETA SOFTWAREAAAAAAAA 
AAAAAAAAAAF " 

150 FOR X=1 TO 9 
160 PRINT 
170 NEXT X 

200 LET P=PEEK(16396)+PEEK(16397) 
*256+6 

210 POKE 16549 ,P- (P/256)*256 
220 POKE 16550,P/256 
300 LET D=USR(16553) 

400 STOP 


SAVE RUN 


CODE SHEET--MCD Changer 


;14 shifted A's 
;Last A is shifted 

;18 shifted A's and 1 shifted F 
; (this char, must be in display) 
;Filler loop for 24-row display 

;Address of 1st chr in display 

;Load 2 REM with that address 

;Call subroutine in 2 REM 
;Hit BREAK to exit MCD change 
loop 


ADDRESS 


+ 1 

+ 2 

+ 3 


1 6549 

0 

0 

0 

0 

;Address storage 

16553 

229 

42 

165 

64 

;Initialize subroutine 

16557 

34 

167 

64 

225 


1 6561 

229 

42 

167 

64 

;This section gets present 

16565 

35 

126 

254 

0 

;address, points to next, 

16569 

40 

27 

254 

7 

;looks in it to see what it 

16573 

32 

6 

42 

165 

;is, and changes chr 

1 6577 

64 

34 

167 

64 

;accordingly 

16581 

126 

254 

9 

40 


16585 

8 

254 

128 

32 


1 6589 

12 

54 

9 

24 


16593 

8 

54 

128 

24 


16597 

4 H 

6 

5 

16 

;Display synchronizer 

1660 1 

254 

34 

167 

64 

;Save present address 

16605 

62 

2 

50 

52 

;Load 1 REM timer with value 

16609 

64 | 

225 

205 

43 

;Call subroutine in 1 REM 

16613 

64 

124 

254 

-3 

;Test for BREAK key, RETURN 

16617 

32 

198 

_J 201 


;to BASIC if, loop back if 






; not 

NOTES: 

71 value-s into 

2 REM 

addresses 

16549-16619 


9 





■ Mathematical and scientific functions 
accurate to 8 decimal places 

■ Unique one-touch entry of key words 
like PRINT, RUN and LIST 

■ Automatic syntax error detection and 
easy editing 

■ Randomize function useful for both 
games and serious applications 

■ Built-in interface for ZX Printer 

■ IK of memory expandable to 16K 

The ZX81 is also very convenient 
to use. It hooks up to any television set 
to produce a clear 32-column by 24-line 


Warranty and Service Program** 

The Sinclair ZX81 is covered by a 
10-day money-back guarantee and a 
limited 90-day warranty that includes free 


Introducing 
the Sinclair ZX81 


If you’re ever going to buy 
a personal computer, now is the 
time to do it. 

The new Sinclair ZX81 is the 
most powerful, yet easy-to-use 
computer ever offered for anywhere 
near.the price: only $149.95* completely 
assembled. 

Don’t let the price fool you. The 
ZX81 has just about everything you 
could ask for in a personal computer. 

A breakthrough 
in personal computers 

The ZX81 is a major advance over 
the original Sinclair ZX80—the world’s 
largest selling personal computer and 
the first for under $200. 

In fact, the ZX81’s new 8K Extended 
BASIC offers features found only on com¬ 
puters costing two or three times as much. 

Just look at what you get: 

■ Continuous display, including moving 
graphics 


If you already own a ZX80 

The 8K Extended BASIC 
chip used in the ZX81 is available 
as a plug-in replacement for your 
ZX80 for only $39.95, plus shipping 
and handling—complete with new key¬ 
board overlay and the ZX81 manual. 

So in just a few minutes, with no 
special skills or tools required, you can 
upgrade your ZX80 to have all the 
powerful features of the ZX81. (You’ll 
have everything except continuous dis¬ 
play, but you can still use the PAUSE 
and SCROLL commands to get moving 
graphics.) 

With the 8K BASIC chip, your 
ZX80 will also be equipped to use the 
ZX Printer and Sinclair software. 


■ Multi-dimensional string and numerical display. And you can use a regular parts and labor through our national 


arrays 


cassette recorder to store and recall 


service-by-mail facilities. 


* Plus shipping and handling Price includes connectors programs by name. **Does not apply to ZX81 kits, 

for TV and cassette, AC adaptor, and FREE manual. 



NEW SOFTWARE:Sinclair has 
published pre-recorded pro¬ 
grams on cassettes for your 
ZX81, or ZX80 with 8K BASIC. 
We’re constantly coming out 
with new programs, so we’ll 
send you our latest software 
catalog with your computer. 


ZX PRINTER: The Sinclair ZX 
Printer will work with your ZX81, 
or ZX80 with 8K BASIC. It will 
be available in the near future 
and will cost less than $100. 


16K MEMORY MODULE: 

Like any powerful, full fledged 
computer, the ZX81 is expand¬ 
able. Sinclair’s 16K memory 
module plugs right onto the 
back of your ZX81 (or ZX80, 
with or without 8K BASIC). 
Cost is $99.95, plus shipping 


ZX81 MANUAL: The ZX81 
comes with a comprehensive 
164-page programming guide 
and operating manual de¬ 
signed for both beginners and 
experienced computer users. 
A $10.95 value, it’s yours free 
with the ZX81. 


and handling. 














Introducing 
the ZX81 kit 


CALL 800-543-3000. Ask for op¬ 
erator #509. In Ohio call 800-582-1364. 

In Canada call 513-729-4300. Ask for 
operator #509. Phones open 24 hours 
a day, 7 days a week. Have your Master- 
Card or VISA ready. 

These numbers are for orders 
only. For information, you must write to 
Sinclair Research Ltd., One Sinclair Plaza, 
Nashua, NH 03061. 


If you really want to 
save money, and you enjoy 
building electronic kits, you 
can order the ZX81 in kit form 
for the incredible price of just 
$99.95* It’s the same, full-featured 
computer, only you put it together 
yourself. We’ll send complete, easy- 
to-follow instructions on how you can 
assemble your ZX81 in just a few hours. 
All you have to supply is the soldering iron. 

How to order 

Sinclair Research is the world’s larg¬ 
est manufacturer of personal computers. 

The ZX81 represents the latest 
technology in microelectronics, and it 
picks up right where the ZX80 left off. 
Thousands are selling every week. 

We urge you to place your order 
for the new ZX81 today. The sooner you 
order, the sooner you can start enjoying 
your own computer. 

To order, simply call our toll free 
number, and use your MasterCard or VISA. 
To order by mail, please use the 
, coupon. And send your check or money 
order. We regret that we cannot accept 
purchase orders or C.O.DIs. 


iinczlaii - 















DEAR EDITOR: 


The ZX-Microfair in London on 
September 26 brought out over 5000 
attendees. Many die-hards stood in 
the London drizzle for 2 hours. 

Inside about 50 stands dealt 
with ZX80 systems--lots of books 
and magazines, hardware add-ons and 
games. At least 3 chess programs 
are running. I expect the best to 
be from ARTIC Computing, 396 James 
Reckitt Ave., Hull, UK, £10. 

The Microfair also launched my 
new book, Understanding the ZX81 
ROM. It teaches the elements of 
Z80 machine code language program¬ 
ming through the 8K ROM program. 

It applies generally to the 8K ROM, 
so it's just as good for 8K ZX80s 
as ZX81s. The floating point 
routines are not discussed. The 
book retails in the UK for £8.95 + 
50p postage. Melbourne House will 
surely advertise it, but I could 
supply copies to SYNTAX readers at 
$22 per copy, including airmail, 2 
1/2 week delivery. 

Ian Logan, 24 Nurses Ln, Skelling- 
thorpe, Lincoln, UK LN6 0TT 


Last week my MicroAce 8K ROM 
finally arrived (after 2 months). 

It has the same bug that Sinclair's 
had trouble with. I wrote MicroAce 
about this, but thought I should 
inform SYNTAX readers. Is MicroAce 
going to make good on this? 

In June's SYNTAX you quote 
David Ornstein as saying the ZX80 
can accommodate 48K external RAM. 
This agrees with the reverse of the 
ZX80 schematic, but disagrees with 
Video Display Notes (p.8) and 
Beginners' ROM and RAM Addresses 
(p.15, both May 81) and my own 
experiences in trying to decode 
address 15 for memory expansion. 
This won't work without internal 
hardware changes (ROM decoding). 

I'm not sure how. to do this without 
more info on the.display routine. 

John L. Oliger, Indianapolis, IN 


Kevin Hawkins, MicroAce's new mana¬ 
ger, Santa Ana, CA, says he doubts 
that MicroAce will replace their 
faulty ROMs. If they did, new ROMs 
would not be ready until July or 
August of 1982 because of the time 
needed to make semiconductor 
components. And Sinclair may try 
to keep MicroAce from selling any 
8K ROMs, bugs or no bugs. The 
legal situation should shake out in 
a few weeks, according to Kevin. 

Ornstein verifies the need to 
add ROM decoding. On a ZX80, gen¬ 
erate a signal to go low when A13, 
A14 & A15 are low and substitute it 
for A14' at the input (pin 13) of 
IC13. Remember to pull NOT RAM CS 
to +5V at the edge connector. 

On the ZX81, pin 23B of the 
edge connector is NOT ROM CS. Use 
it to externally decode ROM by 
pulling 23B to +5V except when you 
want to select R0M.--K0 


I've had a 3K MicroAce since 
last January. My only problem is 
that the voltage regulator gets hot 
and the CPU goes ape. I mounted 
the unit under the printed circuit 
board of a Jameco Electronics JE 
610 keyboard, parallel wiring the 
keys and cutting PCB traces where 
necessary to disable the sockets 
set up for ICs on an ASCII basis. 

I also moved the voltage regulator 
as far away from the CPU as 
possible. Now it works well. 

Bill Harral, San Pablo, CA 


Will the 8K floating point let 
you use numbers larger than 32767? 
Can it be used with the additional 
16K memory expansion? 

Charles N. Ryan, Sao Paulo, Brazil 

You can use numbers up to 65535 on 
the 8K ROM before you get subscript 
out of range err#r. Arithmetic 
overflow errors do not occur until 
the number calculated exceeds about 
10^°. The 8K ROM plus the 16K RAM 
make a powerful larger system.--AZ 

12 





ZX81--THE NEW STANDARD 

While other manufacturers 
lower the prices on machines that 
won't sell, Clive Sinclair uses 
technology to give more for less. 
For only $149, you now get 8K 
BASIC, continuous display, the 
choice of channel 2 or 3 and a 
newly styled case. 

If you just want a computer to 
use, the smaller ZX81 addresses 
some user problems. The 8K ROM 
bugs are fixed. Also, the dual¬ 
channel (2 & 3) modulator avoids 
problems near TV transmitters since 
you can switch to the unused band. 
You get less screen interference 
because the new case provides over¬ 
lapping metallization for better 
shielding. You'll find new key 
names, too: Rubout becomes Delete 
and Newline becomes Enter. I like 
the new keyboard feel--soft with a 
longer travel than the ZX80. 

Hardware hackers will enjoy 
the fully socketed ICs and the five 
SCREWS that hold the case together. 
(Three are hidden beneath the feet, 
which attach with double-sided 
tape.) Inside, you'll find 28-pin 
sockets on both RAM and ROM. This 
allows plug-in upgrade to 2K memory 
using the 4816 chip and changing 
one jumper. The keyboard attaches 
with 8- & 5-pin CONNECTORS. Also, 
pin 23B of the connector now 
carries the NOT ROM CS line so you 
can add external ROM select. 

While continuous display is 
nice, you'll really like having a 
choice of FAST or SLOW mode. You 
may be surprised to learn how much 
you depended on screen-flicker as a 
typing clue. (I use FAST--with 
flicker--to type in programs, the 
SLOW--no flicker--to run them.) 

Problems remaining from the 
ZX80: partial address decoding for 

memory and port locations, non¬ 
standard edge connectors, and no 
direct video output. 

All told, ZX81 represents an 
improvement on the 8K ZX80 at a 
substantially lower price.--K0 


Z 

4 


z 

c 

z 

Z 

z 

z 

z 

z 

z 

c 

z 

z 

z 

z 

z 

z 

z 

z 

z 

z 

z 

z 

z 


FIND CLEAN TAPE ON 8K 

Quickly find the unused 
section of tape for SAVEing 8K 
programs on multi-program tapes on 
any RAM size. Enter this program 
arter the last one saved: 

5 REM "FRESH" 

SAVE "FRESH" 

Next time, rewind the tape, type 
LOAD "FRESH" and play. 

When the screen displays code 
0/0, stop the tape. Rewind just 
enough so that you can save the new 
program over and erase FRESH. SAVE 
a new FRESH program at the end. 

John Andrews, San Jose, CA 
ZX81 AND 16K RAM SCHEMATICS 

A new company, Heuristics, is 
the exclusive distributor of ZX81 A 
16K RAM pack schematics. They also 
plan ZX81 hardware and software. 

For info and a free catalog, write 
David Ornstein, Heuristics, 25 
Shute Path, Newton, MA, 02159. 


ZZZZZZZZZZZZZZZZZZ 

~^>t t 

45 TITLES 4? 

(in stock - 4K ROM) 

For 1K-RAM ZX80s ^ ° 

in BASIC & Machine Code 



YOUR choice :user-entry listings 
(All <=$5) :tape AND listings 

WRITE for free catalog: ~ 

ZETA Software SX1 L 
P.O.Box 3522 

Greenville, SC 29608-3522 
In Europe, include $1 bill or DM2 
stamp to: 

DELTASOFT SX1 
Osterfeldstr. 79d 
D-2000 Hamburg 54 Germany 

zzzzzzzzzzzzzzzzzz 

zzzzzzzzzzzzzzzzzz 

COMING SOON...8K/16K adventures & 
scientific programs! 

uuuuuuu uu 


13 


BOOK REVIEW: THE ZX81 COMPANION 

Title: The ZX81 Companion 

By: Bob Maunder 

From: LINSAC, 68 Barker Road, 

Middlesborough, TS5 5ES UK 
Price: £7.95 (about $16.00) 

Bob Maunder's new book is very 
different from The ZX80 Companion. 
It aims to appeal to every ZX81 
owner, but more to "students" of 
computing whether at home or at 
school. 

Bob Maunder is the head of the 
computing department at Hartlepool 
College. His work there with the 
ZX80 and ZX81 has led him to 
concentrate his writing on the ZX81 
in the education field. 

The book is divided into four 
sections: 

Chapter 1--Graphics and Realtime 
Techniques. A good chapter that 
goes into the use of ZX81 graphics 
to quite an advanced stage. You 
are shown how to draw lines, 
circles and curves. Several good 
games contain many useful ideas. 
Chapter 2--Information Processing. 

In this 31-page chapter, Maunder 
tried to show just how much busi¬ 
ness computing can be performed 
with a 16K ZX81. He develops a 
very complicated BASIC membership 
program stage by stage. The final fc 
program enables a membership secre¬ 
tary to hold 80 records of 102 
bytes each, allowing him to access 
80 names, addresses and "interests" 
in several ways. Overall this 
program is successful, but I feel 
that the chapter's main advantage 
is in introducing you to such 
advanced BASIC lines as: 

5490 LET R$(RN,66 TO 73)=P$ 
which is daunting to beginners. 
Chapter 3--Education. This chapter 
primarily discusses writing "like¬ 
able" programs. Several more game 
programs here are all interesting 
but not very advanced. Generally, 
this chapter isn't very successful. 
Chapter 4--The Monitor. To widen 
the book's appeal, Maunder included 


7 pages of text about the 8K moni¬ 
tor. In such a small section, 
however, he does little but intro¬ 
duce the subject. He explains 
hexadecimal arithmetic and gives a 
hex display program with a large 
character program. A list of 8K 
ROM entry points is also given 
(supplied by myself). Overall, 
there is enough to give a modest 
introduction to anyone who wants to 
find out just what is in the ZX81's 
monitor program. A further 11 
pages disassembles the first half 
of the monitor program. This 
listing is not annotated, and the 
book's first printing contains a 
few disassembly errors. 

The book will certainly do 
well. It gives any ZX81 owner 
plenty to work at. As a book, its 
overall balance is very good. 

Ian Losan, Skellingthorpe, UK 

Team 4 in the UK seem to know how 
to load old programs with new ROMs, 
via software. We'll track it down. 


MX16-16K RAM 

FOR USE WITH THE 
SINCLAIR ZX80® 


RAM MODULE 
AND 

POWER SUPPLY 

$89.95 PLUS 

$3.00 SHIPPING 
AND HANDLING 


INSIGHT 

1889 LEWIS DRIVE 
NILES, MICHIGAN 49120 
616-684-7868 

M. C. / CHECK/M.O./V ISA/C.O.D. 



14 





8K/1K DIGITAL CLOCK 


This program operates as a 
digital clock, showing A.M. or P.M. 
and changing at 12:00. To start 
the clock, run the program, enter 
A.M. or P.M. and enter the current 
time as a 3 or 4 digit number. For 
example, type 216 for 2:16 or 1005 
for 10:05. 

While the clock is running, 
you can move it back 1 minute by 
pressing the J key and up 1 minute 
by pressing the K key. Pressing D 
or F, the SLOW and FAST keys, will 
cause the clock to run slower or 
faster by l/60th second per minute. 

If you are fascinated enough 
to keep it running for days and 
make fast and slow adjustments, you 
may find Jaat P differs from 3572. 
Type PRINT P to see its new value' 
and change line 70. 

Byte savers: Line 10, use 
shift W for OR. Line 30, key INPUT 
first, then cursor left and key 
PRINT, use shift W for OR. 

R.F. Fraser-Smith, Chicago, IL 

10 PRINT "A.M. OR P.M." 

20 INPUT M$ 

30 PRINT " INPUT TIME IN FORM 
352 OR 1107" 

40 INPUT T 

50 LET H=INT (T/100) 

60 LET M=T-H*100 
70 LET P=3572 
80 CLS 
90 GOTO 200 
100 LET M=M+1 

110 IF INKEY$="F" THEN LET P=P- 

1 

120 IF INKEY$="D" THEN LET P=P+ 

1 

130 IF INKEY$="J" THEN LET M=M- 

2 

140 IF M=60 THEN LET H=H+1 
150 IF M=6 0 THEN LET M=0 
160 'IF H=13 THEN LET H=1 
170 LET C$=M$ 

180 IF H=12 AND M=1 AND C$="A.M 
. " THEN LET M$ = "P.M." 

190 IF H=12 AND M=1 AND C$="P.M 
. " THEN LET M$ = "A.M." 


200 PRINT AT 21,18;H;".";M;" " • 

M$ ; " 

210 PAUSE P 

220 POKE 16437,255 

230 GOTO 100 

Syntactic Sum: 30942, 8K 
DEAR SINCLAIR RESEARCH 

Here are 2 sides of a story we 
hear occasionally--owners' problems 
with the ZX80's reliability and 
technical support. This letter, 
edited for space, was sent to 
Sinclair. The reply was addressed 
to SYNTAX.--AZ 

It is with great displeasure 
that I am returning my Sinclair 
ZX80. I awaited the ZX80 1 s release 
for several years, confident that I 
would see another marvelous example 
of the synthesis of economy and 
power that have been the hallmarks 
of the Sinclair name. I must admit 
that I have been shown a computer 
with tremendous power and poten¬ 
tial. But I have also been sub¬ 
jected to shoddy quality control 
and indifferent customer support. 

Since I received my ZX80 in 
April, I have returned it twice for 
replacement (apparently Sinclair 
does not think it is worth repair¬ 
ing) > had my 16K RAM module fail 
twice, and had fatal errors in the 
8K BASIC B£)M. The hardware fail¬ 
ures were the direct result of 
being penny wise and pound foolish. 

I called Sinclair on numerous occa¬ 
sions and wrote twelve letters. My 
phone calls were futile. Sinclair 
answered 3 of my letters. The 
replies only proved my letters were 
not read. This disease--indiffer- 
ence--is destroying the customer 
support of many businesses. 

I am, needless to say, bitter 
about my experience with Sinclair 
Research and suggest that you deal 
with these problems if you intend 
to stay in the personal computer 
field. 


15 


Lew Merrick, Lynnwood, WA 



JRS SOFTWARE 

19 WAYSIDE AVENUE, WORTHING, SUSSEX, BN13 3JU 
TELEPHONE WORTHING 65691 (Evenings and Weekends only) 


ZX80 PROGRAMMABLE MOVING DISPLAY 

(4K ROM only) 

Yes! This really is a genuine moving display, not 
another pause routine. If you want moving, flicker 
free displays I and who doesn't I then this is the 
program for you. The secret lies in the ZX80's ability 
to keep the display on your screen without the need 
to use all of the time available to it. Normally the 
ZX80 would be doing nothing during this spare time 
but the programmable moving display cleverly 
interupts to process your own instructions written in the simple but highly 
effective JRS numeric code. Great care has been taken so that the processing of 
your codes can always be interupted to return to the display routine at the 
precise microsecond that is required to ensure that your T V. picture remains 
completely rock-steady. 

Normally a true moving display on a ZX80 would take weeks to write and you 
would need to be an expert at machine-code programming. Now, at last, this 
program offers you the ability to write your own true moving displays in under an 
hour with no machine-code experience required whatsoever. 

Cassette with Ik, 2k versions and 3 example programs plus FULL documentation 

£4.95 

* Awarded top place in ZX80 software review * in YOUR COMPUTER' 

October 1981 issue 


NEW - An ESSENTIAL addition to your IK RAM ZX81 (or ZX80 8K ROM) 

afrMHOa (written by PAUL HOLMES) 

Provides the following additional facilities:- 

Line renumber — you state starting number and increment value. 

Search and replace — changes every occurence of a character as you require. 
Free space —tells you how many free bytes you have left 

SPECIAL GRAPHICS ROUTINES 

Hyper graphics mode — graphics never seen on a ZX81 before. 

Open — instantly sets up as many empty print lines as you require. 

Fill — used in conjunction with OPEN fills your screen instantly with your 
specified character 

Reverse — changes each character on your screen to its inverse video. 

TAPE ROUTINE - provides a system WAIT condition until a signal is received in 
the cassette ear jack — many uses ! 

All these routines are written in machine code and together take up only 
164 BYTES of your precious RAM - an incredible achievement!! 

The price is incredible too! ONLY £3.96 for cassette, including FULL instructions 
and example programs. 

ALSO available 16K version ONLY £4.95 which includes all the above PLUS: 
GOTO's and GOSUB's included in line renumber. 

Search for and list every line containing specified character. 


ZX81 2K programs SLALOM and BLACK HOLES now available as listings only £1.25 each, £2 for both. 


OVERSEAS CUSTOMERS Payment must be made in Sterling by International Money Order (available 
PLEASE NOTE at your hank) Please add 50 pence to cover overseas postage. 


Nigel Searle of Sinclair replies: 

Mr. Merrick did not get an 
individual reply to a letter 
requesting technical information. 

It is unfortunately the case that 
when we sell a product for as 
little as $100 that we are unable 
to offer a great deal of technical 
support. We give a very substan¬ 
tial amount of information in our 
advertisements and are content for 
people to make up their minds based 
on that information whether to 
purchase our product or not. The 
computers come with a substantial 
operating manual and mail order 
customers may return the unit and 
receive a full refund if they are 
dissatisfied with the documentation 
provided or for any other reason. 

If we answered specifically 
all individual questions we receive 
by telephone and letter from owners 
of our computers, we would certain¬ 
ly either go out of business or 
have to raise our prices very 

16 


substantially. I believe we have 
the right to determine the level of 
technical support we are willing to 
give our product. We do fully 
accept the obligation to live up to 
any promises in our advertising 
about our money-back offer to mail 
order customers and our 90-day 
repair or replacement policy. 

Mr. Merrick says his 8K ROM 
contains faults and we told him 
nothing about how we are going to 
fix it. You know that this is not 
true. We have made perfectly clear 
to anyone who has asked that we 
will replace faulty 8K ROMs at no 
charge. 

Mr. Merrick complains that his 
ZX80 and 16K RAM have had to be 
replaced a total of 3 times between 
them. He remarks that his ZX80 was 
replaced with a new unit when it 
was returned. Obviously, if we had 
to replace every ZX80 owner's 
computer with 2 new computers, we 
would not stay in business very 
long. We have sold almost 50,000 
computers in the United States 
alone. Even assuming that only 27 0 
of our computer fail in use, simple 
mathematics tell us that there are 
regrettably no fewer than 20 people 
who have had to be sent 2 replace¬ 
ments for their original machine. 
Obviously this is of little conso¬ 
lation to those affected, but is 
the inevitable result of large unit 
sales and a rton-zero failure rate. 

Nigel Searle, Sinclair Research 
IMPROVED 4K SINE CALCULATION 

Use these lines in 4K programs 
requiring sines between 0 and 90 
degrees. X is the angle; S is its 
sine. This equation produces error 
less than 2E-03. 

LET S=(179*X-( (( (251*X)/1 00)*X) 
/10) - ( ( ( ( ( (56*X)/20)*X)/100)*X)/ 

5) ) / 1 0 

IF X> 3t AND X<6 5 THEN LET S-S + 2 

PRINT "SIN ";X;" DEG- ";S; " E-03" 


-*f -3* ate 



Brian O'Brien, Weston, MA 



4K/1K REVERSE 


The object of this game, 
rewritten from one published by 
Creative Computing, is to get the 
numbers in ascending order from 
left to right. When the computer 
asks for number to reverse, enter 
how many numbers from left to right 
you wish to reverse. For example: 
YOUR LIST IS NOW: 

234516789 
Reversing 4 numbers gives you: 

543216789 
Now reversing 5 numbers will win: 
123456789 

Line 30 sets N=9. The 
computer accepts only numbers 
between 0 and N. To change the 
length of the list, change N in¬ 
line 30. If you enter 0 the 
computer sets up a new list (line 
250). You can change line 250 to 
250 IF R=0 THEN STOP so entering 0 
ends the program. 

Bill Eckel, Omaha, NE 

30 LET N=9 
40 DIM A(N) 

50 LET T=0 

100 LET A(1)=RND(N—1)+1 
110 FOR K=2 TO N 
120 LET A(K)=RND(N) 

130 FOR J=1 TO K-1 

140 IF A(K)=A(J) THEN GO TO 120 

150 NEXT J 

160 NEXT K 

210 GO SUB 600 

220 PRINT 

230 PRINT "NO. TO REVERSE" 

240 INPUT R 

250 IF R=0 THEN GO TO 50 

260 IF R=N OR R<N THEN GO TO 30 

0 

265 PRINT 

270 PRINT "OOPS TOO MANY" 

280 GO TO 240 
300 LET T=T+1 
310 FOR K=1 TO R/2 
320 LET Z=A(K) 

330 LET A(K)=A(R~K+1) 

340 LET A(R-K+1)=Z 
350 NEXT K 
360 GO SUB 600 


400 FOR K=1 TO N 

410 IF NOT A(K)=K THEN GO TO 22 

0 

420 NEXT K 
500 PRINT 
505 PRINT 

510 PRINT "YOU WON IN ";T;" MOV 
ES" 

520 PRINT 

5 30 PRINT "TRY AGAIN? (Y OR N) " 

540 INPUT A$ 

550 IF A$="Y" THEN GO TO 50 

555 PRINT 

560 PRINT 

565 PRINT 

568 PRINT 

570 PRINT ,"OK HOPE YOU HAD FUN 

580 STOP 
600 CLS 
605 PRINT 

610 PRINT ,"REVERSE" 

620 PRINT 
630 PRINT 

640 PRINT "YOUR LIST IS NOW:" 

650 PRINT 
660 PRINT 
670 FOR K=1 TO N 
680 PRINT " ";A(K); 

690 NEXT K 
700 PRINT 
705 PRINT 
710 RETURN 

Syntactic Sum: -1 3568,- 4K 

CHANGES TO RUN REVERSE ON 8K ROM 

Reverse will not fit in IK RAM 
on an 8K machine. With larger RAM 
sizes, change these lines: 

100 LET A(1)=INT (RND*10) 

120 LET A(K)=INT (RND*10) 

260 IF R<=N THEN GOTO 300 
310 FOR K=1 TO INT R/2 
You can also change the many empty 
PRINT lines (used in 4K machines to 
arrange the display) to fewer PRINT 
AT statements. To avoid getting 0 
in your list, add: 

105 J.F A ( 1) =0 THEN GOTO 100 
125 IF A(K)= 0 THEN GOTO 120 
To run in 8K with only IK of RAM, 
try deleting the empty PRINT 
statements and "user-friendly" 
lines (like 520-570).--AZ 
17 



BEGINNERS’ COLUMN: REM REVISITED 

In January we saw that REM 
statements in BASIC are used to 
insert comments, or REMarks for the 
programmer's benefit. The computer 
ignores anything in a REM statement 
when running the program. 

Why, then, do some BASIC pro¬ 
grams contain a REM statement at 
the beginning followed by garbage? 
This REM statement differs from one 
holding remarks; it holds machine 
language (ML) in a BASIC program. 
This method allows you to save and 
load ML programs. When you see a 
REM statement at the beginning of a 
BASIC program with nonsense after 
it, it's part of a ML program. 

As we saw in the Jun.81 column 
on PEEK and POKE commands, you can 
direct the computer to put a number 
at a specified address, or RAM 


location. (RAM is random-access 
memory, or where the computer 
stores what you type in.) 

ML programmers POKE machine 
code into REM statements. This way 
they can use a single line rather 
than separate POKE lines. You can 
POKE the numbers that comprise a ML 
program (see Beginners' Loading ML 
Programs, Aug.81). A USR call (a 
line using the BASIC command USR) 
tells the computer to go to the 
specified address and execute what 
it finds there. The ML programmer 
knows the location of the ML pro¬ 
gram and uses the USR call to send 
the computer there. Here's how to 
figure out the first address: 

All BASIC programs start at a 
fixed address--16424 in a 4K ROM 
ZX80 (p.123 of ZX80 manual) and 
16509 in an 8K ROM machine (p.171 
of Sinclair 8K manual). Each line 


THE ZX80 BOOKSHELF LIBRARY OF CASSETTES 


This attractive bookshelf folder (blue vinyl exterior, black interior) 
contains a library of six Lamo-Lem 4K ROM cassettes, each held 
firmly within a slot in the folder. Cassettes snap in and out with fin- 
ger pressure. The 9% by 9V4 by 3 /4*’folder stores your library of 
cassettes easily and compactly on a bookshelf. It includes the fol¬ 
lowing cassette packages: 


THE ZX80 HOME COMPUTER 

Etch-A-Screen 
Electronic Billboard 
Composer 
Calculator 

Checkbook Balancer 

THE CHEST OF CLASSICS 

Lunar Lander 

K-Trek 

Life 

Mindmaster 

ANIGHT IN LAS VEGAS 

Blackjack 

Roulette 

Craps 

Slot machine 



THE ZX80 BOOKSHELF CASSETTE LIBRARY — Six cassettes of 
computer programs in a bookshelf folder with dozens of manuals, 
reference cards , and full-color keyboard over^ys. Also, many addi¬ 
tional sheets, forms, and accessories, including a pad of coding 
sheets. For all 4K ROM ZX80 and MicroAce computers. 


THE ZX80 BUSINESS PACKAGE 

Search & Save 

VideoComp-4 

VideoGraph 

ZX80 IK DISASSEMBLER 

Disassembler Program 
Memory Test 


SUPERZ 

(Adds 7 new BASIC statements) 
The Super Z Program 
A Super Z Module 
A Super Z Demonstration 


$59.95 

postpaid. 


LAMO-LEM LABS, CODE Ill, BOX 2382, LA JOLLA, CA 92038 


18 







number, regardless of the number of 
digits, uses 2 bytes in the 4K 
machine and 4 bytes in the 8K 
machine. Each byte occupies 1 
memory location. 

Each keystroke after the line 
number uses exactly 1 byte. So REM 
is stored in address 16426 when it 
is the first word of the first line 
of a 4K machine and 16513 on an 8K 
machine. The first ML command will 
be in the byte after REM. 


OUR POLICY ON CONTRIBUTED MATERIAL 

SYNTAX ZX80 invites you to express opinions related to the ZX80 and the 
newsletter. We will print, as space allows, letters discussing items of general interest. 
Of course, we reserve the right to edit letters to a suitable length and to refuse 
publication of any material. 

We welcome program listings for all levels of expertise. Programs can be for 
any fun or useful purpose. We will test run each one before publishing it, but we 
will not debug programs; please send only workable listings. 

In return for your listing, we will pay you a token fee of $2.00 per program we 
use. This payment gives us the nonexclusive right to use that program in any form, 
world-wide. This means you can still use it, sell it, or give it away, and so can we. 

We will consider submissions of news and hardware or software reviews. Please 
keep articles short (350-400 words). Again, we reserve the right to edit accepted 
articles to a suitable length. We will pay 7 cents per 6 characters, including spaces 
and punctuation, for accepted articles. 

When you send in programs for possible publication in SYNTAX, please 
include the following information: 

• How to operate the program, including what to input if it does not contain 
prompts. 

• Whether you can run the program over again and how. 

• How to exit the program. 

• The Syntactic Sum (using the Syntactic Sum program in the February, 1981, 
issue). 

• Whether it fits in IK or 2K RAM (or 16K when available). 

• Whether it uses the 4K or 8K ROM. 

We pay for this explanatory text at the same rate as for articles in addition to 
payment for the program itself. 

If you want us to return your original program listing or article, please include 
a self-addressed, stamped envelope. Otherwise, we cannot return submitted material. 


CLASSIFIED ADS 


Got something to sell or swap? Or 
are you looking for something 
special? Use SYNTAX classifieds. 
Reach thousands of other readers 
for just $2.75 per line (4 line 
min.). Send your ad, typed 35 
characters per line, with payment 
by 15th of any month for next 
month’s issue to Classified Ads, 
SYNTAX, RD 2 Box 457 Bolton Rd, 
Harvard, MA, 01451. 

D<$cD fans will love Solo Dungeons on 
IK ZX80. For tape and instructions 
send $5.50 to: The Hafling Box 454 
Hallsville Texas 75650 2-3wks delv. 

For Sale: ZX-80 (4K ROM IK RAM) 
Learning Lab book and tapes and 
back issuer of SYNC and SYNTAX. 

All for $175. Call A1,201-666-3632. 

7 QUALITY GAMES ON CASSETTE--$8.95 
Mastermind (Play any difficulty up 
to 6 out of 9), Doublemind, Slot 
Machine, Craps, Tic Tac Toe (Chal¬ 
lenge the computer), Sub Rescue, 
White Hot Number (Pit your score 
against the computer's). All run 
in 4K ROM/IK RAM. NEW ENGLAND SOFT¬ 
WARE, Box 691, Hyannis, MA 02601. 


SYNTAX ZX80 is published 

monthly by a wholly-owned 
subsidiary of The Harvard Group. 

Syntax ZX80, Inc. 

RD 2, Box 457, Harvard, MA 01451. 
Telephone 617/456-3661. 

12 issues, $29. Single issue, $4. 

Publisher: Kirtland H. Olson 
Editor: Ann L. Zevnik 

Printed by Joseph E. Marhefka, Jr. 

Clinton Offset Printers 
Clinton, MA 01510 

© Syntax ZX80, Inc., 1981. All 
rights reserved. Photocopying 
prohibited. ISSN 0273-2696 


YES! Please send me 12 issues of SYNTAX for $29. 

□ My check for $29 is enclosed. □ Please charge my □ MasterCard 
Make checks payable to: □ VISA □ American Express 

SYNTAX ZX80, INC. □ Diner’s Club account. 

account number_ _ 

exp. date_bank number (MC only)_ 

signature_ 

Name_Title_ 

Organization ___ 

Address_ 

City_State__Zip 

Day Phone_(_ } _Evening Phone 1 ) 

ZX81-1 

I own a □ Sinclair ZX80 □ Sinclair ZX81 Telephone orders call 

□ Micro Ace computer. 617-456-3661 


19 







Programs-games & utility. Also 
tech data, mods, plans, info,etc. 
Send SASE for free goodies list 
P.0. Box 3073 San Jose, CA 95156 

ZX80/81 "Record"--at last a tape 
record system! Save, load or enter 
new 96 byte records. Ideal for 
addresses, etc. Listing for all IK 
machines (4K/8K ROM) $7. 
"Directory"--a simple program to 
read tapes and display program 
names. Listing (8K ROM) $5. Logan 
Software, 24 Nurses Ln, Skelling- 
thorpe, Lincoln, LN6 OTT, UK 

From the SYNTAX bookshelf: Crash 
Course in Microcomputers, $17.50 
plus $1.50 shipping. Zilog Z80-Z80A 
CPU Technical Manual, $7.50, Z80- 
Assembly Language Programming 
Manual, $15 (add 57> for postage and 
handling). Sinclair's 4K ROM 
listing with original designer's 
comments, $40 inc. shipping. 

SYNTAX Vol. 1 (Nov/Dec.80) $5. 

Other back issues, $4 each. Send 
check or credit card no. to SYNTAX, 
RD 2 Box 457, Bolton Rd., Harvard, 
MA, 01451 or call 617/456-3661. 

ZX80, SYNC + SYNTAX, back issues, 
Learn Lab Books, Tapes. Used 5 
mins. Novice too confused. $160. 
John C/Gail 503/469-5331 days. 



H\RV\RD 

GROLP 


Bolton Road, Harvard, Mass. 01451 



Games for the ZX80 - 16K RAM/4K ROM 
ZX80-Trek -- 5 levels of difficulty 
with 20 battle command options. 
Cribbage -- play cribbage with the 
ZX80 as your challenging opponent. 
Tank Battle -- destroy the ZX80's 
tank before it destroys yours. 

Instructions+listing- $9.95 ea game 
Above + on cassette- $14.95 ea game 
A.Nisbet, 6 Moffatt Court, Rexdale, 
Ontario, Canada, M9V 4E1. 

Sinclair still has some used ZX80s 
available for $49.95. These units 
are sold "as is". You get a com¬ 
plete (but not necessarily working) 
ZX80 with case and instruction 
manual. At least the major ICs will 
be socketed. If you need an extra 
computer for spare parts or just 
want to tinker with one, send your 
order--with check or money order 
only--to Sinclair Research Ltd., 50 

Staniford St., Boston, MA, 02114. 

« 

FOR SALE: ZX80 (8K ROM/IK RAM) 

Super ZX80 Invasion Game & 4K ROM, 
Sinclair Manual, all for only $110 
Call Joe 201-772-0976 after 7pm. 

ZX80 and MicroAce users often call 
us looking for users' groups in 
their areas. Send us information 
about your users' group and we'll 
make your whereabouts known. 


First Class