Skip to main content

Full text of "Syntax Magazine"

See other formats


SYNTAX ZX8U 

A PUBLICATION OF THE HARVARD GROUP 


VOL. 3 NO.6 ISSN 0273-2696 JUN.,1982 


IN THIS ISSUE 


SINCLAIR DROPS US ZX PRICES AS OF 1 JUNE 


8K Programs 

Annuity.17 

Line Renumbering.4 


Loading Hex Listings.18 
Screen Background....20 
Book Review 

ZX81 Programming for 


Real Applications.8 

Classified Ads.20 

Dear Editor.12 

Expanding 16K Programs.15 
Hardware Preview 

RD8100 & Modules.16 

Hardware Project 
Adding a Joystick 

to ZX80/81.10 

Numbers Held Inexactly.19 
Machine Language 

Exchanging Registers..9 


News, New Products .... 1,2 
Package from England....6 


Program Corrections 

and Improvements.2 

Report from 3rd 

ZX Microfair.11 

Software Review 

Adventure A.17 

Users' Groups.13 

Index of Advertisers 

Bani-Tech.15 

CAI Instruments.7 

Kopak Creations.9 

Lamo-Lem Labs.14 

LJH Enterprises.10 

Memotech Corp.3 

S&S Co.18 

Softsync, Inc.8 

Zeta Software.5 

SYNTAX Subscription 

Information.23 


Sinclair Research lowers the prices 
on their ZX products in the US 1 June 1982, 
according to Margaret Bruzelius of Sinclair. 
New prices: Assembled ZX81, $99.95; ZX81 
kit, $79.95; 16K RAM pack, $49.95. 

ZX81 owners will receive a new software 
brochure this month. ZX80 owners should 
write to receive a copy. 

SPECTRUM SHOWN AT LONDON ZX FAIR 

SYNTAX editors saw Sinclair's Spectrum 
at the 3rd ZX Microfair in London (see May 
82). Don't bother writing to friends in 
England to get one early—Nigel Searle of 
Sinclair says that the Spectrum now works 
only with British 50 Hz TVs. But he also 
suggested that the Spectrum's•Dec.82 arrival 
announced in SYNTAX may well be earlier. 

NEW PRICES FROM CAI 

CAI Instruments of Midland, MI, 
announced new prices for their ZX peripher¬ 
als. The thermal printer is now $119.95. 

The CAI/O board, formerly the Widget, is 
$79.95 alone and $69.95 with any other CAI 
device. The tape drive system is $99.95. 

Bob Swann of CAI says all products are now 
available for 30-day delivery. CAI also 
offers a free software catalog. CAI Instru¬ 
ments, 2559 Arbutus Ct., Midland, MI 48640, 
517/835-6145. 

BYTE-BACK MODEM SHIPMENTS DELAYED 

Byte-Back of Leesville, SC, will ship no 
modems for 4-6 weeks, according to Helen 
Minchey of Byte-Back. They are shipping 
memories. The modem is $99.95 and includes 
RS-232 port and software. Byte-Back, Rt.3 
Box 147, Brodie Rd., Leesville, SC 29070, 
803/532-5812. 


1 

























SYNTAX ERRORS: Using Program 1 in 
Frank O’Hara's Numbers Held 
Inexactly, Apr.82, 1E13 gives 172 
17 132 231 42. 


PROGRAM IMPROVEMENTS 


Marty Irons of Goshen, NY, 
sent this version of Herb Magnus' 
READ-DATA-RESTORE (Apr.82). It 
loads an array from a literal 
string, including decimal places 
and multipliers. Line 30 sets the 
decimal point. Use P=0 for inte¬ 
gers, P=2 for two decimal places. 
P=-3 multiplies the value by 10 . 
Line 10 sets the numbers of entries 
in array D. Line 40 sets the char¬ 
acters/number. Line 50 holds data. 
Line 75 prints results. If A$ is 
too short for the READ routine (60- 
80), error code 3 results. 


10 LET E = 10 
£© DIM D (E'f 
30 LET P = £ 

4-0 LET L = 3 
50 LET R$=“ 1234567890123455789 
01234.587890** 

60 FOR 1 TO E 

70 LET D (N) = CURL ifiS CH*L~L + i T 
O N *L) 1© > 

75 PRINT “E N; **)**, “ = 

80 NEXT N 

syntactic sum: 9309, sk 


Frank O'Hara of Surrey, UK 
sent a 16K version of Bill Wentz' 
Flower Plot (Apr.82). Load points 
into an array in FAST, then go to 
SLOW for a moving display, which 
repeats after a flicker-free pause. 
This method works for all such dis¬ 
plays. For N=99 and 999, try 301 
for 601 in line 78. 

5 REM HOTHOUSE PLOT (16K) 

6 FRST 

7 DIM X(601) 

8 DIM Y (6SI) 

IS LET N=4-56 

20 LET D=2iPI/6S3 

38 LET P-20 

4-© FOR I=© TO 500 

5© LET T=D*I 

55 LET R=PS5IM (N*TJ 

6© LET X(1+1)=R*COS T+31 

-7© LET Y(I + 1) =R)tSIN T +21 

73 NEXT I 

74. SLOU 

76 CLS 

78 FOR 1=1 TO 60-1 
S© PLOT XCI) .Yd) 

9© NEXT I 

1@0 FOR 1=1 TO 1©0 
IX© NEXT I 
120 GOTO 76 

SYNTACTIC SUM: 19308 .. 8K 


Bill Bruton cf N.Olmstead, OH, 
sent these changes to Lane Lester's 
Income Tax program (Mar.82 p.8): 

The first 3 characters from 
line 2124 don't clear before line 
6000 executes. Change 6000 to 
PRINT AT 21,0...Change 9006 to REM 
DIM C$(107,18) to remind you of the 
direct command to enter during 
initialization. The 18-character 
line description will only be 1 
character without it. 

Line 2220 simply sums the 
previous 4 lines—a problem for 
casualty or theft losses. To fix 
the problem and save entries: 

£219 LET L(93) =L(91) -L(94-) 

£220 IF L(93) <© THEN LET L(93)=0 
£221 LET LC94)=LC93) 

2222 IF L(94T>i0© THEN LET L(94> 
= 188 

2223 LET l taoJ =L (93) —L (94-) 

2224 LET L(98)=L(S6)^L(97) 

2225 LET L(99) =L (76) 

A refinement for rounding: 

2200 LET L(69)=INT (Lt31J+.5)/i® 
© 

22©1 LET L (78) =L (63) — L (39) 

2206 LET L(74)=3*L£69> 

Line 2160 can cause a problem 
when reviewing data because of 
computer precision shortcomings. 

Part of the display will be over¬ 
written by the message at review 
end because of lines over 32 char¬ 
acters. Change line 2160 to: 

2160 LET L(63)=INT (100*X+.5)/10 
0 * 

NEW PRODUCT ANNOUNCEMENTS 

ZX FORTH, a FORTH derivative for 
16K ZX81s, is available from SofTek 
Company, Santa Fe, NM. Package 
costs $20+$2 postage and includes 
examples of a fully documented 
source listing. Contact SofTek, 

Box 4232, Santa Fe, NM 87502-4232. 

Battery back-up units are available 
from Syncware. BBU-2 ($84.50) runs 
a ZX81 with 16K RAM for over 2 
hours, BBU-1 ($54.50) 1 hour, and 
Baby BBU ($39.50) up to 15 minutes. 
Prices include shipping. All three 
models include LED indicators and 
on/off switch. BBU-8, running up 
to 8 hours, will be available early 
Jul.82. Syncware Co., 4825 Elrovia 
Ave., El Monte, CA 91732. 


2 


Explore the excellence of your ZX81 with a 



ramOPRIi 64k memory 

Give your diminishing 


extension for 
memory more 


$179.95 

byte. 


MEMOPAK 64K RAM $179.95 

The Sinclair ZX81 has revolutionized 
home computing. The MEMOPAK 64K 
RAM extends the memory of ZX81 by a 
further 56K to a full 64K. It is neither 
switched nor paged and is Directly 
Addressable. The unit is user trans¬ 
parent and accepts such basic com¬ 
mands as 10 DIM A (9000). It plugs 
directly into the back of ZX81 and does 
not inhibit the use of the printer or other 
add-on units. There is no need for an 
additional power supply or leads. 

Description of memory 

0-8K . . . Sinclair ROM 
8-16K . . . This section of memory 
switches in or out in 4K blocks to leave 
space for memory mapping, holds its 
contents during cassette loads, allows 
communication between programs, and 
can be used to run assembly language 
routines. 

16-32K . . . This area can be used for 
basic programs and assembly language 
routines. 

32-64K . . . 32K of RAM memory for 
basic variables and large arrays. With 
the MEMOPAK 64K extension the ZX81 
is transformed into a powerful com¬ 
puter, suitable for business, leisure and 
educational use, at a fraction of the cost 
of comparable systems. 

ninontn 

Memory Extention Specialists 

Memotech Corporation 
7550 West Yale Ave., Suite 200 
Denver, Colorado 80227 

Ph.(303) 986-1516 


MEMOPAK 16K RAM $79.95 

With the addition of MEMOPAK 16K, 
your ZX81 will have a full 16K of Di¬ 
rectly Addressable RAM. It is neither 
switched nor paged and enables you to 
execute longer and more sophisticated 
programs and to hold an extended data 
base. 

The 16K and 64K Memopaks come in 
attractive, custom-designed and engi¬ 
neered cases which fit snugly on to the 
back of the ZX81 giving a firm connec¬ 
tion. 

Free service on your MEMOPAK 

Within the first six months, should any¬ 
thing go wrong with your MEMOPAK, 
return it to us and we will repair or 
replace it free of charge. 


Try MEMOPAK with no obligation 

You can use our MEMOPAK in your 
home without obligation. After 10 days 
if you are not completely satisfied, 
simply return it for a full refund. 

Coming soon. 

A complete range of ZX81 plug-in 
peripherals: • 

MEMOTECH Hi-Res Graphics 
MEMOTECH Digitising Tablets 
RS232 Interface 
Centronic Interface and 
Software Drivers 

All these products are designed to fit 
“piggy-back” fashion on to each other 
and use the ZX81 power supply. 

Further information forthcoming. 


I~Mp 


>§■ 


Memotech Corp. 7550 W. Yale Ave. Suite 220 Denver, Colo. 80227 

Yes! I would like to try the Memopak. I understand that if I’m not complete satisfied, 

I can return it in 10 days for a full refund. Price + Qty. Amount 


Act. No. 


Name 


Street 
City_ 


□ Check 

Memopak 

64k RAM 

$ 179.95 



□ Visa 

Memopak 

16k RAM 

$ 79.95 



□ MC 

Shipping 

and Handling 

S 4.95 


$ 4.95 





Total 



Exp. 


t U.S. Dollars 


State 


Zip__ 


STX06 



















LINE RENUMBERING—8K/16K 

Here are two approaches to 
line renumbering, one in BASIC and 
one in machine code. Neither of 
them renumbers GOTOs or GOSUBs. 
Whenever you write a program, load 
your choice first, then execute it 
after entering your program to 
clean up line numbers. 

BASIC 

This program works on an 8K 
ZX80 or a ZX81 with 16K RAM. Load 
the renumbering program (RENO), 
then write your program. Execute 
RENO by entering RUN 9965. After 
renumbering, I save the program 
with RENO attached in case I want 
to modify and renumber the program 
later. RENO begins with a STOP 
statement to separate it from the 
program being written, and resides 
at the end of allowable line 
numbers. To try it out, enter a 
few statements with random line 
numbers and then RUN 9965 to 
renumber them as you wish. 

Larry Lockwood, Yorba Linda, CA 


936 4 

9965 
RING 

9966 

9967 
9966 
9969 


6 *PEEK 


RT 8, Ij "STfiRT RENUMBE 


STRRT 


STOP 
PRINT 
RT? 

INPUT STRRT 
PRINT RT 3,21; “ *' 

LET RDDR=16589 
LET LINE=256iPEEK 
EK (RDDR+13 

9970 IF LINE=STRRT 
8 

9971 IF LINE-9964- THEN GOTO 9975 
997a LET LENGTH =PEEK (RDDR+21 +25 

(fiDDR+3) ~ 


(RDDR)+PE 


THEN GOTO 997 


j<3"73 i f=-r 


9974- 

9975 
RESS 

9976 

9977 

9978 


RDDR-RDDR +4- +L ENGTH 
GOTO 9969 


STORTING RDD 


1; *' RENUMBER BEG 


10,24-; " ; NEU; M 

13,1;”INCREMENT 


LX 


PRINT RT 8.1; 

NOT FOUND»“ 

PAUSE 280 
GOTO 9965 
PRINT RT 10 
INNING UITH?” 

9979 INPUT NEU 

9980 PRINT RT 

9981 PRINT RT 
NES BY?" 

9982 INPUT INC 

9983 PRINT RT 12,19;" " ; INC; ** . " 

9384- PAUSE 15© 

9985 CLS 

9988 IF PEEK (RDDR) =38 AND PEEK 
C RDDR + 11 =236 THEN GOTO 9996 

9987 IF NEU > =9984- THEM GOTO 9998 

9988 LET MSB=INT (NEU/256) 

9989 LET LSB=MEU~256fHSB 


999© POKE RDDR,MSB 

9991 POKE RDDR+i,LSB 

9992 LET LENGTH=PE£K (RDDR+2)+25 
©*PEEK (RDDR+3} 

9993 LET RDDR=fiDDR+4+LENSTH 
9994- LET NEU=NEU + INC 

9995 GOTO 9986 

3996 PRINT RT 10,5;“RENUMBERING 
COMPLETED" 

9997 STOP 

9998 PRINT RT 16,5;“CfiNNOT COMPL 

EXE . " 

3399 PRINT RT 12.6;“LINE NO. >99 
64 . . ** 

SYNTRCTIC SUM: 5654-3 , 3K 

Machine Code 

This program renumbers program 
lines at any time. It is stored in 
machine code and safely tucked away 
behind a new RAMTOP of 32000. It 
sets the first line to 10 and 
increments the rest by 10s. No 
STOP statement is needed to signal 
the end. 

Enter the program as shown, 
then RUN. Enter the numbers in the 
table (33,125, etc.). This is the 
decimal listing for the machine 
language the Z80 CPU understands. 

Now delete lines 20-70 and 
150. Note the REM 1234... line is 
different. 

Save the program by entering 
GOTO 200. It runs automatically 
when LOADed. You will see a 
flicker and the K cursor on the 
screen. To test it, type in a 
short program with random line 
numbers. To renumber, enter RAND 
USR 32000. 

To start with a line number 
other than 10, POKE 16518,X (where 
X=line number you want). If you 
want to increment the lines by a 
number other than 10, POKE 16534,Y 
(where Y=number to increment by). 

Mike V. Mullen, Lawrence, KS 


X© 

REM 1234-56789©! 

234567596123 

4-567 



2© 

FOR X = 16514- TO 

1654-0 

30 

SCROLL 


4-0 

INPUT I 


5© 

POKE X,I 


6© 

PRINT X,PEEK X 


7© 

NEXT X 


S© 

LET L ss 165 14. 


90 

FOR X = 32®©0 TO 

32®26 

100 

POKE X,PEEK L 


XX© 

LET L=L+1 



4 


123 

NEXT 

X 


13© 

POKE 

15388 © 


14-3 

POKE 

1S3S3,125 

15© 

STOP 



IS© 

NEU 



20© 

5RUE 

“ REMUM ” 


213 

RUN 



DECIMAL LISTING 


33 

125 

64 17 

10 0 114 

35 

115 

35 78 

35 70 35 

9 

126 214 118 200 1 10 

0 

235 

9 235 

24 235 

ASSEMBLY LISTING 


Dec 

Hex 

OpCode 

Comment 

33 

21 

LD HL,NN 

loads 16509 

125 

7D 


into HL 

64 

40 



17 

11 

LD DE,NN 

loads 10 into 

DE as 1st line 
number 

10 

0A 



0 

00 



114 

72 

LD (HL),D 

insert new line 
number 

35 

23 

INC HL 


115 

73 

LD (HL), E 


35 

23 

INC HL 



78 

4E 

LD C,(HL) 

^Loads length of 
line text into 

35 

23 

INC HL 

BC (B is high 

70 

46 

LD B,(HL) 

byte) 

35 

23 

INC HL 


9 

09 

ADD HL,BC 

sets HL pointer 

126 

7E 

LD A,(HL) 

to next line of 
text 

214 

D6 

SUB A,N 

check for code 
118 (indicates 
end of program) 

118 

76 



200 

C8 

RET Z 

return to BASIC 
if at end 

1 

01 

LD BC,NN 

increment line 
number by 10 

10 

0A 



0 

00 



235 

EB 

EX DE,HL 


9 

09 

ADD HL, BC 


235 

EB 

EX DE,HL 


24 

18 

JR, DIS 

jump to con¬ 

235 

EB 

EX DE,HL 

tinue renum- 


bering (is 
shown in 2's 
complement) 


ZX81 OWNERS with 16K RAMI 
IT'S READY- —ARE YOU? 




$14.95 + 
2.50 S&H 


If so. .you get: 

*24-row/ful 1-screen displays 
^Nearly 2K of machine code 
for FAST real-time graphics 
*A 4K Star Atlas as the moving 
backdrop during enemy engagements 

*9-each fuel and skill levels that 
are interlocked for more "reality" 

*4 ways to lose—no fuel, no oxygen, 
no gun power, or no shields. 1 way 
to win—destroy ALL enemy craft. 

*An enemy data generator imbedded in 
the run as part of the "action" 

*"B1 ink"-less pauses in BASIC 
*Stick-on/peel-off custom keys 
*In-depth booklet explaining both 
the "game" and the program 
^Shipped on a certified cassette 
1 copy each side 


16K Pro g rams for either ZX80-8K or ZX81 

*PLANE FRAME-model1ing for engineers 

^FUNDAMENTAL ANALYSIS-for stocks investors 

*P0LSAT & GEOSAT-space age Ham Radio uses 

*MATH PAK-Routines & Fit, Variance Analyzer, 

.L . Statistics, and RPN Calculator 

”7 .*E.S.P.-test your precognition 

ETA *Many others plus 6 IK 6-paks 

ct'i a i a DC ’ including Machine Code 

pFTWARE^r WRnE for free catalog< (In 

T Europe, send U$1 bill or DM2 stamp: 

DELTASOFT/Osterfeldstr.79D/D-2000 Hamburg 54 GER) 

fTlail coupon or copy with payment to: 
o | ZETA Software/PO Box 3522/Greenvi1le,SC 29608 

CO I 
CTi 

00 I Enclosed is $_ DCheck □--- 

b? | for _ copy(ies) of SCOUT FIGHTER ZX81 16K 

- plus $2.50 S&H for the order. 

r\ i 0\ I ' 


I ADDRESS_ 

1 CITY/STATE/ZIP_ 

I Please allow 4 weeks if paid by check. 


5 




A PACKAGE FROM ENGLAND 

Or, How I got a real ZX printer 

If, like me, you cannot wait 
for Sinclair or Timex to put a 
printer on the US market, you can 
order a ZX printer from: 

David Finlay, Stationery Mgr. 

W.H. Smith & Son Ltd. 

124 Holborn 

London EC1N 2TD 

England 

Mr. Finlay informed me that W.H. 
Smith would happily accept orders 
from the US if. you pay by US trav¬ 
elers checks made out in British 
pounds Sterling (available in 
larger banks). The printer costs 
£59.95 plus £6 for airmail postage. 
Extra paper (you get one roll with 
a printer) is £11.95 for 5 rolls. 

Do include postage . 

In less than a month, it was 
here—my ZX printer direct from 
England! I sat down eagerly to use 
it, but the power supply sent with 
the unit was a 230 VAC 50 Hz. What 
to do now? I hastily put together 
a 115 to 230 auto-transformer and 
connected the power supply and 
printer according to directions. I 
entered a program onto my 16K ZX80, 
pressed COPY then NEWLINE (ENTER) 
and the printer took off. It 
worked beautifully, printing out 
the entire screen. 

After using the printer and 
computer for approximately 1/2 hr., 
I noticed the area above the compu¬ 
ter's regulator had become quite 
hot. I disconnected the new supply 
and printer and took some voltage 
and current measurements. 

Using the heavy duty 16K RAM 
power supply and the computer run¬ 
ning, VDC at the input connection 
was 10 and amps were .600 (600 mA). 
With the printer's power supply, 

VDC was above 11 and current was 
above 900 mA. The supplied printer 
power supply is a 1.2 amp unit. 

The printer and computer work 
very well together. DC voltage is 
slightly above 9 volts and current 
under 750 mA. My ZX80 with 16K RAM 


runs cool and the power supply is 
barely warm to the touch. I don't 
understand why a 1.2 A supply is 
required for the printer-computer 
combo. 

Paper is in short supply and 
may take another month to arrive 
after your printer. Mr. Finlay 
said the paper comes from Timex in 
Waterbury, CT. But when I con¬ 
tacted the Timex people, they said 
they could not sell any paper to 
me. When the printer goes on sale 
here in the fall, there should be 
paper available for all. 

If you're desperate. Radio 
Shack sells 4 1/2" paper that you- 
could cut to 1-3' lengths and trim 
to the required 4" width. 

If you want to use the 230 VAC 
supply that comes with the printer, 
use this scheme. T1 is any small 
transformer with a split 115VAC- 
230VAC primary (two windings on the 
primary, used either for 115 or 230 
AC input) and good for 10 watts. 
Multiply secondary volts by secon¬ 
dary amps to get approximate watts. 

Leo Morgan, Peabody, MA 



6 





CAI peripherals allow you to expand your Sinclair 
or MicroAce personal computer, enabling it to perform 
like a main frame or host computer.. .a true stand alone system! 

The CAI/O board, along with the tape, printer and phone 
modem, can put you in touch with the rapidly expanding world of 
computer communications. Shake hands with the billions of bytes of 
information, entertainment and technical knowledge coming on 
stream. Expand your horizons with quality peripherals designed specif- 
ically for Sinclair personal computers.. .only from CAI. 

CAI/O Board® 

The CAI/O Board is the main interface that allows your personal 
computer to communicate with the outside world as well as other 
peripherals. No soldering or computer modification is required to 
install the CAI/O board. Just plug it into the Sinclair’s expansion 
port. The CAI/O board features: 

Serial RS-232 Input/Output Port —RS-232 with hand shak¬ 
ing enables your Sinclair to communicate with other computers, 
printers, and serial devices. Simple program commands allow you to 
set baud rates from 110 to 9600. It’s compatible with modems that 
allow you to interface your ZX80-81 with computer networks, such as 
THE SOURCE®. Full details are available from CAI. The serial port 
can also be configured to operate current loop devices, such as tele¬ 
types, etc. 

Parallel I/O (3 Ports) —You can design circuits to light lamps, 
control household appliances, power relays, run parallel printers, and 
A/D converters. 

Printer Port, Tape Port, and Memory Expansion Port— 

These ports are on the CAI/O board to serve as the main interface 
ports for other peripherals. 


WIDGITAPE® 

The WIDGITAPE system is a 
stringy-floppy mass storage device that provides 
much of the versatility of a floppy disk at a fraction of the 
cost! The WIDGITAPE uses standard, readily available endless loop 
cassette tapes (available from CAI at $2.95 per tape—tape lengths 
from 30 seconds to 6 minutes). Each minute of tape allows you to store 
up to 5.5K. WIDGITAPE functions are computer controlled. There’s 
no need to operate the tape system manually. Program functions 
include: 

File Directory —WIDGITAPE has its own file directory which 
can be viewed on the screen. 

Read/Write —WIDGITAPE has the ability to read or write 
data files during a program run. 

File Extending and Modifying —Variables can be brought into 
memory from the WIDGITAPE while a program is running and then 
summed with other variables already in memory. These new variables 
can then be written back into memory, printed, viewed $0095 
on the screen... or all three! 

Additional Peripherals From CAI 

$|7Q95 64K Memory 

X C ^ Expansion 


Phone Modem 


$12995 
Programs Available from CAI 
$795 Bio 


RK yA ™$9 9s S rial $9 95Wi! 

Package 


Bang 

Math 


$1J,95 Home 

Finance 

CAI Peripherals 

All CAI peripherals come with complete instruction manuals, 
schematics, and a 30 day unconditional replacement warranty. Prices 
are subject to change without notice. 


$7095 When Purchased $/^095 When Purchased With 
I *7 Separately ^JZ7 Additional CAI Peripherals 

WIDGIPRINT® Printer 

The WIDGIPRINT is a low cost, dependable 32 column thermal 
printer that prints Sinclair’s alpha-numerics, graphics, and inverse 
characters on 3.2" wide paper (readily available through CAI at $1.95 
per 137' roll). The printer prints 190 words per minute, black on 
white (so it’s easy to copy). It prints in three different program modes: 

List —Lists the present program in memory. 

Print —Will print script, variables, string variables, etc. from 
within a program. 

Screen Dump —This print mode allows present information on 
the TV screen to be dumped to the printer. 



I--- 

I Orders accepted by phone or mail. 

I For mail orders, send check, money 
order, VISA or MASTERCARD 
■ numbers. Foreign orders must be 
I made inU.S. currency. 



Quantity 

Description 

Unit Price 

Total 


CAl/O Board 

(See Price) 



WIDGIPRINT 

$99.95 



WIDGITAPE 

$99.95 



OTHER 



SUBTOTAL 




Shipping and Handling 

4% Sales Tax (Michigan Residents Only) _ 

TOTAL 


CAI Instruments, Inc. 
P.O. Box 2032 
Midland, MI 48640 

Phone: (517) 835-6145 
Office Hours: 

9:00 a.m.—4:30 p.m. 
Evening Hours (Technical 
Information) 

6:00 p.m.—8:30 p.m. 


SHIPPING AND HANDLING CHARGES 
Within U.S. $5.00 Outside U.S.- F.O.B. Midland, MI 

MasterCard/Visa___ 

Exp. Date__ 

Name__ 

Address_ 

City-State_Zip_ 







BOOK REVIEW 





SS3FTSYIMC, ll\IC. 

ZX81 

SUPERMAZE — 


SUPERMAZE 'S a three-dimensional maze program with 
extraordinary full screen graphics that challenges you to 
work your way through a complex labyrinth of corridors. 
Enter SUPERMAZE at your own risk and carefully choose the 
right combinations of passageways to reach the end in the 
fewest possible moves 

This graphically illustrated adventure game is full of 
hazards to impair your ability to get through it. For example as 
you wander through the endless corridors, you have to be 
careful because there are hidden trap doors you can fall 
through, finding yourself in another part of the maze 

But SUPERMAZE also features some helpful devices to aid 
your journey You can have a compass to guide you or stones 
to drop along the way to let you know if you have already 
passed through a section of the maze 
Written with many machine code subroutines, 
SUPERMAZE allows you to choose from ten mazes of 
increasing difficulty In addition you can create and store 
mazes of your own design 

At the beginning of the program, you are given a choice of 
options to play including: 

• A map option to see where you've been but not where 
you are going. 

• An option to find and take with you gold bars in the maze 
This helps you to develop skill in maneuvering 

• Stones to drop along the way 


• Optional randomly placed 
trap doors 

• The compass to guide you 


LOAN/MORTGAGE 


The LOAN/MORTAGE PROGRAM is a fast and flexible calculation program, useful as a 
tool when contemplating a major purchase. It determines compound interest payments 
enabling you to investigate the details of a fixed rate mortgage or many other types of loans 
(i.e. Condominiums, cooperative apartments, car, boat, home improvements or college.) It is 
also useful in developing payment schedules for all types of financial planning (such as 
owner financing of real estate). 

The program has a menu with seven items: 

1. ) Single Payment Data indicates total payment broken down by interest and principal. 
Also indicates principal balance at the time and total interest paid to date. 

2. ) Single Year Date indicates total payment for any given year broken down by interest 
and principal. 

3.) Profile By Month indicates how much interest is due that month, total interest paid and the 
principal balance. 

4. ) Profile By Year totals the yearly interest payments (Helps you determine your interest 
deduction so you can calculate your tax savings.) Includes total interest paid to date and 
remaining balance. A useful tool to help you decide if you can afford the purchase. 

5. ) Interest/Principal Plot graph compares principal versus interest payments over the 
loan period 

6. ) New Data allows you to enter changes or new information. 

7. ) End allows you to SAVE the program with all your information and reload it at a later 
date 

16K $14.95 


PLUS MANY MORE ZX81 PROGRAMS! 

WRITE FOR FREE CATALOG 


□ Please send me_copies of SUPERMAZE 

@ $14,95 each. 

□ Please send me_copies of LOAN/MORT. 

> @ $14.95 each. 

Please add $1.50 shipping & handling 
New York residents add sales tax. 

I enclose_. 


SEND CHECK OR MONEY ORDER TO: 


PO. Box 480, Murray Hill Station, New Ybrk, N.Y 10156 (212) 685-2080 


Foreign orders must be paid by International Money Order or 
foreign draft in U.S. Dollars drawn on a New York bank. 


STATE/ZIP 



Title: The Sinclair ZX81 Program¬ 

ming for Real Applications 
By: Randle Hurley 

Price: $17.95 (162 pgs, paper) 

$24.95 (cassette tape) 
Published by The MacMillan Press, 
London, available from Mindware 
Inc., 70 Boston Post Rd., Wayland, 
MA, USA 01778. 

This book is aptly billed as 
being for people who want to get 
down to business with their ZX81s. 
It provides listings for serious 
applications-—no games here. These 
programs can be easily used for 
many situtations you may have 
thought required a !, real ! ' computer. 

The book contains these chap¬ 
ters: Programming, Saving Time and 

Space, Word Juggler (word proces¬ 
sing), Money, Personal Finances, 
Banking, Bulk Storage (saving large 
amounts of data). Rank Order (sort¬ 
ing), Exam Result Analysis, and 
Hardware Modifications. 

Programming covers how to 
write, debug and document and 
"idiot-proof" programs, but is not 
a beginners' programming course. 
Saving Time and Space offers excel¬ 
lent tips on efficient programming. 

The program listings are quite 
long (about 3K). I confess that I 
didn't type any in to test them. 
Randy told me of one error (if you 
get this book, check that line 1520 
on p.54 reads IF INKEY$="" THEN 
GOTO 1520). But the listings are 
not intimidating because they are 
presented in chunks with excellent 
documentation describing the pur¬ 
pose and method of each piece. You 
can buy the programs on cassette. 

Hardware tells how to build a 
power supply, make Sinclair's 3K 
RAM pack (never available in the 
US) work, and wire a big keyboard. 

The detailed documentation is 
quite complete and clear. There is 
life after the ZX81 manual—this 
book can give you useful routines 
and an education.—-AZ 


8 



EXCHANGING REGISTERS 


(Part 6 of a series) 

In addition to the eight 
registers A,F,B,C,D,E,H and L 
covered in an earlier article, the 
Z80 (central processing unit in 
your ZX80/81) has a twin set of 
alternate registers. These 
registers, named A',F', B',C',D',E', 
H' and L', can only be accessed in 
their paired state (ie., AF', BC'). 

As long as your machine code 
routines are short, say 100 bytes 
of code and data, you won't really 
need to use an alternate register. 
But sometime in your programming 
future it may be easier to use one, 
so let's examine the method of 
switching information between them. 

Without taking the time to 
examine the register pairs you will 
use, you can't know whether or not 
your use of them will destroy vital 
data. So before using registers, 
PUSH them onto the stack to save 
their data. Then POP them off 
before returning to BASIC. This 
way you can use these registers 
during your program, but return 
them to their original state before 
exiting machine code. (Ex. PUSH 
HL...EXX...PUSH HL...for using both 
HL and HL'. Then POP HL...EXX... 
POP HL...before RETurning. More on 
PUSH and POP later.) 

Only 6 instructions control 
exchanging registers and alter¬ 
nates, but only 3 are really useful 
in short subroutines: 

EX AF,AF' exchanges data with the 
alternate AF pair. 

EX DE,HL puts data in Hl into DE 
and data in DE into HL. 

EXX exchanges data between BC,DE 
and HL and their alternate pairs 
(BC<->BC', DE < - >DE', HL<->Hl'). 

For example, suppose you have 
two blocks of data, block 1 for use 
in one branch of your subroutine 
and block 2 for use in the other 
branch. One solution is to load HL 
with the starting address of block 
1 and DE with block 2. Then, 


KOPAK GIVES 
YOU THE POWER! 


KOPAK’STM Touch-A-Matic gives you 
the power to type more accurately and 
•much faster. No wires, no soldering, 
simple to install. Our unique vinyl over¬ 
lay guides your fingers to the correct 
keys. Touch typing now possible with 
your Sinclair* or MicroAce*! 

$9.95 

The KOPAKTM Sinclair* female Con¬ 
nector gives you the power to use the 
Z-80 bus. Edgecard connectors specif¬ 
ically made for Sinclair* computers. 

• 46 Pins, 23/23 • All pins are gold 
plated • polarizing pin for correct 
alignment everytime! Available with 
Solder-Tail, Wire-Rap and PCBoard. 

$14.95 


KOPAK has the POWER to deliver!' 


KOPAKTM is now ottering The Source* 
‘America’s Information Utility’. The 

Source* gives you the power to access 
a wide array of services including: 

• Barter • Shopping • Business Infor¬ 
mation • Career Network • Electronic 
Mail • Medical Advice • UPI News 
Service and much more. A modem is 
required to use The Source*. 

Source ID $100. 

More POWER on the way! KOPAK’STM 
Coming Creations: 

The KOPAKTM RS-232 Interlace 
The KOPAKTM Bus 
The KOPAMATICTM Keyboard 
The KOPAKTM Printer 

KOPAKTM Memory Products 
The KOPAKTM Disc 


KOPAK Creations Inc. 


© 1982 KOPAK Creations Inc. 

TM Trademark of KOPAK Creations Inc. 


Dept. SX Sinclair* is a trademark of Sinclair* 

448 West 55th Street Research LTD 


New York, NY 10019 MicroAce* is a trademark of MicroAce* 

(212) 757-8698 


depending on a Test and Branch, HL 
can contain either HL or, by 
Exchanging DE,HL, HL can contain 
"DE" for an INC HL loop. 

Exchanging register pairs is 
handy, but there is an easier way 
to "save" ethereal data... 

Next month: PUSHing and POPping 


Jon Bobst, Zeta Software, PO Box 
3522, Greenville, SC 29608-3522 


Give your ZX81 (or 8K ZX80 with 
video upgrade) something to do 
while you're doing something else. 
RUN this little program in SLOW: 

10 PLOT INT (RND*6 4) ,INT (RND 
*44) 

30 GOTO 10 

It randomly plots pixels until the 
screen is totally filled. 


Alexander Sloan, Green Bay, wi 

To make it run a bit longer, add: 

20 UNPLOT INT (RND*64),INT (RN 
D*44) 


9 




NOW AVAILABLE 


Keyboard. 
x 'conversion 

• Standard Computer Keyboard 

• Type programs in half the time 

• Minimize errors 


• Wired keyboard hooks up in minutes 

Plans for keyboard conversion with reverse video 

NOW $5.00 

Keyboard with complete parts and plans NOW $55.00 
Wired keyboard, complete with plans NOW $75.00 
Add $5.00 mailing charge for continental U.S. 

Other locations write for details. 


Mail for information: 

L.J.H. Enterprises 

P.0. Box 6305, Orange, CA 92667 
or call 714/547-8717 


ADDING A JOYSTICK TO YOUR ZX81 


The principle behind joysticks 
is that the computer constantly 
scans the keyboard. When you press 
a key, you complete a circuit over 
the matrix-wired keyboard. Take 
the bottom off your computer and 
you'll see two sets of connectors 
where the keyboard plugs into the 
computer. Connecting the proper 
combination of keyboard leads simu¬ 
lates a key depression. 

For this project you must use 
a momentary contact matrix wired 
joystick, not one using poten¬ 
tiometers. I used an Atari joy¬ 
stick. It is inexpensive and easy 
to get (ask any dealer who sells 
Atari game consoles). Unless you 
have the proper complement connec¬ 
tor for your joystick, cut off the 
end of the cable. The Atari stick 
gives you 4 directions and a fire 
button. This results in 6 wires, 1 
common and 1 each for each position 
and the button. Most matrix wired 


joysticks have only 1 common and 
fewer than 8 wires. 

First, find the common. This 
is the contact that, when coupled 
with another contact and the proper 
direction pushed on the stick, 
completes a circuit. Use an ohm- 
meter to check random pairs of 
wires for their resistance while 
moving the stick to all locations. 
When the resistance drops near 0, 
one of the wires is the common. 
Locate the common by elimination, 
then mark it with tape. 

Now take the bottom off your 
computer. With the metallic inside 
of the bottom panel facing you and 
the hole for memory expansion at 
the upper right corner, look at the 
right edge. At the location marked 
in Fig. 1 drill a 1/4" hole. Put 
some wood directly under where 
you'll drill. From the outside, 
stick the stripped wires from the 
joystick through the hole. 

With the heat sink in the 
bottom right corner, look to the 
left and find the pins shown in 
Fig. 2. Solder the common to any 
pin of KBDO-3. Solder the rest of 
the wires to pins 1-8 (diodes 1-8 
on schematic). Avoid solder drips 
that cause short circuits. 

With the bottom still off, 
plug the computer in and hook it to 
the TV. You should be able to 
print characters to the screen by 
moving the stick around. If you 
get no response, carefully lift the 
computer and press some keys. If 
something appears on the screen, 
the problem lies in a poor solder 
joints or a faulty joystick. No 
keyboard response means the system 
is locked up from trying to read 
more than 1 input. You have either 
a short circuit where you soldered 
or a faulty joystick. 

If you don't have a joystick 
and want an external control 
button, you can wire any switch to 
your computer. One wire must go to 
KBDO-3 and the other to pins 1-8. 

You can use INKEY$ to read 
these inputs, but this is too slow 


lO 



for some programs. I use PEEK 
16421. This doesn't give the char¬ 
acter code; translate it to fit 
your needs. 

This program demonstrates the 
usefulness of your new stick. 

First, determine the code for each 
direction: 

10 slou 

2© LET R=PEEK 164-21 
30 IP R =255 THEN GOTO 2© 

4-0 PRINT RT 19,28;R 
50 SCROLL 
60 GOTO 2© 

Try each position on the stick and 
button and write down the number 
produced. Now run this program: 

10 CLS 
20 LET X =30 
3© LET Y=2S 
4.0 SLOU 

5® LET R=PEEK 154-21 
6© IF ft= i CODE FOR UP) THEN LET 
YsY + 1 

7© IF ft = C CODE FOR DOWN) THEN L 
ET V =Y -1 

6© IP ft = t CODE FOR LEFT 5 THEN L 
ET X=X-1 

9S IF fi =(CODE FOR RIGHT) THEN 
LET X=X+1 

10© IP ft=(CODE FOR BUTTON) THEN 
RUN 

11© PLOT X,Y 
120 GOTO 5© 


Dave Straub, 500 Eastwood, 
Petaluma, CA 94952 


BASE OF ZX81 



DO NOT SOLDER ABOVE DOTTED LINE 
ZX81 BOARD WIRING SIDE 


» EDGE CONNECTOR 

BACK OF KEYBOARD CONNECTORS 

"*■ o 

o_, o_ o_o_o_ o_o_0_ ° 

o^ooooooo 



8 7 6 5 4 3 2 1 

DIODE NUMBER 


4 3 2 1 0 
KBD LINE NO. 


Figure 2 


REPORT FROM THE 3RD ZX MICROFAIR 

The third ZX Microfair was 
held 30 April-1 May 1982 in London. 
Besides Sinclair's new Spectrum, we 
saw some new ZX81 products. 

The 5 1/4" disks promised by 
Monolith and Macronics are now 
available, at a hefty £225 price 
tag. Macronics is now developing a 
microdrive for ZX81s, probably 
ready in August for £160. 

Compusound showed an add-on to 
put audio through the TV (currently 
only for UHF). It adds a second 
modulator, offsets the frequency to 
generate a sound sub-carrier, then 
mixes the two outputs. 

Other hardware included joy¬ 
sticks from Micro-Gen (£9.60, 24 
Agar Cres., Bracknell, Berks., UK) 
and Thurnall Electronics (£12.95, 

95 Liverpool Rd., Cadishead, Man¬ 
chester, UK M30 5BG). Micro-Gen 
also has A/D converter boards. DCP 
Microdevelopments offers A/D and 
D/A add-on packs (2 Station Close, 
Lingwood, Norwich, UK NR13 4AZ). 

Many suppliers showed 16K RAMs 
and big keyboards. RAM suppliers 
suffered as Sinclair cut prices £10 
at the show. Sinclair raised 
printers to £ 59.95 as of 3 May, but 
sold them for £49.95 at the show. 

Sophisticated arcade-type and 
board games abounded, as did new 
educational software. We saw pro¬ 
grams to review history, physics, 
chemistry and French. Most of 
these programs are directly tied to 
England's grade levels and testing. 
Contact AVC Software, PO Box 415, 
Birmingham, UK B17 ODH; Rose 
Cassettes, 148 Widney Ln., Soli¬ 
hull, W. Midlands, UK B91 3LH. 
Educational users might also con¬ 
tact EZUG (Educational ZX Users 
Group), c/o Eric Deeson, Highgate 
School, Birmingham 12, UK. 

Two new ZX publications showed 
up, ZX Computing and Sinclair User. 
Contact ZX Computing, 145 Charing 
Cross Rd., London WC2H OEE or 
Sinclair User, 30-31 Islington 
Green, London N1 8BJ for rates. 


11 





DEAR EDITOR 


In response to a letter, AZ 
writes that any mini- or micro¬ 
cassette recorder should work fine 
with a ZX80/81. Yes and no. A 
Sony Walkman-type recorder will 
probably be no good because of its 
low output voltage (it operates on 
3 VDC). Check the DC operating 
voltage before you buy—it should 
be at least 6 VDC. Also, avoid 
non-capstan drive recorders; gen¬ 
erally mini-cassette cheapies are 
non-capstan drive. Further, micro¬ 
cassettes often don't do very well 
aligning the tape and heads, so 
treble response and loading pro¬ 
grams are touchy. And a recorder 
that uses a permanent magnet 
instead of an erase head should be 
avoided on general principles. 

Dave Taber, Menlo Park, CA 

Permanent magnet erase heads leave 
the tape noisier than high- 
frequency erase heads. This noise 
might cause loading problems.—KO 


Users who install 16K RAM 
packs may be surprised to find that 
the ZX81 CLS function works more 
slowly wih the increased memory. 
Also, performance of some animation 
programs becomes unacceptable. The 
ZX81 manual indicates that the RAM 
size threshold affecting the dis¬ 
play technique (thus the speed of 
CLS) is 3328 bytes. 

To provide the maximum amount 
of accessable RAM while retaining 
the fast CLS, adjust RAMTOP before 
typing or loading programs: 

POKE 16388,254 
POKE 16389,76 
NEW 

Alfred Spencer, Framingham, MA 

This technique sets RAMTOP (the 
address of the last byte of RAM) to 
76*256+254, or 19710 (multiply 
first). You now have 3326 bytes, 
or about 3.2K to work in.—AZ 


A simple suggestion other 
readers may not have thought of— 
Say you're entering a long program 
and you wish to jump backwards or 
forwards to a far-away line. Even 
in the FAST mode this takes a lot 
of time and punching. Just enter a 
blank line number which you are 
sure is not already in the program. 
For example, enter 3501 or 3509 
when you want to get to 3510. The 
line cursor goes there in one shot 
as it "erases" a non-existent line. 

Ken Kenny, Vancouver, BC, Canada 


The ZX81 does not handle nega¬ 
tive numbers normally. Try this: 

10 LET A=-5 
20 LET B=3 
30 PRINT B**A 
40 PRINT SQR A 

Lines 30 and 40 give error A/line 
number. According to Sinclair, the 
ZX81 won't raise negative numbers 
to a power (like -X**B) because it 
doesn't differentiate between the 
exponent as an integer and a real 
number. To assign the value A**B 
to C where A may be negative and B 
is integral, instead of LET C=A**B, 
they suggest using LET C=ABS(A)**B 
* (1 - (B-INT (B/2 ) * (1-A/ABS (A))). 

I use the method in this 
example program for exponentiation 
if A might be a negative integer. 
This routine converts A to ABS A 
(always positive) and sets a switch 
SW to 1. The value of SW chooses a 
PRINT statement reflecting the true 
effect of -A: 

100 LET A=-9 
110 LET SW=0 

120 IF A<0 THEN LET SW = 1 
130 IF A<0 THEN LET A=ABS A 
140 LET SQ=A**2 
150 LET CUBED=A**3 
160 IF SW = 1 THEN GOTO 190 
170 PRINT "A**2 = ";SQ,"A** 3 = " ;CU 
BED 

180 STOP 

190 PRINT "A**2 = ";SQ,"A**3 = -";C 
UBED 


12 


William F. Tracy, Donelson, TN 


For do-it-yourselfers, 50-pin 
gold wirewrap edge connectors are 
available from Digi-Key Corp., 

Thief River Falls, MN 56701. Their 
part no. C6-25, $4.08 in single 
units. Cut off the ends and pull 
out the appropriate pins. Use some 
of the plastic from the ends to 
make a key and glue it in. 

Bob Berch, Rochester, NY 


I was spending hours unsuc¬ 
cessfully trying to SAVE and LOAD 
programs. I traced the problem to 
the tape jacks on the ZX81. The 
jacks do not lock the plug firmly 
into place. I removed the jacks 
and substituted Radio Shack ones 
designed for thru-mounting. They 
are self-enclosed in a small plas¬ 
tic case with rear solder con¬ 
nections. I used a solder lug bent 
at a right angle to mount the jack. 
One end of the lug was soldered to 
the circuit board and the other was 
used to mount the jack. Take care 
to position the jack so the plug 
can be inserted properly. I 
soldered a short jumper in the rear 
for the HOT side connection. A 
ground was not necessary since the 
ground lug did the job. 

Ron DeBalko, Wilkes-Barre, PA 


Data names use far less 
storage than constants in your ZX 
computer. Thus using the name NO 
instead of the number 0 saves five 
bytes of RAM. One must, of course, 
take into account the RAM used to 
hold that variable and the program 
line which generates it. 

Checking through one of my 
programs, I found the number 0 was 
used 44 times. Establishing the 
variable name NO, for example, and 
setting it equal to 0 saves over 
200 bytes of storage even if you 
include the extra space needed to 
store the variable. Of all numbers 
used 3 or more times in this 
program, putting an "N" before the 
numeral (thus converting it to a 


variable name) and then setting 
that variable to the number it 
represents saved 1240 bytes. (My 
program used 34 different numbers 
occurring 305 times.) At the end 
of memory, 1.2K looks like a lot. 

If storage space was scarce to 
start with, don't waste your 
savings on program lines creating 
these new variables. Rather set 
values by entering commands such as 
LET N0=0 with no line number. 

John L. La Pin, Germantown, WI 
USERS' GROUPS 

Here's the list of users' groups 
that have contacted us this month. 
To list your group, drop us a line 
or give us a call at 617-456-3661 
and we'll send interested people to 
you. If you're looking for a group 
in your area, send a SASE. We'll 
send what information we have.—AZ 

New Orleans, LA: Contact Tom 
Fussell, 13721 Chef Menteur Hwy., 
#219, New Orleans, LA 70129, 504/ 
254-4425. 

New York, NY: Contact ZX Users 
America, Michael Wilson, 626 Water 
St., New York, NY 10002. 

North Alabama: North Alabama 
ZX80/1 Users Group, Bob Boyer, 1103 
Rivlin Rd., Huntsville, AL, 883- 
4354 evenings. 

UK PRODUCTS LISTING 

Want to know first-hand what's 
happening with British ZX hardware, 
software and publications? We have 
a limited number of official show 
guides from the 3rd ZX Microfair, 
held 30 April-1 May in London. 

This 69-page book lists 79 ZX sup¬ 
pliers with product descriptions 
and prices, many not available yet 
in the US. Guide also includes 
some program listings and tips. 

Send $2 to SYNTAX Show Guide, RD 2 
Box 457, Harvard, MA 01451. 


13 



NOW, THE BESTSELLING 

HOME COMPUTER PACKAGE 

IS AVAILABLE FOR THE ZX81 


Why is THE HOME COMPUTER PACKAGE a bestseller? Judge for yourself: 


BILLBOARD 

Your message scrolls 
continuously across 
the screen in giant let¬ 
ters. Perfect for dis¬ 
plays and exhibits. 
Messages are easily 
changed. Press “S” to 

SAVE a message on 
tape. When reloaded, it 
comes up running. 

COMPOSER 

A color keyboard overlay turns your com¬ 
puter into a multi-octave musical instru¬ 
ment. Broadcast music to nearby radios 
as you play — or play through your own 
sound system — or record directly onto 
tape. Stores notes as you play, ready for 
immediate playback. EDIT keys allow 
easy changes. Single-step forward or 
backward through your piece. SPECIAL 
EFFECTS keys let you create laser blasts 
and arcade noises. 

CHECKBOOK BALANCER 


Keep a running tabula- 

ETCH-A-SCREEN 

tion of your bank ac- 

Easily paint text and graphics over most of 

count. Reconcile bank 

the screen. Move forward, backward, up 

statement to check- 

or down, leaving behind text, graphics, 

book balance and dis- 

and inverse characters. Keys REPEAT 

play both. Stores and 

while held down. Your drawing can be 

displays up to twenty 

stored on tape... and immediately ap- 

uncleared transac- 

pears when reloaded. Perfect for desig- 

tions, (more on larger 

ning screen logos or just doodling. 

memories). 



The complete ZX81 HOME COMPUTER PACKAGE, including cassette 
of four programs, manual, guide cards, screen display sheet, musical 


score sheet, and TWO FULL-COLOR KEYBOARD OVERLAYS, is just 


$9.95. Shipping and handling included! 


$ 9.95 


From: LAMO-LEM LABORATORIES, CODE 114 BOX 2382, LA JOLLA, CA 92038 


The ZX81 Home Computer Package, ($9.95) 
— ■ similar items: ■ ■ - —— 

The ZX80 Home Computer Package 

(for standard 4K ROM), ($9.95) . 


The Timex Sinclair 1000 

Home Computer Package, ($9.95) . 

■■■ . also available: — 

ZX81 Classics (with K-Trek, Life, 
Lunar Lander, Mastermind), ($9.95) 

ZX81 IK Disassembler, ($9.95) . 



TOTAL 


The ZX81 Home Computer Package runs on 
allZX81’s, (IKmemory or more). Also on 
ZX80’s with optional 8K ROM. Enclose check 
or money-order with or ders. No postage, han¬ 
dling, or sales tax. Foreign orders add 30% 
for airmail. All packages carry ten day re- 
fund-or-replace guarantee. 


Our catalog, with screen display and coding sheets, is free! 


NAME 


ADDRESS 


STATE/ZIP 
















/""" BANI-TECH \ 

Software of the Month Club 

Get the most from your ZX81 with 16K, use it to 
its full potential, while building an impressive in¬ 
ventory of software. Receive twelve listed programs— 
one a month. Programs like Income Tax Recording, 
Auto Maintenance, Household Expenses, Price of 
Gold Forecasting, Diet Planning, Scrooge’s Christmas 
Gift and Card List and many, many more for the 
incredibly low price of just $19.95 per year. Save 
your valuable time and get down to basics! 

Make checks payable to BANI-TECH 
P.O.Box 1568 
Princeton, N.J. 08540 

□ My check for $19.95 is enclosed. 

Please charge my □ Mastercard □ Visa 

Account Number__ Exp_ 

Signature___ 

Name __ 

Address___ ! 

City--State_Zip_ 

--- -- ^ 


EXPANDING EXISTING 16K PROGRAMS 

If you upgraded to 48K RAM for 
your ZX81, you may think it simple 
to add a few program lines and en¬ 
large the variable arrays in exist¬ 
ing 16K RAM programs to utilize the 
increased memory capacity. If you 
try this by setting RAMTOP to 65280 
(for 48K RAM) and entering RUN, you 
get an error 4—not enough memory. 

To understand what happens, 
refer to the ZX81 manual, chaps. 
27&28. Note memory is partitioned 
into variably sized areas for stor¬ 
ing different kinds of information. 
Before a program is entered, the 
area called SPARE occupies most of 
memory. As the program goes in, 
the area between D FILE and STKEND 
shifts upward and SPARE becomes 
smaller. Above SPARE are 3 addi¬ 
tional areas, MACHINE stack (whose 
address is pointed to by ERR SP), 
GOSUB stack (whose beginning is 1 
byte under RAMTOP), and USR rou¬ 
tines (of no concern now). 


When you enter a 16K program, 
RAMTOP is set at 32768, unless you 
choose a different value (see chap. 
26 of the manual). ERR SP is set 
exactly 4 bytes below RAMTOP. The 
area between ERR SP and RAMTOP is 
reserved for the GOSUB stack. As 
the program runs, this area expands 
and contracts as the program goes 
to or returns from subroutines. 

Since RAMTOP is a normally 
fixed value representing the first 
non-existent byte of memory, the 
first byte of the GOSUB stack is 
normally the last byte of RAM. 

Thus no provision is made to adjust 
the GOSUB stack even if RAMTOP is 
changed. So LOADing a 16K tape . 
into 48K RAM does not automatically 
expand the available space. 

Fortunately, the situation is 
easy to fix with a few entries in 
the immediate mode. 

1. To set RAMTOP at the desired 
value (assumed to be 65280 here): 

POKE 16388,0 
POKE 16389,255 
NEW 

2. Test the RAMTOP value you just 
entered by: 

PRINT PEEK 16388+256*PEEK 16389 
This should give the value 65280. 

3. LOAD your taped program in 
the normal way. 

4. Enter in the immediate mode: 
POKE 65279,62 

POKE 65278,0 
POKE 65277,6 
POKE 65276,118 
POKE 65386,252 
POKE 65387,254 

These are the initial values that 
would exist had the program been 
entered with RAMTOP set at 65280. 

5. Now clear the initial GOSUB 
stack and the first line of the 
machine stack. Enter: 

POKE 32767,0 
POKE 32766,0 
POKE 32765,0 
POKE 32764,0 

You are now ready to expand that 
16K program. 


R. Hensley, Riyadh, Saudi Arabia 
15 



HARDWARE PREVIEW—RD8100 SYSTEM 


Products: RD8100,1 motherboards & 

RD8110-80 modules for 
controller applications 
From: Mindware, 70 Boston Post 

Road, Wayland, MA, 01778 
USA. (US distributor) 
Prices: Super MUM $99.50 

Micro MUM $44.95 
Modules $74.95-84.95 

When you want to try an idea 
quickly, these modules eliminate 
hardware problems that get in your 
way. Every setup I tried worked 
right away. 

SYNTAX doesn't review proto¬ 
types, so let's call this a pre¬ 
view. Hardware we saw is not 
available in the US until the end 
of June. Module packaging could 
change, but we expect the mother¬ 
boards to remain the same. This 
hardware is now sold in the UK. 

RD8100 motherboards and mod¬ 
ules are building blocks that plug 
onto your computer or together to 
create instant systems. Modules 
resemble cassette cases with con¬ 
nectors on the long, thin edges. 
Two-module MUM-boards are flat PCs 
that plug into your computer's 
expansion connector. Super-MUMs 
hold 8 modules and provide an 
attractive sloping case that fits 
behind your computer. Super-MUMs 
fully buffer the expansion bus; 
both expanders let you connect the 
ZX printer and memory modules. 

Documentation for the system 
we previewed is small, consisting 
of typewritten pages reduced to 4" 
x 6". Despite the difficulty in 
reading it, the information was 
complete enough for our tests. 

We spent several hours looking 
at and trying the equipment. We 
saw everything but the light pen, 
and tried the On-Offer and the 
Volt-Catcher. 

Mechanically the modules and 
motherboards look and feel good. 

The PC boards use low technology— 
wide traces and large separations. 
Since the modules are sealed, we 


couldn't see internal construction, 
but we could see how the mother¬ 
boards went together and they seem 
well done. Modules slip easily 
onto the Molex KK-type pins of MUM- 
boards, making all necessary bus 
and power connections. Sockets at 
the top accept poke-in wires to 
connect external devices. My com¬ 
plaint is that the module addresses 
are on the side of the module where 
I cannot see them when they are 
assembled into a system. 

Test features built into the 
module tops simplify testing. LEDs 
indicate the state of the output 
port, for example. Most modules 
flash a green LED when addressed, a 
major convenience in testing. 

We tested the I/O port, and A/D 
converter functions. In a few min¬ 
utes, we were able to connect a 
pot between 5V and 0V and write an 
8-line program to read DC volts, 
convert the 0-255 data to 0-5V for 
screen printout, test against a 
half-scale limit, turn on bit 4 of 
the output port to drive a beeper, 
and wait for a keypress to turn off 
the alarm and retest the voltage. 
Our digital voltmeter read the DC 
voltage simultaneously and accuracy 
seemed reasonable though we made no 
attempt at calibration. 

All our tests were run with 
BASIC PEEK and POKE instructions, 
so operation was slow. We did not 
verify RD Lab's claim that machine 
language would be faster, but I 
believe it. 

Mindware tells us that a real¬ 
time clock module is currently 
being debated. I cast my vote for 
a 24-hr calendar clock (day, hour, 
min, sec) with battery-backed 
timing—useful for business and 
laboratory applications. 

Cost of parts to build any¬ 
thing you would assemble from these 
modules would be a fraction of the 
cost of one module. What you 
really buy with RD8100 components 
are hassle-free hours when you want 
the result rather than the building 
experience. —KO 


16 





SOFTWARE REVIEW 

Program: Adventure A 

Type: Game 

ROM/RAM: 8K/16K 

Price: $19.95+1.50 post & hand. 

From Softsync Inc., PO Box 480, 
Murray Hill Station, New York NY 
10156. Written by Artie Computing 
and published by Melbourne House, 
England. 

Adventure is not for impatient 
or unimaginative players. It has 
no bombs, no graphics, and no 
split-second decisions. It is an 
intellectual game requiring thought 
rather than reflexes. 

It works like adventure games 
on bigger micros—the computer des¬ 
cribes your situation, and you must 
tell it how to proceed. You move 
through fantastic places, acquiring 
items to protect yourself from 
hazards while trying to return 
safely to your spaceship. You 
direct the computer in simple 
English sentences. This dialog is 
part of the game's challenge— 
deducing the computer's vocabu¬ 
lary—while also making it 
relatively easy to play. 

This self-starting program 
comes on cassette with an instruc¬ 
tion sheet offering hints (but not 
enough). My copy loaded the first 
time. I tried to break into it to 
see the listing, to no avail. I 
also could not crash it. 

I also could not beat it. 
Fortunately, you can type QUIT at 
any point and exit. I bailed out 
of the maze, the pit, the prison 
cell, and the old house in one sit¬ 
ting, never coming near finding my 
spaceship. 

In short, this game impressed 
me. The machine's reaction time is 
quick, the possibilities intriguing 
and it's tough to beat. It's a 
good exercise in logic and strat¬ 
egy, though be warned it can be 
frustrating. Softsync also offers 
Adventures B and C for the truly 
masochistic.—AZ 


ANNUITY—8K/1K 

This 8K ROM/IK RAM program 
calculates the payments needed to 
pay off a loan or how many years it 
takes to pay off a loan at a fixed 
payment. If the fixed payment 
would never pay off the loan, an 
error code A results. 

Suppose you wish to finance 
$50,000 for 30 years with an annual 
interest rate (APR) of 12%. In 
response to the prompts, enter 1 
for payment, 30 for years to fin¬ 
ance, 12 for payments per year, 12 
for APR, and 50000 for loan size. 
Your monthly payments are $514.30. 

Or you wish to finance $5000 
at 14%. You can afford $200 per 
month. How long will it take to 
pay off the loan? Enter 2 for pay¬ 
off years, 12 for payments per 
year, 14 for APR, 5000 for loan 
size, and 200 for payment. You'll 
need 2.4774869 years. 


R. Townsend, West Fork, AR 


10 
NT E R 

PRINT 
1 ** 

R 1 

x* t i j : ‘ru M 

FHYHtNf E 

£© PRINT 
fiRS ENTEh ■ 
30 INPUT 
4-S CL5 

ri I 

Q 

2 „t 1 ' l~ Li hi 


5© 

TST tTs 

2 T 

HEN GOTO 

3 © 

60 

78 

PRINT 

INPUT 

HT 

Cj -j - “yp s c 

a J O 1- -L.NRN 

38 

PRINT 

fiT 

S' ; I ; E: HOW 

ITHNY PHY M 


£ NTS P £R VEHPT 5 5 


s@ 

INPUT 





100 

CL-5 





110 

IF O ~ 

T H 

E N 

£5l* hi O 

X o ko 

120 

LET N 





130 

PkTITT 

fiT 

O c Q 

: i: rd 

-- V ! 5 

14 0 

T> 4 jpji nr 

H 




'1 CTA 






168 

L.U! JL 

— f* / i 


$.2. i 


1 f'© 

PRINT 

FIT 


- s 5 § 

f4 f*-J S J 7 F y s E 

-7 

J.. O 

INPUT 

r-= 




190 






200 

IF O - 

2 1 FI 

pr kj 

fi OT O 

;~= rr £5 

2 1© 

LET 3 

= j/ ( 

:?. — ( 

4- X ? 

IT — I vj ) 

22© 

L. ET P 

r ( Tf\i 

t 

-¥• R 

X 0 0 j J / 3. 0 0 

2 -3 0 
$ 1 ' j P 

OK TM7 

fiT 


: - : h Li 

U H I—' H Y H E NT — 

iC? *£• 

STOP 





25© 

f-' .9 IN f 

M~! 

S , l 

; : - p 

v HP NT =-.' " 

2&s5 

INPUT 

fT* 




2 t'8 

ij 1_. t> 





k*38 
(1 + 13 

L ET M 

= U - IN 

1 K 

2 ' l H - 

S X 13 j .3 i L H 

29© 

I. ET N 





3©© 

PRINT 

pti 

9 „= 1 

_L ? 


**; N j 

■. Y r< 5 





310 

5 i Of 






SYNThCT IC SUM : 3 /82y 


17 





LOADING HEXADECIMAL LISTINGS—8K 

Have you ever skipped a 
machine code (MC) program because 
use the BASIC loader program given 
with it looked hard? Here is a 
solution. To use a hex MC listing, 
just type the hex codes into a REM 
statement. This program converts 
the hex and stores it into a space 
explicitly for it. 

As an example, look at this MC 
program to add 10 and 20 in hex: 

HEX ASSEMBLY COMMENTS 
3E 10 LD A,10 ;first number 

06 20 LD B,20 ;second number 

80 ADD A,B ;A=A+B 

06 00 LD B,00 ;B=00 

4F LD C,A ;BC=00xx 

C9 RET ;return 

With a listing like this, you'll 
often find a loader program to help 
you enter the code. It usually 
asks you for a start address (where 
to put the code), then lets you 
type in hex (or decimal). The 
lines you enter appear on the 
screen and scroll. As you type in 
codes, the computer POKES the 
binary equivalents into successive 
memory locations, usually in a REM 
statement. 

This method has several draw¬ 
backs. First, whenever you want to 
use or test the MC, you must use 
the loader and type it all in 
again. Second is the messy REM 
statement. You often have to type 
in something like: 

1 REM (437 spaces) 
just to use other loaders. 

Third, you must be careful not 
to LIST the program, or that REM 
line might crash the system. 

To use our example program 
with the XFER loader (listing 
follows), type in these two lines, 
with the XFER program itself: 

10 REM ( 3E 10 06 20 80 06 00 
4F C9 

20 REM $ 

RUN. After it loads your MC, it 
will GOTO 1000. The code at 1000 
executes your machine code via a 
USR statement. The way the code 


SYNCH ROSETTE 

FOR THE ZX-80 & ZX-81 
8K ROM IK - 16K 

GAM ES-EDUCATIONAL-BUSI NESS 
GRAPH ICS-TUTORIAL-ETC. 

24 HR HOTLINE - 800-543-1300 
IN OHIO -800-582-1364 

Ask for operator No. 383 


12 monthly issues - 6 bi-monthly 
cassettes containing at least 6 programs each 

$39.50 — 


ILL. Residents add $2.07 tax 
outside USA add $10.00 

S & S CO. 

388 West Lake Street • Addison, IL, 60101 

(312) 628-8955 


runs gives you these features: 

1. You can place your MC REM 
lines anywhere in the program, as 
long as they each open with a ( 
character, and the set of them is 
eventually followed by one REM $ 
statement. 

2. Any number of spaces may pre¬ 
cede or follow the hex codes. But 
do not put any spaces before the 
opening ( or the terminating $ 
after REM. 

So these lines are legal: 

10 REM (3E 1006 20 80 

20 REM ( 06004F C9 

30 REM $ 

You may also interleave any number 
of BASIC lines (including standard 
REMs) with your hex code REMs. The 
same rule applies to the REM $ 
statement. The only restrictions 
are that the lines must appear in a 
linear order and you must not split 
the hex codes themselves (ie, 
inserting spaces between the 2 
digits of a single code). 

If you make a mistake, just 


18 




«r 


edit the REM statement as you would 
any BASIC line. 

XFER fills a string variable, 
Z$, with binary bytes of MC, con¬ 
verted from hex. Note the LET Z$ 
at line 110 m ust be the first 
assignment (LET) statement executed 
in the program. Be sure to use the 
token for REM in line 330. Type 
330, then REM (E key), then back¬ 
space with the left arrow key and 
type IF X$..., then move with the 
right arrow key to finish the line. 


REM 

II® LET 
120 LET 
14-e LET 
1 * 256+3 
200 REM 
210 
220 
230. 

S4-® 

a i->. 


XFER 

z$-'- ** 

R=16513 

Sft=PEEK 


164-00 +PEEK 164-0 


rift. 


OOP 


G05UB 30© 

IF X f ='' l FHEN 
£*~ X$ = ”s:“ T HFhi 

©OXO'£00 
REM FIND ft REM 
310 LET ft=ft+5 
320 LET X=PEEK ft 
325 LET XS-CHRS X 
330 lF X $— ’ 5 REM 1 
•34-0 LET ft =ft + 1 
350 IP PEEK ft= 11 S 
360 GOTO 340 
3/0 LET h=h +1 


>0505 4-00 

;oto 10@0 


THEN GOTO 375 
THEN GOTO 306 


380 LET X -PEEK ft 
385 LET Xt=CHRt X 
320 RETURN 

4-00 REM PROCESS ft LINE 
418 GOSUB SO© 

428 IF EOL-1 THEN RETURN 
438 LET H =(X-2S5 +16+PEER ift + i> - 
28 


448 LET ft =H +1 

458 LET Z$=Z*+C HR$ H 

468 GOTO 480 

588 REM FIND ft NON-SPftCE CHRP 

585 LET EDL -8 

518 LET ft=ft + I 

528 LET X-PEEK ft 

538 IF X=© THEN GOTO 51© 

548 IF X =118 THEM LET EOL=i 
558 LET X $ --CHR $ X 

580 RFTi jDM 

1888 REM DONE WITH XFER 
1818 LET URLUE-USR 3ft 
SYNTACTIC SUM: 43503, SK 


To place machine code in the 
first line (REM) of the program, 
make these mods: 
delete 450, 140 
130 LET D=16514 
140 LET SA=D 

450 POKE D,H 

451 LET D=D+1 

When you want to call your machine 
code, use a USR call to SA. This 
is illustrated in line 1010. 

If you enter the example MC 


program here, change line 1010 to 
PRINT USR SA. The answer should be 
48, which is 10+20 in hex. 


David Ornstein, 


Heuristics, 
Newton, MA 


NUMBERS HELD INEXACTLY ON THE ZX81 

(Part 4 of a series) 

The ZX81 doesn't hold simple 
decimals like .5 & .25 exactly. 
That is because (1/10) expands as 
(1/8)x(8/10), ie, as 2 ^ times . 8 , 
or 125 76 204 204 204, ... (where 
the 76 also stands 
plained earlier.) 
display the 5-byte 
tion of a number: 

10 INPUT X 
15 FOR U-i TO s 

LET O = P tiE K 16480 +255 *PFFK 


for 204 as ex- 
Use Program 1 to 
ZX81 representa- 


28 
64© 1 
38 
4© 
P© 
6© 
78 


LET' jf €_.! 4 - . f 
PRINT PEEK I;” -- ; 

NEXT U 
PRINT 
GOTO 10 

so .1 has no exact representa¬ 
tion as a binary number. Its best 
approximation is 125 76 204 204 204 
in 5 bytes. But the ZX81 doesn't 
round up the quotient after divi¬ 
sion in a case like this. It holds 
0.1 as 125 76 204 204 204. Hence, 
0.5 is held as 127 127 255 255 255 
instead of the exact result 128 0 0 
0 0 and .25 is held as 126 127 255 
255 255 instead of 127 0 0 0 0. 

(why SQR .5 and SQR .25 were 
affected by the old 8K ROM bug). 

To hold these fractions ex¬ 
actly, write them as 1/2 and 1/4 
(or 5/10 and 25/100). If all else 
fails, take a few weeks' holiday 
and master machine code! 

This program gives best 
results (exact wherever possible) 
for all these decimal fractions: 

18 LET X=© 

2© LET U=PEEK 164 ©8+256 *PEEK ’ 
64© I 

"ENTER ft NUMBER THftT 
w : hhls y j. Tn h DEOIHPL POINT own 
CONTftINS NO E-FORMhT” 


4© 

5@ 

6© 

"7 

80 

98 

18© 


INPUT 
LET B 

1 er s 
:~-s— f t_ 

L ET' D 

F ’. r-, — 

r\ 

LET 
HEX' 


B =5 


t n 


- N B S 


r> : 


1 

1 " 
3 S*, 


19 



110 LET X=U RL 

IS© FOR X =U 4- 1 TO U-f-5 

13© IF URL B$”D*X>=2^^32/2 THEN 

POKE U +5,PEEK (U+5) +1 

14-0 PRINT PEEK X; 

15© NEXT I 
160 PRINT 
IT© GOTO 4-0 

With this program, .5 now gives 128 
0 0 0 0 , an exact answer, .25 gives 
127 0 0 0 0 , an exact answer, and 
best 5-byte approximation. A bit 
surprisingly, .0000000000009094947 
018 gives 89 0 0 0 0, which is 
exactly 2 . The ZX81 is full of 

pleasant surprises! 

Frank O'Hara, Surbiton, Surrey, UK 

SCREEN BACKGROUND FOR GAMES 


CLASSIFIED ADS * 

Reach thousands of ZX80/81 owners! 
Send your ad, typed 35 char/line, 
with check to arr ive by the 15th 
for next month's issue. Ads arriv¬ 
ing after the 15th appear in issue 
after the next month. Ads are $9 
per line and must be resubmitted 
for each month. No phone orders or 
credit cards. We take no respon¬ 
sibility for advertisers. SYNTAX, 
RD 2 Box 457, Harvard, MA 01451. 

ZX81 Software for lk or 16K RAM! 
Games,Business,etc- Accessories 
Great Lakes Software,201 Burlington 
Road, Valparaiso IN 46383 


A dark or solid background 
often gives a better effect for 
printing or plotting in games. 

With an 8K ROM and 16K RAM, an 
almost instant background is 
possible in BASIC. 

Here's how the following lines 
work. First, pick the character 
you want to fill the screen with. 
Then by filling the array A$ with 
this character, you lengthen the 
string to 704 bytes (exact screen 
size). When you enter PRINT A$, 
you'll get an almost instant screen 
fill. Before printing your string, 
enter PRINT AT 0,0; (line 90). 

This lets you start printing at the 
first byte of the screen. 

You can store this string on 
tape or in your program as long as 
you don't type CLEAR or NEW. After 
running the program, you can delete 
all the lines and then use the 
string in another program. For a 
nice effect, try using an inverse 
space and then unplotting a line. 


TWICE THE MEMORY, INCREASED SPEED 
The 6116 2K x 8 150ns Static Ram 
available for immediate delivery 
at a cost of $19.00 $1.00 for 

shipping. Full instructions for 
ZX81 installation. Send check or 
MO to: SUPPORT SYSTEMS ONE, PO 
BOX 1794, Phila., PA 19105 

MORE GAMES FOR YOUR ZX81... 

Five IK programs.$10. 

Bandit, Chase, Life, Pong, Skeet. 


Any two 16K programs.$10. 


Bong 

Checkbook 

Solitaire 

Biorhythm 

Backgammon 

Cat and Mouse 

Guess the Animal 


Craps 
Hangman 
Checkers 
Blackjack 
Stock Market 
Klingon Wars 
3D TicTacToe 


— all programs on cassette tape — 
Send check or money order to: 


BIOCAL SOFTWARE 
340 Cypress Drive 
Fairfax, CA. 94930 


Paul Qualls Jr., Amarillo, TX 
I© FR5T 

2© DIM R$ C704-i 
30 INPUT h$ 

4-© FOR F = i TO 704- 
5© LET Rf ( F) 

6© NEXT F 
7© PRINT RT O,©; 

SO PRINT R$ 

90 PRINT hT 0 , 0 ; 

SYNTACTIC SUM; 6678, 8K 


ZX-81's FOR SALE $145.95 & $4.95 
for shipping and handling. New, 
complete,tested,in stock and ready 
to ship. 80 day warranty. C.O.D., 
certified check,VISA/MC we can 
expedite delivery. National 
Electronics III 10425 Kingston Pike 
Concord, TN 37922 1-615-690-8927 
Hrs: 10-6 M-F 10-5 Sat. 


20 







CP PRODUCTIONS 


Demogogue Adventures 

Tower of Survival .$25.95 

Castle of the Sorceror. 20.95 

Sea Battle.15.95 

SAT Vocabulary.15.95 


BASIC Computer Programming.... 15.95 
Send check or money order to 
CP PRODUCTIONS 146 S. Coffeen Ave. 
Suite 141 Sheridan, Wyoming 82801 
Send for free catalog 

FOR FREE INFORMATION on educational 
software & data loading monitor. 
Send long SASE to Edson Electronics 
P.O. Box 151211, Tampa, FL. 33684 

Zilog Z80A CPU Tech Manual $7.88; 
Zilog Assembly Lang Prog Manual 
$15.75; Crash Course in Microcompu¬ 
ters $19; ZX80 Pocketbook w/8K 
supplement $16.45; 4K Annotated ROM 
list $40; back issues of SYNTAX $4 
ea. All include shipping. SYNTAX 
RD 2 Box 457 Harvard MA 01451. 

New program finds vertex and points 
in quadratic equations, solves two 
variable equations, plots points in 
two variable equations, and more. 
For tape send cash or M.O. for $8 
to Van Kirchhoff, RR1 Box 21, Brid¬ 
geton, NJ 08302. 

** THE EXPANDABLE ZX80 AND ZX81 ** 

* More than a book of hardware * 

* projects. Only 9.95 + 1.25 p&h * 

* To: Box 1222 ShowLow Az 85901 * 

FOR SALE ZX81 (no kit), 16K RAM, 
Sinclair software Jr Ed I and Games 
II. $175.00 W. Hulett, 4331 Deer 
Creek Dr., Jackson, MS 39211. 

FIFTY NIFTY PROGRAMS FOR YOUR ZX81! 
Book has 50 Top Quality LK programs 
w/instructions+comments. Full of 
GAMES/GRAPHICS/FUNSTUFF. ONLY $7.95 
LEE CARTER Bx 246 Harrison,ME 04040 

********* L Q T g Qp GRAPHICS********** 
LAND THE SPACE SHUTTLE and LAND/AIR 
BATTLE. Two games on one tape.$8.95 
*NEW* SPACE BATTLE. On tape...$6.95 
Above games for ZX81/16KRAM*FUNWARE 
7119 Santa Fe Av. Dallas, Tx. 75223 


Sale:Security Program-protect prog¬ 
rams and files;makes*them nonlist- 
able or editable;must enter code to 
use;on cassette;send $15 to Mark 
E.Rogers ,Rt. 2 Box 221-H,Saucier, 

Ms. 3 9574 

ADD ON MEMORY for ZX80/81: 16K 
Memory assembled and tested. No 
extra pwr/supply needed. 90 day 
warranty on parts & labor.$65.95 
PPD, check or money order only: 

CA residents add %6. 

KB Enterprises 
PO Box 271173 
Escondido, Ca. 92027 

FREE CATALOG! FLIGHT SIMULATOR $10 
accounting spreadsheet programs $35 
african pilot:arcade adventure $10 
Hensley, Box 334, Asheboro NC 27203 

OVERHEATING HAVE YOUR ZX81 DOWN? 

You need an improved heatsink. 

For info send SASE to: B. Sanzone 
289 Baxter Lane Milford CT. 06460 

AT LAST! THE ULTIMATE DUNGEON GAME 
for 16K ZX81! Labyrinth of Qazxl is 
a multilevel semitext dungeon that 
maps what you see! Find treasure, 
fight monsters(9 kinds), gain exp¬ 
erience, move up levels. $18 US; 

+ bonus dice game. Send MO in $CDN 
to JLK Software, 6 Dufferin Place, 
St. John's, NFLD, Canada, A1A 2V1 

Mom ROM got you down? Put HOT Z in 
your ZX81 and become master of your 
own black box. HOT Z takes the 
drudgery and mystery out of machine 
language: cursor driven, labelled 
listings, easy edit functions, 
assembly, standard Z80 mnemonics, 
and fast response. Easily expanded 
and personalized. No BASIC. Needs 
16K and SLOW. Cassette with over 
40 pages of documentation: $19.95 
SINWARE, Box 323, Dixon, NM 87527 

OPERATE MORE THAN ONE CAR? ZX81/16K 
listing to track time/mileage of 4 
maintenance items on 3 cars. Send 
$1.00 and SASE to: Johnson, 9806 

Longview, Ellicott City, MD. 21043 


21 






2 PLAYER FLICKER FREE GAMES WITH 
PLENTY OF GRAPHICS FOR THE ZX81 IK 
TANKS: Destroy opponents tank or be 
killed. SUBS: Launch subs,but mines 
ARTIST: Draw your own pictures.List 
ings $5 ea or 3/12.M.Dmytryshyn 56 
Riverwood Pkwy Toronto Can. M8Y 4E5 

ZX81 keyboard tactile feedback, 
touch typing possible, helps stop 
missed keys, simple to install 
overlay. $3.95 P.Hargrave,Site V, 
RR4,Nanaimo,B.C.,V9R5X9,Canada 

WE CHALLENGE THE SOFTWARE COMPANIES 
TO LOWER THEIR PRICES! 


Biorhythms 8K ROM/lK&up.1.00 

Graphics Billboard 8/lup.1.00 

Horse Race 8/lup.1.00 

Spinner T.M. (like Rubik 1 s)8/16.1.00 

Improved ZX81 PAUSE.1.00 

Linear Regression 8/lup.2.00 


SASE get you our GOODIES CATALOG 
Order gets you!!FREE!! PROGRAM 
EZRA GROUP II 
EZRA GROUP II 

POB 5222 San Diego,California 92105 

**** Kits *** Kits *** Kits **** 

Enhance your ZX81 with these 
palm-sized Plug-On Boards! 

The CX81 : Enables you to quick¬ 
ly load up & display photoimages 
DOT FOR DOT on your TV! 

The RX81 : Allows computer con¬ 
trol over 8 inputs/outputs. Add 
relays for your own applications! 

The LP81 : Light Pen. Imagine 
being able to draw and erase di¬ 
rectly on your TV screen! 

** Any Kit $ 49.95 less case ** 

** Requires soldering,2K Mem.** 
ZODEX 

EASTHILL,OAKHAM,MAO10 6 8 
******************************* 

COMING SOON! "TRADER JACK" 

16K RAM - Imported from the U.K. 
Fantastic - Beats Rubic's Cube! 
Polynesian Trader - Inter Islands. 
Hazards,Profits,Losses,Storms. 
Savage Software PO Box 892 
New Smyrna Beach, Florida 32069 


THREE-PORT 8255 based I/O board 
with 16K RAM edge connector, $45. 
Professional Electronics,109 Ches- 
ney Lane, Columbia,S.C. 29209 

*********************************** 

COMPUSETTE is a C-10 cassette which 
is especially designed for micro¬ 
computer application by Tapemasters 

IN TEXAS PHONE (214) 349-0081 
FREE OUT-OF-STATE 1-800 527-1227 
VISA MASTERCARD C.O.D. 

25 FOR $20.00 
100 FOR $70.00 
500 FOR $330.00 

10% DISCOUNT FOR CASH 
MAIL CHECKS OR MONEY ORDER TO 
TAPEMASTERS-POST OFFICE BOX 38651 
DALLAS, TEXAS 75238 

FREIGHT PREPAID*DEFECTIVES REPLACED 
*********************************** 

"Original MicroAce 4K keyboards 
Easy to replace.$2ea. or 3 for $5. 
Also have the following misc. parts 
4K MicroAce cases($10),Microace 
plastic pieces to hold PCboard+case 
together (3sets$l.50), ZX81 Manual 
($10)and 4K MicroAce keyboard($12). 
Write for addt.parts available for 
the MicroAce. Send check to:Bob 
Ward 3176 Oak Knoll Los Alamitos 
Calif. 90720 

MEDIEVAL FANTASY (on tape) $9.95 
Animated graphic displays of 8 
different monster battles;Forays 
into the crypt;Retreats to the town 
(ZX81/16K RAM) ck payable-A. Daw. 

78 Aberdeen, Clayton MO 63105 

COMING SOON! "ZX81 MONOPOLY" (C) 

16K RAM - up to 6 players- imported 
From the U.K. Spanish Board Version. 
Savage Software P.O. Box 892 
New Smyrna Beach, Florida 32069 

7 GAMES on CASSETTE—IK $10-16K $15 
Mastermind,Doublemind,Slot Machine, 
Craps,Tic Tac Toe,Sub Rescue,White 
Hot Number. NEW ENGLAND SOFTWARE, 
P.O. Box 691, Hyannis, MA 02601 


22 








-FANTASTIC SPACE WAR GAME !- 

X-81 SPACE RAIDERS for ZX81 w/ 16K. 
ML graphic and math routines create 
fast, exciting, accurate simulation 
of space navigation and battle. 
$19.95 for cassette, manual, and 
keyboard overlay. NIRAD ELECTRONICS 
959 East 460 So., Provo, UT 84601 

ZX81 Assembler,Disassembler & Debug 
on cassette. $15. Info, send SASE. 

B Berch 19 Jaques St Roch. NY 14620 

OUR POLICY ON CONTRIBUTED MATERIAL 

SYNTAX invites you to express opinions related to any Sinclair computer or 
peripheral, or 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 and written in either 
Sinclair BASIC or Z80 machine code. 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. Programs submitted on cassette can be 
tested more quickly and with less chance of error. 

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 (program published in Feb. 81 and Jun. 81; send SASE 
for a free copy). 

• What RAM size program requires. 

• What ROM program uses. 

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. 


ACTION GAMES FOR ZX81 on cassette : 
ZAP, BOMBS AWAY, REAL TIME LANDER, 
GOLF, more 2K for 10$. Ck or MO to 
Brown, 53 Cliff La., Lev. NY 11756 

PICKLE MAN for IK ZX81! Eat dots & 
avoid Pickle Monster!! Listing $2 
w/SASE. Panero Software 3309 Lewis, 
Long Beach, Ca. 90807. Challenging! 

DIRECT FROM THE AUTHOR-AIR MAIL 
Understanding Your ZX81 ROM $18 

Sinclair ROM Disassembly Part A $15 
Sinclair ROM disassembly Part B $17 
U.S. Personal Cheques/money order 
accepted 

Ian Logan, 24,Nurses Lane, 
Skellingthorpe, Lincoln LN6 OTT,UK. 

Is it THE END of the world? Survive 
an attack. Game of intercontinental 
war. Tape $7.95. Free cat. JL Brown 
Rt.#3 Box 275-J Kingston, Tn. 37763 

BUFFERED BUSS/DEVELOPMENT BOARD for 
ZX80/81: $34=BARE BOARD+ZX conectri 
manual. $63=KIT. Includes RAM plan. 
See ad in Sync. UHF MODULATOR $15 : 
clean TV display,fits on ZX81. Full 
line of connector hdwr: Ribbon to 
ZX,$5. Send stamp for info. Prompt 
ship. COMPUTER CONTINUUM, 301-16 AV 
San Francisco CA 9411g. 415 7526294 


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: □ Diner’s Club □ American Express 

SYNTAX ZX80, INC. □ VISA □ Carte Blanche account 

account number__ 

exp. date_bank number (MC only)_ 

signature_ 

Name_ Title__ 

Organization_ 

Address___ 

City_State_Zip_ 

Day Phone_i_)_Evening Phone_(_)_ 

ZX8183 

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

617-456-3661 


23 



*10 FREE ZX-81 Programs 10 FREE* 
Games & home fin. Send $1.50 Pst 
& Hndl. -BUDGET CMPT. CLUB ,1311 
N. Ode St. 621#,Rosslyn,VA,22209 

ZX81/lk Listings: BLACKBOX-OTHER 
VERSIONS USE 8K! MASTERMIND & BIO¬ 
RHYTHM also included. $5 & SASE To 
G.Haroney, 106-B Antoinette Ct. 
Charlottesville VA. 22903 

PUT THAT ZX81 TO WORKM 
SORT -A great collating tool which 
files 1000s of items in up to 29 
categories on just 1KI $3 gets you 
list/explanation to learn build on. 
LEARN DATA HANDLING -ZX81 Phone Book 
16K-Holds 720 names! Makes a very 
useful cataloging device for other 
items too. Fully editable. Send $4 
for list w/detailed explanation. 

Tom Woods Box 64 Jefferson,NH 03583 

HOT Z lets you read and write Z80 
and floating-point machine codes. 
Available for 16K ZX80,81 and in a 
hi-mem version for 32K+. $19.95, 

cassette with full documentation. 
Sinware, Box 323, Dixon, NM 87527 

ADVANCED SOFTWARE FOR 16K ZX81's!!! 
ZX-FORTH,ZX-CALC(Spreadsheet), ZX- 
FILE, ZX-BUDGET, ZX-PLAN(Personal 
Calendar), ZX-INVENTORY. $20 ea. or 
3 for $50 or all for $100. SofTek, 
Box 4232, Santa Fe, NM 87502-4232. 



THE 

H\RV\RD 


GROLP 


Bolton Road, Harvard, Mass. 01451 



*** ASTROLOGY-learn to write a pro¬ 
fessional horoscope.Analyse person¬ 
alities & mate compatabaility.2 pro¬ 
grams available.Both list planets & 
houses.One then prints an analysis, 
the other,a chartwheel,suitable for 
professional use. Astrology trainer 
included. Tape $ 16. (914)255-5521. 

L&S,POB 935 NewPaltz NY 12561, 16 K 

FREE SOFTWARE CATALOG for the 
collector.ZX80/l/M.Ace 8KROM/16KRAM 
Send a SASE today. M.C.Hoffman 
P.O. Box 117, Oakland, N.J. 07436 

*********************************** 

*ZX-81, lk, 16k, games, utilities,* 
*business programs. Send for your * 
*$1.50 catalog today and receive * 
*a free game. OMEGA ENTERPRISES, * 

*P.O. BOX 1802, Indep., MO 64055 * 

*********************************** 

ZX-81/lK-Listing 6 Games-$2 
Z-Games POBox 367 Ringoes, NJ 08551 

Cassette I/O for ZX81 : This set of 
utility routines makes it possible 
for the user's program to selective¬ 
ly read or write strings and arrays 
to a cassette. That data may then 
be read by the same program or dif¬ 
ferent programs.The routines occupy 
approx 500 bytes and require 2K or 
more RAM. « $20/Cassette. COSMONICS 
Box 10358, San Jose, CA. 95157. 


First Class 


U.S Postage 
PAID 

Harvard, MA 
Permit No. 8 
01451