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.7orking 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 24 209.

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 1 0 , 20 ; "SUPER"

60 PRINT AT 12,18; "MONZXER"

70 FOR 1=3 TO 37 80 FOR J=1 1 TO 19 90 PLOT J,I 100 NEXT J 1 10 NEXT I 120 FOR 1=16 TO 24 1 30 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, 10 1 )

401 DIM A ( 6)

402 FOR 1=1 TO 3

403 LET R ( I , 1 0 1 ) = 1 0 1

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 ) + J 1 * 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 S 1 =6 610 DIM X ( 36 )

620 DIM T ( 30 )

630 DIM C ( 30)

640 DIM Q ( 30 )

650 DIM W ( 3)

660 DIM S ( 1 0)

670 DIM B ( 1 0)

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) =1 0 1

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=YRt 2 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 S 1 =S 1-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

2 1 20 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 ) )

2 1 80 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 1 0 , 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 of f- 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 6 4 4 6 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=1 6549 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 S OF TWARE AAAAAAAA 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

; 1 4 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-Microf air 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-f licker 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 . 79 d 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- - Inf ormation 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 finalfc 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=35 7 2 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=6 0 THEN LET H=H+1 150 IF M=6 0 THEN LET M=0 160 'IF H= 1 3 THEN LET H= 1 1 70 LET C$=M$

180 IF H= 1 2 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 2 1 , 1 8 ; 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 16 K 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 270 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- ( ( ( ( 25 1 *X) / 1 0 0 ) *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 1 1 0 FOR K=2 TO N 120 LET A (K) =RND (N)

1 30 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

SUPER Z

(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.

Ins tructions+lis ting- $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