July/ August 1982 Volume 2, Number 4 $2.95 (USA) £1.50(UK) The magazine for Sinclair users Jse the DEFine function ro Construct 3-D Plots To Explore New frontiers.. Six Games of Outer Space Sinclair ZX Spectrum: An In-depth Review Hardware: More Power Filtering, E i .... \ jory, V 1! *1U 1>V ■iK I % ,«** \ ^ T 1 m «W!W/, SYN1 2/01/ 194301606 12339 25034 ANDR£W KENNCBV- " 2 CAlUMET AVENUE 1 WORCESTER MA 01606 1 SINCLAIR APPLICATIONS PRESENTS ROM CARTRIDGES FOR THE IX 81 ROM PACKS • Eliminate the flustration of loading cassettes • Enable long programs without long load times or extra memory • Can't be erased, never fail to load CHARACTER CARTRIDGE • 3 on ROM character sets Program selectable ^per/lower case character set ' Graphics cttsffcqter set Math/electronics character set None of the above take up any user RAM iWith 512 bytes of user RAM the ' ROM PACK can build a Spanish or German character set with and I type characters USER DEFINED CHARACTER SETS • As many as you have RAM for (512 bytes each) • Easy-to-use interface for defining your own character sets Till October 15, 1982 $24.95! LUNAR RAIDERS • Your mission is to fly over the surface and knock out the alien facilities, supplies, and ships without getting yourself shot down, or running into mountains • Left, Right, Fire Controls • 10 Speeds ON A 272X192 DISPLAY! Till October 15, 1982 $19.95! 6502 SOFTWARE EMULATOR • Learn 6502 machine language onyourZX-81 • User manual • Plus introductory teaching guide to programming the 6502 • "Executes" 6502 machine code onyourZX-81 • Call Z-80 subroutines from your 6502 programs • Limited 6502 Assembler (Supports all 6502 mnemonics but no symbols or macros) • Graphic display of the 6502's status • Single step, multiple break points, 7 different break point conditions • "Fake" I/O and interrupts Till October 15, 1982 $24.95! 6502 GRAPHIC HARDWARE EMULATOR • All features of the 6502 Software Emulator • Plus graphic display of the 6502 chip's hardware status • Plus introductory teaching guide to the 6502 hardware Till October 15, 1982 $34.95! User's manual for any of the above - $2.00 each Teaching guide for software and hardware emulators • $5.00 each REFUNDED ON PURCHASE OF PRODUCT PRODUCT USER TEACHING QTY. MANUAL QTY. GUIDE QTY. TOTAL CHARACTER CARTRIDGE/$24.95 $2.00 LUNAR RAIDERS/S1 9.95 S2 00 6502 SOFTWARE EMULATOR/S24.95 $2 00 \ : " 6502 GRAPHIC HARDWARE EMULATOR/S34.95 $2 00 $5 00 SHIPPING AND HANDLING/S4. 50 $4 50 TOT AL> NAME_ ADDRESS. •Requires ZX-81. Tested on U.S. Version only. CITY. . STATE . .ZIP. MAIL TO: SINCLAIR APPLICATIONS SoKgaIo^s' (404)921-4471 / Now available in the US. at the incredible price of only $119.95 (£62.95) ACTUAL SIZE 3X2 THE 64K RAM PACK • Fully built, tested and guaranteed. • No additional power supply required. • Black plastic case no larger than 16K RAM PACK. • No wobble problems • Fully compatible with printer etc. I he use of this memory is as follows: 8K Sinclair ROM 8 - 16K RAM that is unaffected by NEW, LOAD, SAVE and can be used for storing machine code routines. 16 - 32K BASIC Code, Display file, Variables, Machine Code 32 - 64K Variables 16K RAM PACK at only $49.95 (£29.95) including FREE ALIEN ATTACK (7K -M/ code)- value $11.00 (£5.75) As reviewed in 'Your Computer' -- (March 1982) the leading U.K. Sinclair Publication. Almost 10.000 units sold in the U.K. so far. RS SOFTWARF f . r .^m —# ■ r — <- -* r r i w . i 19 WAYSIDE AVENUE, WORTHING, SUSSEX. BN13 3 JU Telephone: 10903) 65691 - M Explore the excellence of your ZX81 with a s = j^i = j^i-i5ii ftCPlOPAK 64K memory extension for $179.95 Give your diminishing memory more 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. Memory Extent ion Specialists Memotech Corporation 7550 West Yale Ave . Suite 220 Denver, Colorado 80227 Ph.(303)986-0016 MEMOPAK 16K RAM $59.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. ><— Memotech Corp. 7550 W. Yale Ave. 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. Suite 220 Denver, Colo. 8022? 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. d-s~* + n*« * 7 Price T TTL Level Converter. CH24 plans $10.00 CH 46 46 pin edge connector for ZX81. CH 46 connector $ 8.00 All cassette software listed here requires a minimum of 2K RAM 'Note: Any modification made on the ZX81 may invalidate the Sinclair warranty. Please add $1.50 postage and handling with each order. California residents add 6% sales tax. COSMONICS, Box 10358, San Jose, CA. 95157 10 SYNC Magazine WANT TO FIX YOUR SINCLAIR? ADD MORE MEMORY? ADD A BUSS? WE GOT YOUR PARTS. We carry all the parts you need to repair your Sinclair with the exception of the Sinclair Logic Unit, the ROM, and the Printed Circuit Board. In addition we carry OK. WELLER. and XCELITE tools. HAMMOND, and PAC TEC cases and VECTOR breadboarding and prototyping supplies. We stock resistors, capacitors, integrated circuits, descrete solid state devices, switches, sockets, connectors etc. etc. Below is a very small sampling of our products. If you see what you need give us a call, if you don't write for our free catalog. INTEGRATED CIRCUITS VOLTAGE REGULATORS -4* POSITIVL 7805 +5V 7812 +12 7 815 +15 7824 4 24 NEGATIVL 7905 SV 791 2 12 7915 1 *> 1.25 1. 1. HEAT SINK 25« LM323K 3AMP HEAT SI NK 75« 5VOLT 3.95 C.P.U. & SUPPORT Z80A CPU 9.45 Z80A PIO 7.65 Z80A CTC 7.65 Z80A DMA 19. 9 5 Z80A SIO/2 23.95 MEMORY 2114 1KX4 STATIC 4.00 3/28.00 4118 1KX8 STATIC 8.25 8/58.00 6116 2KX8 STATIC 14.95 8/125.00 4116 16KX1DY IMAM 3 50 8/24 00 2716 2KX8 EPROM 12 00 8/84 00 2732 4KX8 EPROM 19.95 8/135 00 TTL PARTIAL LISTING 7400 24 74LS00 25 7403 .24 74LS03 25 7409.... .28 74LS09, 30 7490 .35 74LS90 45 74148... .75 74LS1 38... .70 74154.. 1.25 74LS154.. 1.7 5 74190... 75 74LS1 90... .85 74LS244 1.00 74LS245.. 1.7 5 CMOS PARTIAL LISTING 74C00 40 4001 30 74C02 A .0 401! 3C 74C30 .40 4016.... 60 74C90.... 1.35 4020... 1.20 74C1 54.. 4.25 407 1 30 74C240.. 2.35 4511... 1.15 74C244.. 2.35 4553... 3.95 LINEAR MC3401 QUAD OP AMP 50 MC1555 TIMER _ .45 BI-FET OP-AMPS LOW NOISE SINGLE TL081... .75 TL071 .. .90 DUAL TL082. 1.25 TL072.. 1.50 QUAD TL084.. 2.25 TL074. 2 50 FULL-SIZE KEYBOARD INCREASE YOUR COMPUTING TIME BY DECREASING TYPING TIME ADD A FULL-SIZE KEYBOARD TO YOUR ZX 80/81 OR MICROAGE. YOUR FINGERS WILL LOVE YOU FOR IT. GOLD CONTACTS WIRE WRAP OR SOLDER TAIL 5/50 OUR KEYBOARD HAS 62 KEYS SO YOU CAN ADD LOTS OF EXTRA FUNCTIONS. WE WILL EVEN SEND YOU PLANS ON HOW TO ADD SUCH USEFUL THINGS AS AUTOMATIC SHIFT ON CERTAIN FUNCTIONS. AUTOMATIC REPEAT AND RESET. EACH KEY HAS GOLD CONTACTS AND IS FIRMLY MOUNTED TO A BLACK METAL PLATE WHICH MEASURES 15-1/2" BY 4' AND DOUBLES AS AN ATTRACTIVE FACE PLATE. BEST OF ALL YOU CAN GET YOURS IN KIT FORM, COMPLETE WITH INSTRUCTIONS. OR WIRED AND READY TO GO EITHER WAY WE WILL INCLUDE THE EXSFANSION PLANS. KEYBOARD KIT 34.95 WIRED & TESTED .49.9 5 YOUR ULTIMATE POWER SUPPLY WHY WASTE TIME BUILDING NEW POWER SUPPLIES WHEN YOU WANT TO EXPAND? BUY AN ULTIMATE SUPPLY AND SPEND ALL YOUR TIME ON PROJECTS NOT P.S. MULT1 VOLTAGE FOR DYNAMIC RAMS ETC. INPUT _ 1 20 - 220 VAC OUTPUTS +5VDC--5AMP + 1 2VDC =1 AMP - 1 2VDC-1 AMP 1 2VAC-! /2 A. SJ/4X/-1/2X4 H MOD CPS-59 50.00 PARTS & PLANS TO CONVERT 12VAC TO + 24 FOR EPROM PROGRAMING ADD. -5. 00 SINGLE VOLTAGE FOR CMOS & TTL LOVERS INPUT 120- 220 VAC OUTPUT +5VDC -9AMP DIM. 91 /2 X 5 X 5 MOD CPS-169. 50.00 ALSO AVAILABLE 5VDC-3AMP MOD SPS 30-5... 24. 95 5.8VDC-1 .2AMP MOD SPS 1-5 5.95 1 20 IN 12 IN SINCLAIR CONNECTOR R. F. MODULATOR USA VHf- 5.9 5 DATA CASSETTES 1 10 for 15 M*d4 ''). Daiapo.ni by Mated high strength sheii • JOYSTICK 4 1QK Linear pots 1 V2 metal handle 2 V8 square S5.95 SOLDER KESTER 60 40 Rosin core 020 dia 1 Pound Roll IC SOCKETS »PI N SOL WW 8 .20 .65 1 4 .25 .70 1 6 .30 .75 1 8 .36 .95 20 .40 '.10 22 .45 1 .20 24 .50 1.25 28 S5 1.70 40 .75 1.95 SOLDERING IRONS WFI I FR WP25 120V 25W 17.03 WP40 120V 40W 20.93 PENCIL THIN IRON (NOT SHOWN) WM 1 20 1 20V 1 2W 1 9.47 SOLDERING TOOL STAND STAND WITH SPONGE, BASE & RECEPTACLE. FITS WP-25 WP 40 W-60 MOD PH-60 10.14 FITS WM-1 20 MOD PHM-120. WIRE WRAP WIRE K Y N A R #30 WIRE WRAPWIRE PRECUT TO LENGTH THEN |" STRIPPED FROM EACH END. WE GOT IT IN RED, YELLOW, BLUE, BLACK. WHITE & GREEN LENGTH 100/BAG 1 000/BAG 3.0" 1.45 7.50 3.5" 1 s* S.25 4.0" 1.65 9.00 4.5" 1.75 9.75 5.0" 1.85 1 0.25 ADD'L 0.5" UP TO A TOTAL OF 1 0.0" .1 .75 #30 BY THE SPOOL 100' ...3.95 500' ..1 1 .95 1000" ,.,19. 95 HOBBY WRAP TOOL AUTO-INDEX — |j* Wk\ ANTI-OVERWRAP MODIFIED WRAP TOOL WITH BIT BW26 30B 27.9 5 ^ HAND WRAP TOOL WRAPS AND UNWRAPS BUI LTIN#30 WIRE STRIPPER WSU3 0...JREGULA.R .7.2 5 WSU30M MODIFIED ...8 25 DESOLDERING PUMP EASY ONE HAND OPERATION ALL METAL CONSTRUCTION REPLACEABLE TEFLON TIP REGULATED SUCTION DSP' 1 1 85 VACUUM VISE & VACUUM BASED LIGHT DUTY VISE 1-1 /2" WIDE JAWS 1-1 /4" TRAVEL VV1 4.1 5 INSERTION/ EXTRACTION TOOLS i INS14I6 INSERT TOOL 4.35 MOS SAFE INSERT TOOLS MOS1416 14-16 PIN 9.95 MOS2428 24-28 PIN 9.95 MOS40 36-40 PIN.... 10.95 EXTRACTION TOOLS EX1 14-16 PIN I .49 EX2 24-40 PIN 9 95 WK7 COMPLETE KIT ...3 7.9 5 CLIP AND STRIP » CUT AND STRIP#30 WIRE IN ONE OPERA- TION. TAKES A LOT OF THE WORK OUT OF WIRE WRAPPING. CAS1 30 2.29 TERMS Check, money order, VISA, or Master charge. Add $3,00 for shipping and handling. Texas residents add 5% state sales tax. Foreign orders add $10,00 lor shipping. U.S. tunds only. Limitea quanities on some items. ALTEX ELECTRONICS 618 W. Sunset San Antonio, Texas 78216 1-512-828-0503 tru tni! "Try This" features short programs to show off your computer, impress your family and friends, and tickle your imagi- nation when SYNC arrives at your place. Send your contributions to: Try This, SYNC, 39 E. Hanover Ave., Morris Plains, NJ 07950. 4K ROM Type in the following program. Then RUN and NEWLINE. Type in any char- acter or symbol when the quotation marks appear and hit NEWLINE again. Observe the results. Repeat until you get back to program. Note the program. Our thanks to: Ken Berggren 104 Ridgeway Ave. Louisville, KY 40207. 5 PRINT 1 10 POKE 1B4-2' 15 DIM ftfSJ 20 LET B=1£Q 25 INPUT C$ 30 GOTO S SK ROM Type in the following program. Then hit RUN and ENTER. Observe the results. If you like, you can substitute other characters in the print statements in Lines 20 and 50. Our thanks to: Ross A. Rainwater 305 Regal Drive Lawrenceville, GA 30245 '***' '•***■ I® FOR X=10 TO IS 15 SCROLL 20 PRINT T^B IX> J ' 30 NEXT X 4-0 FOR X = 1S TO 10 STEP 4-5 SCROLL 50 PRINT TftB (X) , ' 60 NEXT X 70 GOTO 10 5 PRINT 1 1® POKE ^16427) ,1 15 DIM RfSO a© LET B=1SS 25 INPUT C$ 30 GOTO 5 Bruce Birmelin/Paramount Pictures. SEEK OUT AND CAPTURE THE LANGUAGE OF MAN! Battlefield: a 24x32 grid Opponents: up to 26 characters of the alphabet Weapons: your mind and the invincible cursor Strategy: to render your opponents powerless by capturing them with the cursor. Caution! To recross your path is to abort the mission! Also available: Life, a simulation of biological systems, with a high speed 48x64 graphic palette. Both well-documented games are written in machine language for the ZX81 with 16K. $9.95 each. Order by phone or mail. Watch for exciting new developments coming soon from NON TRIVIAL SOLUTIONS Quantity Price Total LETTER RAIDERS LIFE □ Check enclosed. Charge my □ Mastercard □ Visa Card No. Exp. Date Signature _ MS TRIVIAL HUITUIR P.O. Box 2941 Amarillo, Texas 79105 806/376-5723 12 SYNC Magazine SOFTSYIMC, TS 1000 & ZX81 SOFTWARE! HANG MAN f/Vi Remember wher, you played Hangman as a child? We've created a learning tool for you! and your children which contains 7 versions of Hangman on the ZX81 Your child can play against the computer's 5 pre-recorded libraries of categorized words, (each word up to 1 7 letters) Animals, Science, Countries of the World. States of America, and Fruits and Vegetables, As a special feature during the game, each program will pick a word from its own library,' then compare it with the last 50 words played so you will not get repeat words for at leastan hour of play. Also the computer keeps a running account of how many words you get right and wrong. In the 6th version, you or your child may also play against an opponent The computer requests players names, keeps score and generates the Hangman graphics. The seventh option allows you to create and save your own versions with up to 500 words each. This is ideal for parents to create special spelling drills for their children. Hangman is a great spelling and vocabulary tool for youngsters 6-12 years old, although its the kind of game adults have been known to indulge in too 16K $14.95 SUPERMAZE SUPERMAZE is 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 choosethe 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 16K $14.95 ROAD TO RICHES People have always said, "If only I had some money to play with, I could turn it into a fortune I could be rich'" Well this is your dream come true -- an opportunity to show your prowess at making wise investments because you have just been given a million dollars -- to play with' Can you turn it into ten million 9 Or will you lose it all on a nsky investment? It's up to you ROAD TO RICHES is an entertaining and educational computer game in which up to four players are given opportunities to invest in business ventures in an attempt to increase their assets The program simulates a fast-moving world of investment in which you are confronted with all kinds of investments ranging from conservative real estate opportunities to highly risky Broadway shows The program carefully weighs the risk of each investment and your chances for winning or losing Like real life, low risk usually means (but not always) low yield while high risk can mean hitting the jackpot or financial disaster Some investments give you more working capital while others give you equity with annual returns Pit yourself against a wheeler-dealer and see if. over a period of seven years, you can come out on top ROAD TO RICHES is fun and informative, realistically portraying the risk and skill of high finance *16K $14.95 PLUS MANY MORE ZX81 PROGRAMS) WRITE FOR FREE CATALOG Please send me: copies of HANGMAN® $14.95 ea copies of SUPERMAZE® $14.95 ea copies of ROAD TO RICHES @ $14.95 ea charge to Please indicate method of payment — O VISA/ Bankamen card O Check, money order (no cath please) D Mastercharge No Exp date Signature . Add $1.50 shipping and handling. New York residents add sales tax. SEND CHECK OR MONEY ORDER TO: SOFTSYIMC, U\IC PQBgk48Q Murray Hill Station, r^ew^rtxk, NY 10156 (212)685-2080 NAME ADDRESS CITY STATE/ZIP 8K ROM; IK RAM just Far pun Generally SYNC prefers articles in some depth to help you get more out of your computer. However, we receive many short programs that illustrate a point, demonstrate a technique, or show some- thing the reader has found interesting. "Just for Fun" shares these programs with you. If you learn something, great. If you have some fun, great. If you have some that you want to share, send them to: Just for Fun, SYNC, 39 E. Hanover Ave. Morris Plains, NJ 07930. Graphics Loop I Bernard Bush One technique for squeezing more into the limited memory iri the basic ZXM1 is to use a loop. The following program illustrates the method applied to create a continually changing graphics display. Enter the program. Then be sure you are in SLOW mode. Hit RUN and ENTER and enjoy the show. 10 REM GRAPHICS LOOP 20 LET fl=INT (RND*10) +1 30 LET B=INT (RNJ>*10) -el 4-0 LET e=INT (RND*10> +1 50 LET D = INT (RND*10) +1 50 LET E = INT (RNP*10) +1 70 PRINT 80 PRINT 90 PRINT 100 PRINT • 10 FOR J = l TO 58 120 PRINT CHR* R; 130 PRINT CHR$ B, 140 PRINT CHR* C; 150 PRINT CHR* D, 160 PRINT CHR* E. 170 NEXT U 180 UNPLOT U,U -18 19© GOTO 10 200 REM STOP WITH BRERK Bernard Bush. Rt. 2. Mansfield, MO 6S704. 14 Graphics Loop II James Grosjean The same screen display developed in "Graphics Loop I" can be achieved by the following program which establishes the loop through a technique suggested by Ken Berggren in his "Handling Strings from another DIMension'm this issue. 18 FOR 1=1 TO 5 20 LET R=RND*9+1 30 POKE 16537.38+1 4-0 NEXT I 50 POKE 16537.36 60 PRINT RT 6 . 70 FOR J = l TO" 58 80 PRINT CHR* PI, CHR* B;CHR* C. CHR* D. CHR* E; 90 NEXT J " 00 RUN James Grosjean. 50 Kings Rd., Chatham, NJ 07928. Draw It Robert S. Boynton Many drawing programs require you to encode a picture and then display it. but this short program allows you to draw and edit a detailed picture even in IK. Enter the program, be sure you are in SLOW mode, and press RUN and NEW- LINE. A black pixel will be displayed at center screen. You can move the pixel by using the arrow keys (no need to shift). If you make a mistake or you want to move without leaving a mark, press RUBOUT and the pixel will flash. You can now move it to a new location or backwards to erase. Press RUBOUT again to return to plotting. You can also put any keyboard character into your picture by pressing the EDIT key I no shift), and insert the character you want in the quotation marks. Press NEWLINE and the character will appear at the pixel location. The RUBOUT feature works on the printed characters. Do not go beyond the normal machine plotting area or error B will result. If you do not want to use the characters, you can omit lines 1 10 and 130 to 150. 20 30 4-0 50 60 70 6© 90 LET Z=0 LET X=32 LET Y=22 PLOT X , IF 1 1 1 1 100 T 2 110 120 130 140 150 HEN UNPLOT X.Y THEN LET IF INKEY*= 5 IF INKEY*="S IF INKEY*-"& IF INKEY*s"7 IF INKEY*= "0 INKEV»="1 IF =X- =X + :Y- =Y + •HO THEN GOSUB 13 THEN LET THEN LET THEN LET THEN LET GOTO 4-0 INPUT R* PRINT H* RETURN Robert S. Boynton. 189 David Humphreys Rd.. Derby. CT 06418. SYNC Magazine BYTE-BACK m • t 64-K MEMORY $119.?? INSTANT INFORMATION WITH BYTE-BACK'S MD-1 MODEM only ^51 %/■ KIT WIRED and TESTED $11995 Use your phone to connect your "LITTLE" ZX81 to the "LARGEST" computer networks in the world. With BYTE- BACK's MD-1 MODEM connected all you do is dial a phone number (usually local), press a few keys and watch the data appear on your TV screen. (Software is included) This MODEM can be used in either the "originate" or "answer" mode with selectable baud rate. You can have immediate access to: UNIVERSITY COMPUTERS,DOW JONES, UPLAND MORE! As an extra bonus an RS-232 port is provided to allow you to drive all standard RS-232 peripherals. (75 to 9600 Baud) BYTE-BACK'S BB-1 CONTROL MODULE $59.oo In Stock! WIRED and TESTED $69 - 8 independent Reiays (with LED status indicators) • 8 Independent TTL Inputs (with Schmitt trigger buffers) »» rl • By using a single POKE command you can change and latch the status of each of the 8 relays • Your ZX80/1 can read the status of all 8 inputs by the use of a single PEEK command • A comprehensive manual is in- cluded that has complete application details. WIRED and TESTED $129.95 IN STOCK! SAME DA Y SHIPMENT! BYTE-BACK'S M-64 extends the memory of your ZX81 or Timex-Sinclair 1000 to a full 64-K. It's user transparent. It plugs directly into the back of the ZX81 and has an expansion port to allow you to still use a printer. No extra power supply is required. It has all standard features plus the area from 8-16-K can be switched out in 2-K incre- ments for memory mapped peripherals, PROMS, etc Same proven reliability as our M-16 with thousands in use. EXPAND YOUR 16K SYSTEM < M - 16 > $59.?5 WIRED and TESTED $69 95 If you have a Sinclair 16K RAM module and need more memory, expand it to 32K and beyond by using BYTE-BACK M-16 MEMORY MODULES. You can't connect two Sin- clair 16K RAM modules together, but you can connect one Sinclair 16K and one or more BYTE-BACK 16K modules to get all the memory you need, THOUSANDS IN USE WITH PROVEN RELIABILITY IN STOCK — SAME DAY SHIPMENT RS-232 Module $59. 95 Allows you to conntct ZX81 to all RS-232 printers & terminals. ALL MODULES CARRY 90-DAY WARRANTY TRY BYTE-BACK MODULES FOR 10 DAYS WITH NO OBLIGATION Remember with: BYTE-BACK modules you are NOT limited to using only one module at a time! Q 0C UJ 8l * CD H 2 > O CD CD © CM O) *- CM 00 . in 9 cm *S _j CO Ij ° = 00 > w tn £ UJ Q. CO^J □ M-64 Kit $ 1 1 9.95 □ M-64 Wired and Tested $1 29.95 □ M-64 Blank PC Board $19.95 □ BB-1 Kit and Manual $59 □ BB-1 Wired and Tested and Manual $69 □ BB-1 Blank PC Board and Manual $29 D M-16 Kit $59 95 D M-16 Wired and Tested $69.95 D M-16 Biank PC Board $19.95 D Modem Kit $99.95 D Modem Wired and Tested $119.95 □ RS-232 Module $59.95 Shipping and Handling $4.95 ORDER PHONE (803) 532-5812 Exp Date Card No. Name Bill My D Visa D MasterCard Address City/State/Zip._ CHECKS Mail To BYTE-BACK CO. • Rt. 3. Box 147 • Brodie Rd. • Lee»ville, S.C. 29070 8KROM David B. Ornstein The ZX81 Parser (Part 2) In the last issue I began a discussion of the ZX8Ts parser which is a complex and tricky combination of software tech- niques. In this issue I will continue the discussion by detailing the main parser routines. Syntax Checking vs. Execution When you enter a line into the ZX81, the parser is called twice to evaluate it. The first time is when you hit ENTER after you have just typed a line into the system, This call instructs the parser to check the syntactic correctness of the line entered. If the line is in error, an S cursor is placed in the line at the appro- priate position. The parser then returns to the keyboard routine to permit the user to correct his error. The process by which any syntax error is shown to the user is simple: an RST 8 instruction is executed. This instruction is followed by a byte which specifies the "REPORT NUMBER". The RST 8 begins execution by loading X-PTR with the value of CH- ADD, the system's interpreter pointer (see the ZX81 BASIC Programming Manual, chapter 28). If there are no syntax errors, the parser returns, and the line is converted into its internal representation which is shown in Figure 1. At this point, one of two actions will occur. If a line number was specified, the internal representation will be stored in the program area. Note that, if the text of the line is null (i.e., there is no text after the line number), and if a line number was given, the old version of the line, if any exists, will be deleted. If no line number was given, the parser will be called again. This time, however, it will execute the line. Clearly, some method must exist to tell the parser whether it should check-syntax or execute the line passed to it. A bit (bit 7) in the FLAGS system variable is allo- cated for this use. If the parser is to execute the line, the bit will be set. Otherwise (i.e., syntax-check only), it will be reset. Thus the designation EXEC/ SYNTAX. A routine SYNTAX-Z (0DA6) is used to check this bit. This routine will return Z true if just-checking is specified. It returns Z false (i.e., NZ) if execution is to occur. To clarify the use of this flag, let me give an example. Suppose the parser is passed the following line: PLOT 5,10 A The code that will be executed is chosen by the parser. This process is detailed in "The Parser Body" below. It must be made clear that the process of fetching arguments and checking syntax cannot be thought of as disjointed. In the case of the PLOT command, as is the case with almost all other commands which take arguments, all arguments are passed to Section B on the "calculator stack." (See "Understanding Floating Point Arithmetic: The CALCULATOR Language," by Ian Logan, SYNC 2:2.) As we will see in the next section, the rou- tines used to fetch arguments check syntax, implicitly, as they move CH-ADD through the line — or rather the routines used to check syntax and fetch arguments, implicitly, as they move CH-ADD through the line. The Parser Body The ZXHTs parser is table-driven. This means that all syntax checking and exe- cution are directed by a series of tables. Figure 1: Tke internal representation of a line in Basic. f ENTER Text of Line Length of Line (16 bits) Line Number \ 16 bits) Listing 1 : The Parser Code. P-OFFSET: .BYTE $8B,$8D,$2D,$7F, $81,3^9, $75 BYTE $5F f $40 f $^2 f $2B f $17.$lF f $37 BYTE $52,$45,$0F»$6D,$2B,$^,S2X BYTE $5A,$3B f $4C i $^5.$0D i $52 f $5A BYTE $4D,$15,*6A 16 SYNC Magazine Listing 2: The Offset Table. The parser code is given in Listing 1. There are two entry points into the parser: LINE-SCAN and LINE-RUN. When calle d via LINE -SCAN, the parser sets EXEC/SYNTAX to SYNTAX (i.e.. Ot. and calls E-LINE-NO. This subroutine is used to check the line number specified. If the line number is outside the bounds of a legal line number, a REPORT "C" is issued. If the line number is valid, LINE- SCAN falls through to LINE-RUN. As you probably know, the ZX81 will accept an expression as the argument to an INPUT statement. The parser is used to evaluate this expression. The first action performed by the parser (entered via LINE-RUN) is to check whether an INPUT statement is being executed. This condition is specified by bit 5 of FLAGX. If an INPUT statement is currently being processed, one of the two actions will occur. If the fir st charact er is a STOP, and the EXEC/SYNTAX flag = EXEC, the parser will exit by using RST 8 to signal a REPORT "D*. If the first char- acter is not a STOP, then the parser jumps to INPUT-REP (see CIass-2). If an INPUT statement is not being executed, a jump is made to LINE-NULL. The parser, continuing execution at LINE-NULL, now checks to see if the line is null, If it is, the parser returns immed- iately. If the line is non-null, the parser checks to be sure that the first character in the line is a command. Once again, if it is not, REPORT U C M will be issued. Assuming that the first character in the line is a command, the parser continues by calculating the address of the com- mand s entry in the parameter table. This is done by using an offset table (0C29). The offset table and the paramater table are shown in Listings 2 and 3, respectively. Reviewing the parameter table, you will see that each command entry specifies the format of a particular command, For example, PLOT (0C98) is shown to be eomprsised of a CLASS-6 item, a comma (.), and another CLASS-6 item. After finding the currently executing command in the table, the parser falls through into a loop { GET-PARA M), which is respon- sible for fetching successive parameter- bytes from the command's entry. After fetching a byte, GET-PARAM checks its value. If the byte's value is greater than OBh. the GET-PARAM loop jumps to the SEPERATOR routine which checks the character in the line against the specified parameter-byte (i.e., or=, etc). If a match is found to exit, SEPERATOR returns to the beginning of the GET-PARAM loop. If the characters did not match, REPORT "C" is issued via RST 8. F-LET: F-G0T0: F-IF: P-GCSUB; P-STQP: F- RETURN; P-FOR: P-NEXT; F-FRINT: P- INPUT: P-DIMi r -REM J P-NEW: ?-R T P-LIST: SET-STRLNi DtTM . CLASS-2: QT-REP: .BYTE $01, $14, $02 BYTE $06, $00 .BYTE $81,$0E .BYTE $06,$DE,$05 .BYTE $AB,$0 ,BYTE $06,$00 .BYTE $B5,$0E .BYTE $0G,$DC,$0C .BYTE $00,$E8,$0E .BYTE $04 , $14 , $06 ■BYTE $CF f $G6,$05 .BYTE $B9,$0D , BYTE .BYTE $04, $00 $2E f $0E .BYTE $05,$CF t $0A .BYTE $01, $00 .BYTE $£9,$0S .BYTE $05, $09,314 P BYTE $05,$6A,$0D .BYTE $00,$C3, : .BYTE $Q3,$AF,$GE ■BYTE $03,330,307 .BYTE $06, $1 A ,306 .BYTE $00, $92, $QE CALL NZ.STK-FETCH LD ML, FLAGX OR (HL) LD (HL).A EX DE.HL LD (STRLEN),BC LD (DEST),HL RET POP BC LD A, (FLAGS) PUSH AF CALL SCANNING POP AF LD BC,$1321 LD D,( FLAGS) X0R L .AND $40 Class 1 11 ti Class 2 Class 6 Class Addr-$0E8l Class 6 TlIFi Class 5 Addr-$0DAB Class 6 Addr-$0EB5 Class Addr-$QCEC Class Addr-$0ED8 Class 4 Class TO Class Addr- Class Class Addr- Class Addr- Class Class Addr- Class Addr- Class Addr- 5 $0DB9 4 30E2E 5 $0ACF 1 $0EE9 5 $1409 5 $0D6A C 1 p. s f Addr-$03C3 Class 3 Addr-$0EAF Class 3 Addr-$0?30 Class 6 n it :iass 6 Class C Addr~$0E92 July/August 1982 17 If. on the other hand, the parameter- byte's value is less than OB, the parser uses another offset table (0D16) to find the address of the class handler. The class handler is then called. When it finishes execution, it will (probably) return to the beginning of the GET-PARAM loop. Class Handlers A class handler is a routine used to parse out a particular type of variable (i.e.. non-constant) parameter from a line. These items include, but are not limited to, variable names and expressions. As class handlers perform extremely diversi- fied functions, each will be presented separately with a description of the effects of its execution. CLASS-6 CLASS-6 is the routine used to parse out an integral expression. CLASS-6 uses a ROM routine known as SCANNING which is a general expression parsing routine. Although a discussion of expres- sion evaluation techniques is beyond the scope of this article, it suffices to say that the SCANNING leaves the result of its evaluation on the calculator stack. It also sets bit 6 of FLAGS to indicate whether the value parsed was of numeric or string type. When control is returned to CLASS-6. after its call to SCANNING, it checks bit 6 of FLAGS. If a string argument was specified, then REPORT "C" is given. If a numeric argument was supplied, the CLASS-6 returns. CLASS! CLASS-1 is called to parse out an assignable variable name. This procedure begins by calling LOOK-VARS, a routine to pull a variable name out of the source line. LOOK-VARS returns a pointer to the variable's record in the VARS file. If the variable is not found, LOOK- VARS creates it. and returns a pointer to the created record. CLASS-1 stores the returned pointer and other pertinent information in system variables for later use. It then returns. CLASS4 CLASS-4 is a routine used for a purpose similar to that of CLASS-1. It is used to parse out the variable name specified as the argument to a FOR or NEXT com- mand. It calls LOOK-VARS and checks the type bits returned in the C register. It checks to be sure that both bits 5 and 6 are set in the type byte. If they are not set, REPORT "CT is given. If the variable name was valid (i.e., a single-character numeric scalar), CLASS-4 will jump into the middle of the CLASS-1 routine which will then proceed by storing the informa- tion on the variable in the appropriate system variables. Listing 2 (continued) JLASS-4 : -6: JRT-C: : -STK: >YNTAX-Z i SEPERATOR: C-OFFSET: CHECK -END CHECK-2 : REP0RT-C2: CLASS-3: CLASS-O: CLAS3-5: Call the calculator S tk— z er*o End-calc JR NZ,REPQRT-C BIT 7,D JR NZ, CLASS-END JRB CHECK-2 CALL LCCK-VARS PUSH AF LD A, C OR $9F INC A JR NZ.REPORT-C POF AF JR CLASS-^-2 CALL SCANNING BIT 6, (FLAGS) RET NZ RST 8 .BYTE ?0B JR NZ, CLASS-6 CALL SYNTAX-! RET Z RST .BYTE . . BYT^ 7 ' RE? BIT ? f (FLAG£ RET LD HL, C-OFFSET LD B f $00 ADD HL,BC LB C,(HL) ADD HL,BC PUSH HL RET RST 18 CF C JR NZ.REP0RT-C2 RST 20 RET . BYTE $17 , $25 , $53 , $0F , $6B , $13 > $76 CALL SYNTAX-Z RET NZ FOP BC LD A f (HL) CP NEWLINE RST Z JR REPORT-C CP NEWLINE CALL N0-T0-STK CP A POP BC CALL Z, CHECK-END EX DE, HL LD HL,(T ADDR) LD C , ( HLj 18 SYNC Magazine r AARDVARK - THE ADVENTURE PLACE ADVENTURES FOR OSI, TRS-80, TRS-80 COLOR, SINCLAIR, PET, VIC-20 ADVENTURES - Adventures are a unique form of computer game. They let you spend 30 to 70 hours exploring and conquering a world you have never seen before. There is little or no luck in Adventuring. The rewards are for creative thinking, courage, and wise gambling - not fast reflexes. In Adventuring, the computer speaks and listens to plain English. No prior knowledge of computers, special controls, or games is re- quired so everyone enjoys them -even people who do not like computers. Except for Quest, itself unique among Ad- venture games, Adventures are non-graphic. Adventures are more like a novel than a comic book or arcade game. It is like reading a par- ticular exciting book where you are the main character. All of the Adventures in this ad are in Basic. They are full featured, fully plotted adventures that will take a minimum of thirty hours (in several sittings) to play. Adventuring requires 16k on Sinclair, TRS- 80, and TRS-80 Color. They require 8k on OSI and 13k on VIC-20. Sinclair requires extended BASIC. TREK ADVENTURE by Bob Retelle - This one takes place aboard a familiar starship and is a must for trekkies. The problem is a famil- iar one - The ship is in a "decaying orbit" (the Captain never could learn to park!) and the engines are out (You would think that in all those years, they would have learned to build some that didn't die once a week). Your options are to start the engine, save the ship, get off the ship, or die. Good Luck. Authors note to players — I wrote this one with a concordance in hand. It is very accurate — and a lot of fun. It was nice to wander around the ship instead of watching it on T.V. CIRCLE WORLD by Bob Anderson - The Alien culture has built a huge world in the shape of a ring circling their sun. They left behind some strange creatures and a lot of ad- vanced technology. Unfortunately, the world is headed for destruction and it is your job to save it before it plunges into the sun! Editors note to players - In keeping with the large scale of Circle World, the author wrote a very large adventure. It has a lot of rooms and a lot of objects in them. It is a very convoluted, very complex adventure. One of our largest. Not available on OSt. HAUNTED HOUSE by Bob Anderson - This one is for the kids. The house has ghosts, gob- lins, vampires and treasures — and problems designed for the 8 to 13 year old. This is a real adventure and does require some thinking and problem solving - but only for kids. Authors note to players -This one was fun to write. The vocabulary and characters were designed for younger players and lots of things happen when they give the computer com- mands. This one teaches logical thought, map- ping skills, and creativity while keeping their interest. DERELICT by Rodger Olsen and Bob Ander- son For Wealth and Glory, you have to ran- sack a thousand year old space ship. You'll have to learn to speak their language and operate the machinery they left behind. The hardest problem of all is to live through it. Authors note to players — This adventure is the new winner in the "Toughest Adventure at Aardvark Sweepstakes". Our most difficult problem in writing the adventure was to keep it logical and realistic. There are no irrational traps and sudden senseless deaths in Derelict. This ship was designed to be perfectly safe for its' builders. It just happens to be deadly to alien invaders like you. PYRAMID by Rodger Olsen - This is one of our toughest Adventures. Average time through the Pyramid is 50 to 70 hours. The old boys who built this Pyramid did not mean for it to be ransacked by people like you. Authors note to players — This is a very entertaining and very tough adventure. I left clues everywhere but came up with some in- genous problems. This one has captivated people so much that I get calls daily from as far away as New Zealand and France from bleary eyed people who are stuck in the Pyramid and desperate for more clues. QUEST by Bob Retelle and Rodger Olsen - THIS IS DIFFERENT FROM ALL THE OTHER GAMES OF ADVENTURE!!!! It is played on a computer generated map of Alesia. You lead a small band of adventurers on a mission to conquer the Citadel of Moor- lock. You have to build an army and then arm and feed them by combat, bargaining, explora- tion of ruins and temples, and outright ban- ditry. The game takes 2 to 5 hours to play and is different each time. The TRS-80 Color version has nice visual effects and sound. Not available on OSI. This is the most popular game we have ever published. MARS by Rodger Olsen - Your ship crashed on the Red Planet and you have to get home. You will have to explore a Martian city, repair your ship and deal with possibly hostile aliens to get home again. Authors note to players — This is highly recommended as a first adventure. It is in no way simple— playingtime normally runs from 30 to 50 hours — but it is constructed in a more "open" manner to let you try out ad- venturing and get used to the game before you hit the really tough problems. NUCLEAR SUB by Bob Retelle - You start at the bottom of the ocean in a wrecked Nu- ciear Sub. There ib literally no way to go but up. Save the ship, raise her, or get out of her before she blows or start WWII I. Editors note to players — This was actually plotted by Rodger Olsen, Bob Retelle, and someone you don't know — Three of the nas- tiest minds in adventure writing. It is devious, wicked, and kills you often. The TRS-80 Color version has nice sound and special effects. EARTHQUAKE by Bob Anderson and Rodger Olsen - A second kids adventure. You are trapped in a shopping center during an earth- quake. There is a way out, but you need help. To save yourself, you have to be a hero and save others first. Authors note to players — This one feels good. Not only is it designed for the younger set (see note on Haunted House), but it also plays nicely. Instead of killing, you have to save lives to win this one. The player must help others first if he/she is to survive — I like that. Please specify system on all orders ADVENTURE WRITING/DEATHSHIP by Rodger Olsen — This is a data sheet showing how we do it. It is about 14 pages of detailed instructions how to write your own adven- tures. It contains the entire text of Deathship. Data sheet - $3.95. NOTE: Owners of OSI, TRS-80, TRS-80 Color, and Vic 20 computers can also get Deathship on tape for an addi- tional $5.00. PRICE AND AVAILABILITY: All adventures are $14.95 on tape except Earthquake and Haunted House which are $9.95. Disk versions are available on OSI and TRS-80 Color for $2.00 additional. ALSO FROM AARDVARK — This is only a partial list of what we carry. We have a lot of other games (particularly for the TRS-80 Color and OSI), business programs, blank tapes and disks and hardware. Send $1.00 for our complete catalog. AARDVARK - 80 2352 S. Commerce, Walled Lake, Ml 48088 (313)669-3110 Phone Orders Accepted 8:00 a.m. to 4:00 p.m. EST. Mon.-Fri. «* TRS-80 COLOR SINCLAIR OSI VIC-20 Peak Presents "TEXT", a low cost program for easy text editing, storage and display. Store your letters, reports, resume, etc, on tape with this versatile program. Recall pages of text with a 1 6K RAM, 8K ROM Sinclair for a professional looking display without worry of splitting words at the end of a line. The cassette also includes "PRODIR", a programmed directory to organize your programs and ease loading. Both for $10 from: Peak, P.O. Box 383, San Carlos, CA 9l|070 2 AMP POWER SUPPLY FOR ZX80/81 /MICROAGE As you expand your system you'll need more power to run it. This supply has it! 2 Amp Power Supply $19.95 Pius $2.50 Shipping/Handling Illinois residents add 6% POWER LINE FILTER Protect your system from power line R.F. interference and transients that can cause unnecessary program crashes. 5 Amp Filter Kit $23.95 Assembled & Tested $29.95 Plus $2.50 Shipping/Handling Illinois residents add 6% MAIL CHECK OR MONEY ORDER TO: HURRICANE ELECTRONICS P.O. Box 87 • Dolton, IL 60419 I isiinji 2 Iconlinued) CLASS-END: CLAS3-1: CLASS-4-2: REFORT-2: SET-STK: LINE-SCAN: LINE-RUN: STOP: LINE-NULL: SCAN-LOOP: GET -P ARAM: INC HL LD B , ( HL ) EX DE , HL PUSH BC RET CALL L00K-VARS LD (FLAGX),$00 JR NC, SET-STK SET l.(FLAGX) JR NZ.SET-STRLN RST 8 .BYTE $01 CALL Z.STK-VAR BIT 6, (FLAGS) JR NZ.SET-STRLN X0R A CALL SYNTAX-Z LD (FLAGS), 01 CALL E-LINE-N0 CALL SET-MEM LD HL,ERR_NR LD (HL),$FF LD HL.FLAGX BIT 5,(HL) JR Z, LINE-NULL CP "STOP" LD A,(HL) JP NZ, INPUT-REP CALL SYNTAX-Z RET Z RST 8 .BYTE $0C RST 8 .BYTE $08 RST 18 LD B,$00 CP NEWLINE RET Z LD C,A RST 20 LD A.C SUB $E1 JR C.REP0RT-C2 LD C,A LD HL.P-0FFSET ADD HL.BC LD C , ( HL ) ADD HL.BC JR GET-PAR AM LD HL,(T ADDR) LD A,(HLT INC HL LD (T_ADDR),HL LD BC.SCAN-L00F PUSH BC LD C,A CP $0B JR NC.SEPERAT0R j Set up SYNTAX- checking only ; ie S3 hex ; Error "D" ; Give REPORT "9 1 20 SYNC Magazine CLASS-2 The CLASS-2 routine is responsible for parsing out the value assigned to a var- iable (previously specified by CLASS- 1) in a LET or INPUT statement. The expression is evaluated by SCANNING. The type of the expression evaluated is then checked against the type of the variable (name) stored by CLASS- 1. If the types are not equal, then REPORT "C" is issued. If, on the other hand, the types do mix, a jump is made to the LET routine at 1321h. CLASS-5 IF, PRINT, LPRINT. FOR. REM, LOAD, DIM, and SAVE all have CLASS- 5 as their last parameter. The CLASS-5 byte (05h) is followed by two bytes which form an address. The address specified is that of the handler for that command. The command handler is the routine that actually performs the action specified by the command (i.e., placing a dot on the screen, in the case of a PLOT command). By reviewing the code for CLASS-5, you will see that, after POPing its return address {probably 0CF4h), its gets the next two bytes from the command's entry in the parameter tabic. It combines these bytes and jumps to the address specified by the resulting word. Before executing the jump, a CALL is made, conditionally (if the Z-flag is set) to CHECK-END. This routine cheeks to be sure that the next character in the line specifies an end-of-line (i.e., a NEW- LINE). If it does not, REPORT "C" is given. If the character is a NEWLINE, a return is made. CLASS-0 CLASS-0 is simply a CP A instruction. This instruction is commonly used by Z80 programmers to set the Z-flag. After executing this instruction, CLASS-0 falls through to CLASS-5. CLASS-5 will then CALL CHECK-END. as the Z-flag is set. P-RAUD: P-LOAD: P-SAVE: P-CONT: P- CLEAR: P-CLS: P-PLOT: F-UNPLOT: P-SCROLL: P-PAUSE: P-SLOWi P-FAST: P-COFY: P-LPRINTi P-LLIST: Listing 3: The Parameter Table. .BYTE $03,$6C,$OE .BYTE $O5,$i+O,303 .BYTE $05,$F6,$02 .BYTE $00,$?C,$0E .BYTE $00,$9A,$14 .BYTE $00 f $2A,$0A .BYTE $06,$1A,$06 .BYTE $00,$AF,$0B .BYTE $06,$1A,$06 .BYTE $00,$AF,$0B .BYTE $00,$0E f $0C .BYTE $06, $00, $32 .BYTE $0F .BYTE $00,$2B,$0F •BYTE $00,$23,$0F •BYTE $00, $69, $08 .BYTE $05,$CB,$0A .BYTE $03,$2C,$07 Class 3 Addr-$0E6C Class 5 Addr-$03^0 Class 5 Addr-$02F6 Class Addr-$0E7C Class Addr-$1^9A Class Addr-$0A2A Class 6 it ti Class 6 Class Addr-$0BAF Class 6 ti t* Class 6 Class Addr-$0BAF Class Addr-$0C0E Class 6 Class Addr-$0F32 Class Addr-$0F2B Class Addr-$0F23 Class Addr-$0869 Class 5 Addr-$0ACB Class 3 A ddr-$0?2C CLASS-3 CLASS-3 handles the argument speci- fied after a RAND. LIST, LLIST, or RUN command. This element can be either a NEWLINE or an integral expression. If a NEWLINE is given without any expres- sion, a default of is assumed, and pushed onto the calculator stack. If a number was specified, CLASS-6 is CALLed to parse the expression. After pushing the appropriate number onto the calculator stack, CLASS-6 returns to CLASS-3. CLASS-3 then falls through to CLASS-0. In the next issue I will discuss the command handlers themselves. Once again, I wish to extend my utmost gratitude to Ian Logan for his hard work in disassembling the 8K ROM. All labels in this article come from the result of his work: The Sinclair ZX81 ROM Disassembly, Part A. Until next time, same relativistic time period, same non-Euclidian universe. % ADD ON MEMORY FORZX 16K memory assembled and tested. No extra power supply needed. 90 day warranty on parts and labor. $49.95 POSTPAID Check or money order only. California residents add 6%. KB ENTERPRISES 8211 VALDOSTAAVE. SAN DIEGO, CALIFORNIA 92126 ZX80/81 REGISTER NEW 56 PAGE PUBLICATION NCLUDES: DIRECTORY OF ALMOST 350 SUPPLIERS OF SOFTWARE, HARDWARE, PERIPHER- ALS AND PUBLICATIONS IN THE U.K. DESCRIPTIONS, SOURCES OF SUPPLY AND PRICES OF NEARLY 400 SOFTWARE PROGRAMS, 200 PERIPHERALS AND 75 PUBLICATIONS. DETAILS OF USER GROUPS IN U.K. AND EUROPE, NOTES FOR NEW USERS, OTHER SPECIAL FEATURES SEND $9.50 TO YOUNGS COMPUTER PUBLICATIONS 2 WOODLAND WAY GOSFIELD, HALSTEAD, ESSEX C09 1TH ENGLAND SEND DETAILS OF YOUR OWN PRODUCTS FOR THE NEXT EDfTION July/August 1982 21 4K ROM <8K ROM); IK RAM Mitcnsn sgnc Alan Groupe, Michael Tardiff, and Ivan Zatkovich Two to the What? Recently, a cousin from Lincoinwood, Illinois, came out to visit. Along with him, he brought a couple of "extra credit'' problems given him by his eighth grade science teacher. One of the problems was to calculate 2 to the 420th power. The problem came with the following restriction: "You can't use a computer." Since no commonly available computer can store a number this large with perfect accuracy (remem- ber, floating point numbers are only approximations of a number), this restric- tion seemed unnecessary. You have probably already guessed, though, that with some thought and a few tricks, you can solve this problem using a computer. It should also come as no surprise that we are going to show you how to do it on your ZX80/81. It does seem to us, however, that any eighth grader who could figure out how to solve this problem on a computer is well on the way to becoming a clever problem-solver who can make good use of available tools, and, therefore, deserves the extra credit. Lincoinwood School District, take note. To solve this problem on a ZX80/81 or on any computer, you first have to under- stand how to do it by hand. Unless you are a child prodigy, you cannot handle a number as big as 2 to the 420th either. The best way to deal with things too big to handle all at once, of course, is to break them down into "bite- size" chunks. In this case, the most obvious method probably would be to treat each digit separately. You could take 2, multiply it by 2, take that answer and multiply it by 2 again, and so on, 419 times. When the numbers begin getting too large to multiply in your head, you would move from right to left, multiplying a digit by 2, adding in any carry from the 22 previous digit, and carrying into the next, if necessary. Just like in school, right? While the ZX80/81 cannot handle numbers as large as 2 to the 420th, it can handle numbers as big as 32767 (decimal). Rather than doing the calculations one digit at a time, as you would do by hand, it is a simple matter to have the ZX80/81 multiply four digits at a time. Listing 1 gives the program for calculating 2 to the 420th. This was written on the ZX80 4K ROM, but it works also on the ZX81 if you make this change: 180 PRINT A(I );"##"; Since the answer to our problem is 127 decimal digits long (How do we know? Trust us.), we can store it in an array of 32 integers. This is done in line 10. Lines 20-50 initialize our answer to 1 (2 to the zero-ith power). Lines 60 through 160 are the main loop of the program and multiply A by 2 420 times. C is the carry from one "digit grouping" to the next and is cleared in line 70. (There is no carry, of course, into the rightmost digit.) Lines 80 and 90 set up a backwards FOR-NEXT loop going from 32 down to 1 covering each digit group from right to left. We could have numbered the digit groups in the other direction, but then we would have needed a reverse loop to print out the result, so it did not make much difference which way we went. Line 100 multiplies the current digit group by 2 and adds in the carry from the previous digit group. Line 110 clears the carry, since we do not as yet know whether there is to be a carry out of the current digit group. Line 120 skips over the carry processing if the current digit group is within range (0-9999). Lines 130 and 140 do the carry processing by bringing the digit group back within range and setting the carry into the next group to 1. You should satisfy yourself that this is correct. Line 150 closes the loop at line 80 and proceeds to the next digit group. Line 160 closes the loop at line 60 and proceeds to the next doubling. Calculations are now finished, and lines 170 through 190 print out the result. Note that the format of the output is rather sloppy. The reason for this is that some of the digit groups may be less than 1000, and in order for the result to be printed together, program lines would have to be added to print these groups with leading zeros. While this is not particularly difficult, it would tend to make the program more complicated. If you have sufficient RAM, the inspiration, and a compulsion for neatness, see if you can alter our program to "prettyprint. ,, When run, the program grinds away for a little over four minutes before returning with the answer. Compared to pencil and paper, that is not bad. But consider this: on the first iteration of the main loop (lines 60-160) the variable A(32), which is originally 1, is multiplied by 2, giving 2. But Ad) through A(31). while being equal to 0, are still multiplied by 2. On the second iteration this is also true. In fact, most of the four minutes are spent multiplying by 2! This provides us with a good example off how careful planning can make a program run faster. If you think through a problem ahead of time, you can cut out the pointless work and free your ZX80/81 to do the real work of calculating or searching or whatever. Sure enough, there is a simple way to "optimize" our program to eliminate the wasted work of multi- plying by 2. If you keep a pointer (call it "P") to the most significant (leftmost) non-zero digit, and stop the right-to-left multiplication loop (lines 80-150) at that point, you avoid the unnecessary multiplications. Remem- ber, though, to move this pointer to the left when you carry out of that digit (in this case, the digit to the left will now be non-zero). If that is a bit tough to follow the first time through, add the lines in Listing 2 for 4K ROM or Listing 3 for 8K ROM. Then trace through the program using pencil and paper. You will see how the unnecessary work is avoided. SYNC Magazine Software Publishers— Analyze the NEED/ The TIMEX and SINCLAIR ZX systems are cassette-based. Everything depends on delivering software product the user can LOAD very readily, with- out difficulty. In publishing software for these machines, reputation and repeat orders depend on good programming AND ready-loading product. Software Publishers— Qualify the SOURCE/ COOK LABS is the product source that DOES duplicate digitally — not audio-analog. COOK LABS has been making digital cassettes for serious software publishers for many years. Why? COOK LABS is the only duplicating source with Texas Instruments' CERTIFICATE of AWARD for EXCELLENCE of QUALITY (1981). Users don't have problems with T.I. cassette software. They needn't with yours. SINCE 1952 Emory Cook's name has been internationally associated with leadership in electronics design. COOK LABS operates under his engineering control and supervision. S ^ipsijfc ter have L after you „v ™OCBDORBS cat-* <: e tw o mach.-f.. where i* S *VB it°?hf? n LOAD •as*- sr« &> ^"- ? e call this " Cont ««t. Tn Tf . fc yP€, *he ** ta P e that Jiff"*"*" where " orma I "speed 11 °P era te at "Pancakes- ^ makin 9 vlrv 1 ?~ 32x ca rryino »,. of cassette * y iarge cassette Wandln 9 off P5 oduc t. Pancake „|"» the end * fi '*t ca ssette, rr 9et the cruel f eac n wnic h is th aat ~ I " Fir. n 1 L *FO Product^ n Ch -se . he ^««t, We SOFTWARE PUBLISHERS — PHONE, WRITE, USE COUPON ... GET INFORMATION NOW! COOK LABORATORIES, INC. P.O. Box 529 Norwalk, CT 06856 (Phone 203-853-3641) D Inform me about COOK services for: □ Software duplication. □ Procurement of labels, inserts, etc. □ Fulfillment, including fulfillment of individual orders. □ Send free booklet: "Cassettes — An Effective Software Medium." NAME. COMPANY. ADDRESS_ -ZIP- PHONE (OPTIONAL)- SYNC Program Listings Readers should note the following conventions used in the program listings in this issue: ~ — The number symbol is used in PRINT statements to show necessary spaces. "A, "— The underline is used in PRINT statements to indicate graphics. Press the ke\ designated in whatever way your machine requires to get the graphic. IN PIT - In PRINT statements when a word or token is underlined enter the word from the keyboard rather than type it in letter by letter. This is a memory saving technique. After typing in a program line, you must put the line into vour program. On the ZX80and ZXK1 with *K ROM this is done by hitting the NEWLINE key. On the ZXM1 the same thing is done by hitting ENTER. The words are used interchange ably. A number followed by a b is binary; a number followed bv h is hex. Line 55 initializes our new pointer to one significant digit group. This is because A(32), or rather, A(P), is the only digit group with anything in it. Line 80 has been changed to loop through only the significant digit groups. You should verify that this is correct. Lines 143 through 147 have been added to the carry processing section. They will only be executed when there is a carry out of a digit group. Line 143 checks to see if this is a carry out of the currently most significant digit group (the one P points to). If not, this is simply a normal carry, and carry processing is done. Otherwise, lines 145 and 147 move the pointer one digit group to the left and set that digit group to 1 (the carry out of the previous group). With this modification in place, the program takes just under three minutes, an improvement of over 35 percent. It should be apparent that you can use this same technique to calculate other "big" numbers. If you really want to impress your friends, amaze yourself, and give your ZX80/81 a workout, try calcu- lating that wonderful constant, pi, to a hundred places or so. You will have to solve a few problems along the way, but you have two months until the next issue of SYNC comes in the mail... right? By the way, in case you did not have your ZX80/81 with you as you read this column (perish the thought!), the answer to our problem is (drum roll, please): 2, 707, 685, 248, 164, 858, 261, 307, 045, 101, 702, 230, 179, 137, 145, 581, 421, 695, 874, 189, 921, 465, 443, 966, 120, 903, 931, 272, 499, 975, 005, 961, 073, 806, 735, 733 604. 454, 495, 675, 614, 232, 576. jg Llslins 1: 2 to tke 420tK (4K ROM). 10 DIM RC32) 20 FOR 1=1 TO 32 30 LET R (I) =0 40 NEXT I 50 LET R (32) =1 60 FOR N = l TO 4-20 70 LET C=0 80 FOR 1=1 TO 32 90 LET 11=33-1 100 LET fl(Il)=fl(Il)*£+C 110 LET C=0 120 IF Rill)<10000 THEN GOTO IS 3 130 LET R (ID =R f ID -1O000 14-0 LET C=l 150 NEXT I 150 NEXT N 17© FOR 1=1 TO 32 180 PRINT fltU . 190 NEXT I Listins 2; Eliminating 0*2 (4K ROM). _ 55 LET P=32 80 FOR 1=1 TO 32-P+l 14-3 IF NOT I1=P THEN GOTO 150 14-5 LET PsP-1 147 LET R

=1 Listing 3: Eliminating 0*2 (8K ROM). . 55 LET P=32 8© FOR 1=1 TO 32-P+l 143 IF IK >P THEN GOTO 150 145 LET P=P-1 147 LET ft IP) =1 DON'T JUST EXPAND YOUR MEMORY. EXPAND YOUR HORIZONS. Are you ready to put your ZX-81 to work on some tough processing prob- lems 9 Would you like to use your ZX- 81 in monitoring or control applica- tions 9 Then consider the Wisconsinc 16K/32K memory board with I/O ports \\r\e Wisconstnc memory board is de- signed for economy and flexibility We offer kits ranging from a bare board and edge connector for the budget minded to a complete 32K with ports, aluminum enclosure, and a power supply with sufficient capacity to source 500 ma to peripheral loads All kits include complete schematic and instructions for the 32K with ports to allow easy expansion as your needs change, or as your budget allows Wisconsinc s I O ports consist of two 8-bit LS TTL input ports and two 8-bit latching output ports The ports are readily accessed using BASIC PEEK and POKE commands, or can be ac- cessed at very high speeds with user subroutines The applications for ports are limited only by your imagination With suitable external circuitry, they are useful for data acquisition and storage, joystick interface, music synthesizer, realtime clock inputs, home security systems, environmen- tal monitoring and control, and much more And the best part is that Wis- consinc s ports may be added later as the need arises, port kits come with headers and ribbon cables Even if you don t need the ports, you II find Wisconsinc s 32K memory to be easy to use. requiring only two simply BASIC commands to move the stack and re-mitialize your ZX-81 , providing 16K for BASIC programs and 16K useful for large arrays and variables This allows the use of large arrays and character strings, and will offer new possibilities m scientific and business applications, especially for engineer- ing or accounting students 16K memory kit 599 32K memory kit S134 Port kit S32 Bare board, connecter $45 16K add-on kit $35 Kit repair service $20 Wisconsin residents add sales tax Pipage add $4 95 tor shipping and handling Check or money order only Allow 4-6 weeks for delivery Get the most from your ZX-81 . and put the world within reach of your key- board Think about it You can only do so much with software Sooner or later you II wish you had ports W I S C N 7T NC Wisconsinc Electronics PO Box 332 Milton Wl 53563 24 SYNC Magazine Finally you can afford to satisfy your hist for power. ZXSl flPfiPfH £B SI CS BH ff^ tSFM NPlOT rem RfcT U H N OH HS RND STRS CHRS GOTO GOSUB LOAD ms CB BB cs !NT ^gW S^/F p;M FOR COPV CL£ CONT ( iz fx Ic |v Is In |m INPUT POKE PRINT :ODE PEEK LIST lE .S SCROLL NEXT LEN PAUSE IN KEYS For $ 99.95 you can have a foil powered personal computer. The ZX81 is also very convenient to use. It hooks up to any television set to produce a clear 32-column by 24-line display. And you can use a regular cas- sette recorder to store and recall programs by name. What you get. When you order your ZX81, you get everything you need to start programming. It comes with connectors for your TV and cassette recorder, an AC adaptor, and a free programming guide and operating manual that corn- Sinclair programs are available P letel Y documents the capabil- ities of the ZX81. Most people know by now that the ZX81 from Sinclair Research is the lowest priced personal computer in the world. But serious program- mers are looking for more than a low price. They're looking for true computer power. And that's where the ZX81 surprises a lot of people. Just look at the key board and you'll get some idea of the ZX81 's power. It has more than 60 BASIC commands, 1 20 graphic symbols, and complete mathematical functions. And there's even more power that you can't see. A breakthrough in personal computers. The ZX81 offers features found only on computers costing two or three times as much. Just look at what you get: • Continuous display, including mo\ - ing graphics • Multi-dimensional string and nu- merical arrays • Mathematical and scienti- fic functions accurate to 8 decimal places • Unique one-touch entry of key words like PRINT, RUN and LIST • Automatic syntax er- ror detection and easy editing • Randomize function useful for both games and serious applications • Built-in interface for ZX Printer • 1 K of memory expandable to 16K • A comprehensive programming guide and operating manual Options and add-ons. Like any full-powered computer, the ZX81 can be expanded and upgraded. Its IK memory can be expanded to over 16K just by plugging the Sinclair Memory Module onto the back of the unit. The cost is only $49.95. Sinclair has also published pre-recorded programs on cas- settes for your ZX81. We Ye con- stantly coming out with new pro- grams, so we'll send you our latest software catalog when you order your computer. How did we do it? The question most often asked about the ZX81 is, "How can so much computer power cost so little money?" I6K Memory Module The answer is that Sinclair Research simply took a different approach. Our only goal was to make programming power as affordable as possible. So we developed a radical new design that cuts costs dramati- cally without cutting computer power. For example, our unique Master Chip replaces as many as 18 chips used in other personal computers. The success of the ZX8! speaks for itself. It is now the fastest-selling per- sonal computer in the world. And we stand behind our product. If anything goes wrong in the first 90 days, we'll repair or replace your unit free of charge. Even after that, you can take advantage of our national service-by- mail facilities for a minimum fee. Order now and try it out for 10 days. Simply send the coupon along with a check or money order. For faster delivery, call our toll-free num- ber and use your MasterCard or VISA. You have 10 days to try out the ZX81. If it isn't all we say it is, just send it back and we'll refund your money. Why wait any longer? With the Sin- clair ZX81, you can finally afford to have the computer power you Ve al- ways wanted. Call toll free 800-543-3000. Ask operator #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 MasterCard or VISA ready. These numbers are for orders only. If you just want Free guide to programming information, please write: Sinclair Research Ltd., 2 Sinclair Plaza, Nashua, NH 03061. To order call toll free: 800-543-3000. AIL TO: Sinclair Research Ltd., Sinclair Plaza, Nashua, NH 03061. PRICE" QTY. AMOUNT | I On. S ZX81 16K Memory Module Shipping and Handling $99.95 $49.95 $4.95 •U.S. dollars TOTAL $4.95 Name I City Zip Zl Sinclair technology is also available in Timex/Sinclair computers under a license from Sinclair Research Ltd. inclair Book Review Understanding Your ZX81 ROM Thomas L Keeney Understanding Your ZX81 ROM by Dr. Ian Logan. Melbourne House Ltd., Glebe Cottage, Station Rd., Cheddington, Leigh- ton Buzzard, Bedfordshire LU7 7NA, U.K. 162 pp.; paperback. Available directly from the author for $18 (airmail). In U.S. $19.95 from: Gladstone, Heuristics, Sin- clair Place, Softsync. SYNC readers will recognize Dr. Logan as a major ZX80/81 expert whose writings are well worthwhile. Understanding Your ZX81 ROM is no exception. The book is written for a serious beginner who has a fairly good knowledge of Basic and wishes to take advantage of Z80 machine code execution speed. It supplements, but does not replace, the ZX81 manual which must be used as a reference. In many ways this book is an extension of Dr. Logan's article "An Introduction to Machine Code" in SYNC 1:6. The book falls logically into five parts. The first is a brief review of the Z80 CPU, its registers, and its instruction format. Next a quick introduction to the internal arithmetic and number base manipulations required is included. Thomas L. Keeney, 9629 Dortmund, Huntsville Al 35803. The second part is a discussion of the Z80 machine code instruction set grouped by function. Examples are drawn liberally from the 8K ROM. Dr. Logan includes 26 additional examples in the form of simple Basic programs which can be entered and executed in the IK memory. A detailed examination of the relevant parts of the 8K ROM makes up the third part. The discussion is limited, however, to those routines which the user can reasonably access and use. Again, simple Basic programs detail the manner in which ROM based subroutines can be applied to a program. A simple USR- ( address) will not work with most of them. ROM functions for report generation, character printing, keyboard input, and display generation are discussed. The fourth part might properly be called "Getting Started in Machine Code/' Dr. Logan introduces machine code programming by treating it as an extension to Basic. His technique of writing Basic programs that mimic machine code is unique to my experience. This appears to be such a good teaching method that it should become wide- spread. Of course, the technique is possi- ble only because the Sinclair Basic can 8K/16K PROGRAMS Entertainment & Engineering Fun & Useful f Pack 'em in Monzxer: See how long you can last traveling through a maze col lecting dots and avoiding goblins ; Moving graphics for 80s or 81 s $6.95 Super Monzxer: Find your way thru this complex cave network, but WATCH OUT! You must kill all the "Monzxers" and figure what to use to emerge alive S3.95 Write for information on many others! BANTA SOFTWARE 3088 Highwood Way Orangevale, CA 95662 f Why P»y More? Naval Command 16 a highly advanced ve^i- 6lon o {) Battl^hlp. { UK Gamz) For full listing and detailed explanation send $3.00 to: Koala Sohtbdati 1455 Canona f l\t Royal Que, Canada. H3P 131 28 accept variables of any length. Such concepts as flowcharting and program structure help get the beginner started. Dr. Logan leads the programmer to think in terms of the special needs of the CPU. Finally, he discusses the integration of the Basic and machine code into one program. Demonstration programs illus- trate the whole process. The fifth part consists of appendixes. Complete listings of the more important 8K ROM routines are given as well as the usual tables of machine code language instructions, decimal-hexadecimal conver- sions, and keycodes. Obviously, the book contains a great deal of information, and you would pro- bably want to keep it as a reference. However, the book can be made easier to use with three improvements. First, the book clearly needs an index and a revision of the physical arrangement of some of the contents. For example, the Z80 instructions set descriptions and the 8K ROM examples are separated from the short programs illustrating their use. This forces the reader to flip back and forth between references. I spend a lot of time with my fingers stuck in several pages to keep track of the relevant subject references while trying to apply the infor- mation to a particular programming pro- blem. Second, since the 8K ROM is decimal oriented, the inclusion of decimal equiva- lents for the hexadecimal numbers would remove some frustration for the beginner. Granted that a book on machine language needs some hex code information and examples, but the extensive use of hexa- decimal leads to some problems. For example, the table of machine code instructions in Appendix ii is useless as a quick reference until the reader himself enters the decimal equivalents. Third, a more durable type of binding that will allow the book to lie open and flat so that the reader can use both hands to enter program listings is needed. The pages are starting to fall out of mine, and I will soon ring bind it myself. In spite of these three complaints, the fact that I have worn out Dr. Logan's book is an indication of how useful I have found it to be. The fact that I intend to repair it is an indication of how valuable I think it will continue to be. It contains a tremendous amount of information and is well worth the cost. Understanding Your ZX81 ROM would be a valuable addition to most ZX80/81 libraries, and for the serious programmer it should be high on the list. PB SYNC Magazine HUNTINGTON CG/HIPUTIING I ONE OF THE WORLDS LARGEST INVENTORIES One-Stop Computer Store Atari 400 Personal Computer $349 Atari 800 Personal Computer $799 VIC-20 Personal Computer $259 Epson MX-100 Line Printer $699 Epson MX-80 Line Printer $483 Zenith 12" Green/Black Monitor $109 Elephant Memory Disks (5-1/4") VisiCalc for Apple Computers VisiDex for Apple Computers 10 for $24.99 $149 $139 1500 Programs for Apple in stock— at a discount! Hundreds of programs in stock for PET, Atari, TRS-80and Apple. We also stock NEC computers. Call Toil-Free Free $4.95 Book Free $4.95 Creative Computing book of cartoons when you pur- chase any item on this page and mention SYNC magazine. 800-344-4111 (outside California) 800-692-4146 (in California) save mm ENERGY « SHOP BY MAIL Post Office Box 1235 Corcoran California 93212 Order by telephone 800-344-41 1 1 In California 800-692-4146 4*m**.^^, ■HMMM [master charge! . "^^^^^^-v We take MasterCard or VISA (include card # and expiration date) Calitornia residents add 6°o tax Include $2 00 tor postage Foreign and hardware extra Send tor tree catalog Prices subject to change L Apple * is a registered trademark o< Apple Computer inc Pet is a registered trademark ot Commodore TRS-80 = and <= occupying their own pieces of grey rubber. Basic The Spectrum comes with a very useful version of Basic. It will be quite familiar to anyone who is used to the Micro so ft types of Basic and a doddle to learn for those new to the language. Rather than go through all the features and functions of the language, I have summarised them in a separate box. Here, I'll just comment on the unusual and interesting aspects of this particular implementation. Unlike some Basics, it is a teeny bit strict about things like using LET before assigning a value to a variable name or putting GOTO after a THEN. My view is that this is all jolly good discipline and it is more than compensated for by the fact that Spectrum pops in all those spaces which make programs so much easier to read. Of course, once you've found your way round the keyboard, the single stroke keyword entry is a joy. (I've got a feeling I said that in my last two ZX reviews.) SAVEing and LOADing cassette tapes gives plenty of scope on this machine. You can save a program nor- mally, you can save it so that execution starts automatically when it is reloaded, you can save arrays, you can save parti- cular chunks of memory and if you want to keep a pretty picture you've created then you can use the SCREEN? option to save that too. All saved pro- grams can be verified after saving. The screen save can't be verified because the display is changed during the verify program and it would not then match that held on tape. The LOAD command can, of course, handle any tape created by SAVE. The MERGE command allows you to merge a program on tape with one already in memory. Program lines which are duplicated are over- written while all others are suitably interleaved. The graphics facilities are great fun. You can draw straight lines, curves and circles on the 176x256 pixel (Picture ELement, or dot) window. Position 0,0 is at the bottom left-hand corner of the screen. You can define up to 21 graphics characters of your own which is a superb feature if you're into writing your own Space Invader or Pack -Man games. I had a lot of fun drawing and animating little people on the screen. The nice thing is that you can do all this sort of thing without leaving Basic. A BIN (binary) notation has been introduced which allows you to define numbers as a series of 0s and Is — just the ticket for designing funny charac- ters. Each character comprises eight lines of eight points, so a succession of eight BIN numbers is all you need to define such a character. Another use for user-defined graphics is to squeeze some extra colours out of the machine. If you lay out the 64 pixels like a chess board and choose suitable INK and PAPER colours then you can get some interest- ing effects. Most of them will be awful but persevere — some will be good. You won't be surprised to learn that line drawing and circle plotting are achieved using the DRAW and CIRCLE commands. A PLOT command allows you to plot single points. POINT enables you to find out whether a parti- 8K/16K ZX81 CHECKERS * FASCINATING FULL SCREEN MOVING GRAPHICS. * SOPHISTICATED PROGRAM WrTH DETAILED DISPLAY OF PLAYING BOARD. * EDUCATIONAL & ENTERTAINING. * EASY & FUN TO USE. —CASSETTE & INSTRUCTIONS- REG. $14.95 INTRO PRICE— $1 1 .95 & $1 .50 P/H B&B SOFTWARE 1425 LUCY LANE MADISON, Wl. 53711 Now available in the United States, Britains' best-selling ^^ ZX81 workstation isa stylish yet practical plinth which will angle your TV to reduce eyestrain, conceal the leads and power supply, and if you have the 16K RAM it will hold it steady to reduce crashes. Moulded in tough black ABS complete with a ready-wired on/off switch. Looks really great ! PImm order from our U.S. Aflent-JIm Griner P.O. Box 1 Princevlll* ILL 61S59^ Manufactured By Peter Furlong. Product* Unit 5, South Coast Road Industrial Eatate. Peace Haven, Susmx, England Tel: (07914) 81637 32 SYNC Magazine ZX80-ZX81 Hardware TRI. Tape Recorder Interface unit available for those with LOADING problems Self contained with leads and instructions this is a cheaper solution than a more powerful cassette machine! £12. + 50 p. p&pinUK. V.U.I. Video Amplifier Unit. This self contained unit allows the ZX81 to dr»ve a standard video monitor, gives a much better picture than on a TV set Connections take a few minutes Complete with leads or instructions. £12. + 50 p. p&p in UK. D. BRUCE ELECTRONICS THE BEACON BLACKHALL ROCKS CLEVELAND TS27 4BH ENGLAND TEL. 0783 86361 2. MEM ! ZXS1 16K RAM NEW ! BLflCKJRCK*MftSTER by R. fl. Fo I ey U P t o 7 P I a y e r s w i t h ' ' c a s i n o ' ' o P t i o n s I i k e D o u b 1 e D o w n ,. S P 1 i t P a i r s .' S u r r t f\ d e r .■ S i t u t .. a n d n*i o r e i D o n ' t s 1 1 1 1 e f o r I e*s - FOOTBALL FORECASTER by G- Smith Get this one QUICK as the data b a s e is f o r t h e 8 2 - 8 3 s © a s o m - Specify COLLEGE or PRO version. II o n e y r d e r • 9 e t s r u. s h d e 1 i v e r y « RE VERS I by Peter U I rich 2 Players, 1 a9arnst the 31; OR make it Play itself. Fast MC m o v e s + o P t i o *n a I RATE D 1 i s t o f P oss i b 1 e moves . " A# 1 ,; vers i on ! f!9.95 ea.* 2.58 for the order,, Each ZETfl Program is shipped on a certified cassette tape with i n f o r m a t i v e b o o k let. C a t a I o 9 s e n t w i t h o r d e r o r w r i t e : 22 E X R S O F" T Ui Ri R E P0 BOX 3522/GREENVILLE; SC 29608 WSM ENTERTAINMENT has: CONVERT YOUR ZX 81 TO A FULL SIZE COMPUTER WITH A STANDARD KEYBOARD With a and a faw you can convert you z>. standard keyboard with a faA &aAt, trouble faee programming. ) PLANS INCLUDE: i ma te - ' ionA, a- ' iwing* fax a solid walnut ca.se to houAe ':.i $4,00 Conver.44.cn plans with solid Walnut caw XCady far Keyboard ana stock) $ 55.- W S M ENTERTAINMENT P.O. BOX 5367 North Hollywood, Ca . 91616-5367 : slots : WHEN VOU ORDER WSM' * "SLOTS" YOU'LL SEE GRAPHICS GENERATEV SLOT MACHINE WITH LIVt ACTION LEVER MOVEMENT, WINNINGS V1S- PLAVEV, ANV ALL THE FUN OF A REAL LAS VEGAS SLOT MACHINE only you can C HANGE the. \xujoii late! FUN FOR KIVS £ AVilLTS ALIKE!!! 1 6K only [ cassette ) $ 5. - Shipping and handling $ 2.- PROGRAMS 25t$ ty beginner program* far IK ZX &1 mac'' 11 aAe printed and include instxuc t< <> Statements BEEP DATA GO TO LOAD. .DATA OVER RETURN BORDER DEF FN IF. .THEN LOAD. .CODE PAPER RUN BRIGHT DELETE INK LOAD. .SCREENS PAUSE SAVE CAT DIM INPUT LPRINT PLOT SAVE. .LINE CIRCLE DRAW INVERSE MERGE POKE SAVE. .DATA CLEAR ERASE LET MOVE PRINT SAVE. .CODE CLOSE FLASH LIST NEW RANDOMIZE SAVE. .SCREEN? CLS FOR. .TO. .STEP NEXT READ STOP CONTINUE FORMAT LLIST OPEN # REM VERIFY COPY GOSUB LOAD OUT RESTORE making your program find a suitable place to print a sort of 'label' on a draw- ing. The AT allows you to define the row and column at which printing should start. A few instructions I particularly noticed as I went though the manual were READ, DATA, RESTORE and VAL$. READ and DATA are old friends although I can't remember them being on previous ZX machines. Using the DATA command you can pro- vide lists of information at the begin- ning of a program. Each READ instruc- tion takes the next word from this list. RESTORE can be used to set the DATA pointer to any DATA statement. VAL? baffles me — it strips the outside quotes from string expressions and returns the string value of the result. Perhaps some kind reader would care to suggest a worthwhile application for this feature. Now let's have a look at our honestly named friend, BEEP. There's not a lot to tell, really, except that you can control both pitch and duration. Notes below middle C are represented by nega- tive numbers, those above by positive. Twelve numbers make an octave. (If you look at a piano keyboard you'll find that there are seven white notes and five black notes per octave.) Middle C is zero. The duration is expressed in seconds or fractions of a second. As I mentioned earlier, the sound isn't, brilliant but it has the saving grace of SOFTWARE BY C.E.D.CORPORATION E-Z BOOKKEEPING FOR SMALL BUSINESS (TAKbS LESS THAN 1/2 HOUR PER MONTH) CHECKING ACCOUNT (MAKES CHILDS PLAY OF THIS JOB) BY-IT-SELF ITS GREAT BUT IT WAS DESIGNED TO WORK WITH E-Z BOOKKEEPING MACHINE LANGUAGE NIT-PICK (GREAT FOR LEARNING ASSEMBLY LANGUAGE PROGRAMING) WORD PROCESSOR (IT WAS USED TO WRITE THIS AD) ORDER FROM C.E.D. CORPORATION PO ROX 222. SALEM. WISCONSIN 53168 PRICE LIST E-Z BOOKKEEPING $19.95 S 8.95 $27.95 CHECKING ACCOUNT $ 9.95 $ 5.95 $14.95 ABOVE TWO AS A PACKAGE $41.95 Ml. NIT-PICK $18.95 $ 7.95 $25.95 WORD PROCESSOR $18.95 $ 7.95 $25.95 SPECIFY ZX80-1 OR TRS 80 COLOR COMPUTER ZX80-1S NEED 16K RAM TRS 80 NEEDS 16KRAM ALL OF OUR PROGRAMS ARE MENU DRIVEN AND ALL DATA CAN BE STORED ON TAPE AND OR SENT TO A LINE PRINTER WE HAVE TELEPHONE SUPPORT FOR PROBLEMS OR QUESTIONS CALL (414) 276-8787 34 GAMES PACK Beat this for value' Five t6K programs - 3D Battle City Bomb M Warp Wars -Basic fcfM code 16K • " ake B* Sweet Tooth « Basil b M Slalom i Basic »6K) Black Hoi* ALL ON ONE CASSETTE FOR ONL Y $9 90 ".icter Search and replace changes eve- . Free space te*S you how many free bytes you have left SPECIAL GRAPHICS ROUTINES Hyper graphics mode ->=>n on a ZX81 Reversi- TAPE ROUTINE provides a system WAIT cot ' until a signal is received m the cassette ear jack All thes« written m machine codo and together - •ient" FOR 16K ONL Y $9 90 de for SUPER FAST response' Simply load GRAPHICS TOOLKIT, which repOM'' II own program lo el GRAPHICS TOOLKIT uses only 2K of tti the "iers TOOlKlT ,1. ALL FOR ONLY $11 90 IC5.95) This Hi. In.;- opies of a demonstration program, orehensive instruction bi- • ■ SYNC Magazine SEPTEMBERS FEATURE PRODUCT Gtuicksilva Sound Board 4096 seperate tones on each of 3 channels Volume control of each channel White noise generator with pitch control Envelope shaping facilities Two 8 bit in/ out ports OS Sound Board $49.50 OTHER GUHCKSILVA PRODUCTS OS Motherboard and OS Connector Allows use of RAM pack and up to 2 add-on boards. 5V regulator cures overheating Connector and Motherboard plug into back of ZX Permits use of add-ons such as OS Sound Board, OS Hi-Res Graphics Controller, and QS Programmable Character Generator OS Motherboard $2775 QS Connector $9.25 QS Hi-Res Graphics Controller 256 (horizontal) by 192 (vertical) Has 2K of ROM and 6K of RAM — fully buffered No software required Easily connected to QS Motherboard QS Hi-Res Bd $159.95 QS Programmable Character Generator Program up to 128 different characters at a time Characters are stored in IK of RAM on the board Each character is built on an 8x8 square No charge is necessary to existing programs Operating cassette included QS Character Bd $49.50 QS 3K RAM Boards Gives total of 4K of RAM Does not suffer from "amnesia'' and "shrinkage" Plugs into rear port of ZX or QS Motherboard QS 3K RAM $3475 Software QS Harmony A program designed to exploit the musical potential of the QS Sound board $8.95 QS Asteroids ZX-81 + 4K RAM minimum $9.95 QS Invaders ZX-81 + 8K RAM minimum $9.95 QS Defenders ZX-80 or 81 8K ROM + 4K RAM minimum$9.95 All QS software is recorded twice on quality cassettes All are written in machine code for fast moving graphics The programs have received very good ratings JP GIBBONS Personal Banking System Single key operation Search by check number, description or amount File can be displayed, printed, added to, cancelled or amended Validation of entries Requires 16K and cassette Personal Banking System $19.95 MELBOURNE HOUSE Books Not only 30 programs for The Sinclair ZX81 $14.95 Machine language made simple 19.95 ZX81 ROM Disassembly Part A 8c B$ 14.95 each (2 volumes) — Dr. Ian Logan Understanding Your ZX81 ROM 19.95 Dr. Ian Logan The Sinclair ZX81 basic course 35.00 Cassette Tapes ZX Chess - 16K ZX80^K7ZX81 24.50 10 Exciting Programs- IK ZX81 14.95 Adventure A - 16K ZX80-8K/XZ81 19.50 Adventure B - 16K ZX80^8K/ZX81 19.50 Adventure C - 16K ZX80^8KyZX81 19.50 Spacetrek — 16K ZX81 14.95 Directory/Record— IK ZX80-8K/ZX81 14.95 with listing Reversi— IK ZX80^8K/ZX81 14.95 Super Invasion - IK ZX80^8K/ZX81 14.95 Wallbusters- IK ZX80-8K/ZX81 14.95 ZX Galaxians - 16K ZX81 14.95 ZX Bug Utility Program -16K ZX81 2430 If you are a producer of quality hardware or software for Sinclair products and are interested in having a U.S. or Westcoast organization marketing your products we would like to hear from you. NO HANDLING OR SHIPPING CHARGES Washington residents add 6.5% sales tax. P.O. Box 2288, Redmond, Washington 98052 being fairly quiet (ComputerTowns please note). You can pick this sound up from the cassette ports if you so wish. I'd say these facilities are more likely to be used for sound effects than composing symphines. That's really all I have to say about the Basic. It is a very good implementa- tion for a machine of this size. A PAINT instruction would have been nice to fill in graphics shapes, but I think it would look a bit weird in multi- colour mode with the colours changing at each character boundary. A routine to do this should be simple enough. I think the screen resolution is quite ade- quate for most personal users of the machine. In fact you can churn out some quite stunning effects using DRAW, PLOT, CIRCLE and the user- defined characters. Before moving on to documentation, here's a list of the disk commands just to whet your appetite: CAT, CLOSE, DELETE, ERASE, FORMAT, MOVE, OPEN. CAT is probably short for Catalogue which lists the files on a disk. MOVE probably copies a file from one place to another. The others are self- exaplanatory. Documentation Two manuals come with the Spectrum — a thin but useful introduction for the complete novice and a thicker one which explains things in depth. A lot of effort has been put into this latter manual. It is professionally presented and easy to read. Unfortunately, I was given a photocopy of the final proofs and it contained no index and no table of contents. I read the whole manual a couple of times before starting the review and I found it a real problem to find things that I knew were there somewhere. I must admit that the style wasn't to my liking; it's a little verbose and the individual chapters seem to lack structure. I also found the inevitable errors which might cause a beginner What about the 81 ? It was no secret that * Uncle' Give was going to launch a knockout micro — he's put a bomb under the industry twice already, producing machines which brought computing power with- in everybody's reach at prices which drastically undercut the competition. A slightly upmarket (by Sinclair standards) machine offering colour and sound and reasonable graphics at a price far, far below that of any equivalent machine was a logical step to take, especially in view of Sinclair's obvious annoyance at being left out of the BBC deal. What is interesting, though, is that the Spectrum does not replace the ZX81, as the 81 did the 80 - it's an addition to the range and the ZX81 will continue in production. In fact, production of the 81 is to be increa- sed to a target of 150,000 a month by the end of the year. The ZX81 will continue to be ideal for the person who wants the lowest possible entry cost into computing,' says Sinclair. And to prove the point, he's knocked £20 off the price of the 16k RAM pack. At the moment Spectrum is avail- able only by mail order and is only on sale in the UK — there are no plans yet to market it through retail outlets, as is done with the ZX81 through W H Smith, and export versions are not planned until the end of the year, with the USA being the first (and largest) market to get the new machine. Peter Rodwell problems — things like a minus sign being printed instead of equals, for example. The manual certainly seems to cover everything, so if a table of contents and a comprehensive index are added you'll probably find it adequate. It's certainly an improvement on many manuals on the market. Potential use This is the first machine that I've reviewed since the Atari two summers ago that I would actually buy — in fact I will have probably ordered one by the time you read this. I would use it for fun, for fooling around with graphics and for programming in Z80 code. I would treat it as a hobby machine, a way of relaxing. My children have already become very interested in the graphics capability and I see this as a way of giving them a real understanding of mathematics. A Logo system on this at the right price would go down an absolute treat — if anyone out there thinks of doing it, I'd love to review it. Of course, there are those who want to learn to write programs. Once again, this is an excellent machine to cut your teeth on. I think that schools and ZX 80/81 1 6K RAM Plug in and Run- This RAM Memory Expansion has a reliable, proven connector and requires no additional power other than that supplied by the ZX 80/81. Fully tested with a 90 day warranty Apropos tcchnoiogi To Order: Send Check or M.O. $45.95 + $4.00 S & H or Phone: 805/482-3604 Visa or M.C. Cal. Residents Add 6% Sales Tax. 350 N. Lantana Ave., Suite 821 • Camanllo, CA 9301 36 SYNC Magazine homes have got to be the prime targets for Spectrum at the moment. Later on when the disk drives appear, this may change. At a predicted £50 for a 100k drive, a lot of people who will have written the Spectrum off as a hobby machine will have to think again. Add to that a £20 combined KS232 and communications facility, and you could be talking about some very interesting and fairly sophisticated net- works. At that stage, it becomes a very real prospect for schools looking for a fairly grown-up system, but one which can involve as many pupils as possible. At Sinclair's prices could we possibly be heading for the 'one on every desk' scenario painted by so many futurolo- gists? Until those disks arrive there is no great office potential for the Spectrum. Once they're on stream then it's pro- bably just a question of appropriate software. Information management and Visicalc-type applications would seem to be the most likely and, because of the price of the television, they will probably be used with portable black and white machines. No doubt the dedicated will take their Spectrums (or is it Spectri?) home to plug into the colour TV. Most people will probably wait until Sinclair announces a flat screen colour television. The network idea could then be useful in offices for things like telephone directories, notice- boards and memos. Prices (inc VAT) 16k Spectrum 48k Spectrum 32k Memory Microdrive disk RS232 + Comms ZX Printer £125 £175 £60 (estimated) £50 (estimated) £20 £59.95 Conclusions Well, for the benefit of those who only read the first and last paragraphs of these reviews here are my conclusions: Clive Sinclair has produced a very good 16k personal computer which offers colour, high resolution graphics and limited sound for just £125. That represents very good value for money provided that this is the sort of machine you want. It is ideal for people who want to learn about computing and have a lot of fun while they're doing it. Given the right sort of graphics-based educational software, it can bring people very pleasurable ways of learning subjects such as mathematics and geography. Once the games programs start to appear, a lot of people will use it just for that, although it does seem a bit of a waste. Later on, the provision of disk drives and communications facilities will make it an even more serious contender for the school markets and it will begin to creep into businesses. When the flat screen television appears then I suspect that the business interest will rise because the price will be far more appropriate. Bulletin boards, memos, telephone directories, spreadsheet cal- culation and information management seem to be the most likely applications The 'proper' keyboard is "a distinct improvement on its predecessors, but it still doesn't achieve — or try to achieve — the quality of an IBM. All the old regular Sinclair features are included — the single keyword entry and the auto- matic syntax checking as you enter each command, for example. My verdict? The best value for money you can find today! % / would like to thank John Mathieson of Sinclair Research for so patiently answering my questions. BM1 BM2 4.8 8.7 BM3 BM4 _ Benchmark timings . 21.1 BM5 20.4 BM6 24.0 55.3 BM7 BM8 80.7 25.3 All timings in seconds. .Technical data . CPU: 3.5MHzZ80A Memory: 16k Dynamic RAM, 16k ROM, 32k expansion option Keyboard: 40 keys rubber moulding. 183 functions + 8 colour labels. Auto -repeat Screen: Domestic colour television. 8 Colours or 6 grey shades. Cassette: Domestic recorder. Disk drives: To be announced. 100k per drive. Ports: To be announced. RS232 & comms. Language: Basic in ROM Sin ware's HOT Z HOT Z is a program designed to give you the control and understanding of your computer's soft side that you will need to get the most out of the new generation of ZX equipment. Use it to manage the con- tents of that 64K memory or to write I/O routines for peripherals. Use it to under- stand your ROM and get the best out of your hardware, or to learn machine pro- gramming, which is much less forbidding when you have the power of HOT Z's 40 commands at your fingertips. HOT Z provides: • Disassembly of Z80 code, floating- point code, CHR$ code, with named system variables and no warmed- over 8080 jingo. • The ability to annotate your memory with hundreds or thousands of labels for better understanding of programs and files. Full set of HOT Z labels supplied. • Easy cursor-guided entry of machine programs with instant disassembly of each step. • Edit functions to insert, delete, trans- fer, clear, search, load or save blocks of memory. • Single or multi-stepping of programs anywhere in memory, even ROM or above 32K, with full display of regist- ers and flags. • Smooth fast 24-line displays at all times. • Instant access to command prompt displays. • 50 pages of instruction and docu- mentation. • An expandible system: Assembler available soon. HOT Z shares memory space with BASIC programs, is stable, friendly, and re- freshes the flip-flops that other programs cannot reach. Special versions for 16K RAM, 32K+ RAM, ZX80 or 81. Specify. $19.95 ppd. SINWARE BOX 323, DIXON, NM 87527 July/August 1982 37 8K ROM; IK RAM Double Your Memory J. Wayne Schneider Ed. -A WORD OF CAUTION: Any hardware project for your computer must be approached with extreme caution. SYNC cannot he responsible for any problem that may arise from attempting hardware projects. Obviously, any dam- age to your computer can be costly in time and money. The first few days of working (playing?) with a new Sinclair ZX81 are filled with anticipation, excitement, and, for the kit builder, triumph and pride. Seeing that little black K on the screen when the ZX81 is first powered up brings exclama- tions of joy from the new programmer and a questioning stare from uninitiated bystanders. Alas, all of this excitement soon dwindles into frustration with the first attempt to impress a sceptic viewer with a simple random graphics display. There is not enough RAM for even one full screen and a modest program. Do not despair! There is a reasonably quick and almost painless solution. Although the ZX81 was designed to be inexpensive, a foresighted designer has provided the circuitry to use a 2K x 8 bit static RAM on the circuit board. The whole process involves removing the two 21 14s at IC4a and IC4b, installing a 2K x 8 RAM at IC4, and adding a jumper at L2. If you are lucky enough to have a ZX81 with a 4118 RAM, you will not even have to change IC sockets. Simply remove the 4118, install the 4802 in its place, and change the jumper at LI to L2. One warning for those with factory built computers: performing the procedure described here will void your warranty. J. Wayne Schneider. 1601 South 450 West, Prove, UT 84601. Preparations You will need a clean, dry workspace at least two by four feet. The area should be well-lighted and protected from solder drippings. An old bath towel spread over a table makes an excellent surface on which to work, but make sure it is an expendable towei before you burn a hole in it with a hot soldering iron. Further- more, it protects both the table and the ZX81. You will also need the following: 1) A light, 15-25 watt soldering iron with a fine tip. 2) Fine gauge rosin core solder. 3) A pair of sharp wire cutters. 4) A Phillips screwdriver with a no. 1 point. 5) A 2K x 8 static RAM. These are manufactured by several companies. Mostek's 4802 is no longer being manu- factured, but it is still available from many electronics supply stores. Mitsubishi makes an equivalent part that costs less, number M58725P. Hitachi's CMOS part, number 6116, which requires considerably less power, is your best bet if you are concerned about the ZX81 overheating. Others are the Toshiba 2016, the Fujitsu MB8128, and the NEC part 4016. If your ZX81 has the two ICs labeled uPD2114LC, you will need to buy a 24 pin DIP socket for the new RAM or else two 12 pin SIP sockets. The DIP (dual inline pin), socket is structurally better, but the SIPs can be installed without removing the old 18 pin socket. You will need some solder wick to help with the desoldering of the old 18 pin DIP socket if you are going to add a 24 pin DIP socket. New rubber feet or glue will be needed when you reattach the rubber feet to the back cover of the ZX81. When you have all of the parts and about three hours to spare, you are ready to begin. Operations Get all of the parts and tools together. Disconnect the ZX81 from everything, especially from the power supply. Place it flat in front of you just as though you were going to type on it. 1) Remove the back cover. Turn the ZX81 over so that it is posi- tioned as shown in Figure 1. There are five screws to remove. Only two of them are visible. The other three are under the rubber feet at positions 1, 4, and 5, Carefully remove the three rubber feet and save them for later. If you are lucky, the sticky will come with them, and they can be stuck to a piece of wax paper for installation later. Now remove all five screws. Notice that screws 4 and 5 are shorter. Set these in a safe place. Gently lift or pry the back cover off. It should come easily without forcing. 2) Remove the printed circuit board. Remove the two screws that hold the printed circuit board in place. Note their exact position for reassembly. Very care- fully lift the circuit board and rotate it back towards you until it is face up. Be extra careful not to stress or crimp the flat tails connected to the keyboard. You may now disconnect the keyboard by pulling straight and steady on one tail at a time. Set aside the cover with the key- board attached. 3) Remove the existing IK RAM. Turn the keyboard around 180 degrees so that the flat square metal heat sink is on the lower left as shown in Figure 2, Remove the two 18 pin ICs at IC4a and IC4b. These are the 2114 IK x 4 bit RAMs. If your ZX81 does not have these two ICs, then it will have only one 24 pin IC at IC4. Remove this IC. It is a 41 18 IK x 8 bit RAM. Save the RAM where it will not be subject to extreme temperatures or static. 4) Install the new IC sockets. If you are one of the lucky ones whose ZX81 came with a 4118 RAM, you can ignore this process. Otherwise, carry on. Place the new sockets in the lower 12 holes on each side of location IC4. If the SIPs do not fit easily into the holes or if you are using a DIP socket, you will have to desolder and remove the 18 pin DIP socket. Now turn the board over and solder the new socket in place. (Caution: never bring a hot soldering iron close to a chip or any other component. Be sure that all the chips have been removed.) Be careful with the solder. Use enough to fill the hole but not so much that it runs down the pins and shorts something out. Turn the board back over. 38 SYNC Magazine .Figure 1: Bottom of the ZX81. Figure 2: Board Orientation and IC Location. Long screws Short screws ® -> @ rU 5) Install a jumper at L2. Those who have the 4118 RAM must first desolder the jumper at LI. Use a short piece of wire bent in a U shape to connect the solder pads at L2. Solder it in place. Be careful not to get too much solder. 6) Install the new 2K RAM IC. Place the new 2K RAM in the new socket. It should be oriented with pin 1 to the upper left. Finding pin 1 may be a problem. The IC will probably have a dot etched or molded into the top surface adjacent to pin 1. If you cannot find a dot, there will be a notch in the center of one end. The notch should face away from you. If you had a 4118 RAM. be sure you are installing into the lower 24 holes. Nothing goes into the upper four holes. Push the socket into place. You may find it necessary to bend the pins inward to make it fit. After the IC is in place, inspect it to be sure that all the pins are in their holes and not bent underneath the IC. 7/ Reassemble the ZX8L Turn the printed circuit board 180 degrees so that the square metal heat sink is at the upper right. Place the cover beneath the circuit board. The keyboard tails should form a graceful loop back over the upper left corner and into their sockets. Be very careful when pushing these fragile tails into the sockets. If they are bent or torn, you will not have much success in getting the ZX81 to work. Rotate the circuit board back into place in the cover. Check the keyboard tails for positon. Screw the board in place with two of the short screws at the positions you noted in step 2. Replace the cover and screw it down using the short screws at locations 4 and 5. Do not use the long screws in the wrong place. You could damage the keyboard. Glue the rubber feet into place. When you install the rubber feet, place them to the side of the screw holes, and you will never have to go through that misery again. Trouble Connect your ZX81 to your TV again and plug in the power. If it works, treat yourself. If not, check the solder joints. You may have to resolder them. Do not resolder with the IC in the socket. Check the IC for orientation. Be sure all of the pins are in the holes. Did you forget the jumper? If the computer displays the inverse K but will not respond to the keyboard, check the tails. They should be seated straight in their sockets. The fault rarely lies within the RAM IC itself. However, that is a possibility. At that point you will need someone experienced in working with digital circuits to help you solve the problem. Conclusion Now that you are up and running, try the following command: PRINT PEEK 16389*256-16384 That should display 2048, which is the amount of memory you now have avail- able. A full screen requires 704 bytes of memory The system variables require 125 bytes. With IK of RAM, you are left with 195 bytes for a program. With 2K of RAM you are left with 1219 bytes; over six times as much program space. Of course, the ZX81 Basic does not really dedicate 704 bytes of memory unless your program fills the thirty-second position of every line. That will rarely happen, but now you can enter a reasonably long program and still have a full screen display if you want it. *m July/August 1982 39 ZX81 SOFTWARE DAMES PACKS I for 1K ZX81 & 8K ROM ZX80. Eight fantastic programs for the unexpanded ZX81, including DIGICLOCK, 9-LIVES, REACTION TEST, GOBBLER and PATTERNS. $9.95 ($12.95 in Canada) 2 for 16K ZX81. Four programs writ- ten in BASIC for the expanded ZX81. PONTOON, FRUIT MACHINE, OXO, and BIO- RHYTHMS. $9.95 ($12.95 in Canada) J for 16K ZX81 and 8K ROM ZX80. Two programs for expanded ZX81 to keep you entertained for hours! 3-D 0X0 is written in machine code and is hard to beat. MARS RESCUE is a com- pulsive adventure game. $9,95 ($12.95 in Canada) 4 for 16K ZX81. ZOMBIES — escape as they chase you around Zombie Island. Lure them into the pits, but don't fall in yourself. MOUNT MAYHEM — can you reach the 20,000 foot summit? Look out for Yeiis and other hazards! $9.95 ($12.95 in Canada) DICTATOR Fantastic new adventure game for 16K (or greater) ZX81. You have just become 129th ruler of Ritimba with a single goal in mind: take full advantage of the situation for your own good. You have to deal with a handful of factions: unruly army, downtrodden peasants — but you have the secret police on your side. $14.95 ($17.95 in Canada) CONSTELLATION Turn your ZX81 into a telescope with this amazing 16K program. Produces a simula- tion of the night sky as seen from any position on Earth at any chosen time this century. You may point your telescope in any direction, move it up, down, left or right, zoom in or out. Stars may be displayed by magnitude or constellation $14.95 ($19.95 in Canada) CHESS A challenging chess programme, written in machine language, designed to operate in the ZX81 fast mode. ZX Chess allows you to select from 6 levels of play, choose either black or white, and enables castling and en passant moves. Unique "self- running" feature: you start the tape and when the chess board appears on the screen, start your game. ZX CHESS! N ow $12.95 On Cassette IXAS Assembler Now you can use the full power of the Z80 microprocessor without having to laboriously POKE in instruction codes. This full specification Z80 assembler assembles all the standard Zilog mnemonics, which are simply written into REM statements (more than one per line is allowed) within your BASIC program. When assembled, the assembly listings, together with assembled codes and adresses, are displayed on the screen. The assembled code is executed by USR. The program occupies 5K, is situated at the top of the memory, and is protected from overwriting. This means that ZXAS may be used in conjunction with ZXDB (see below), providing an extremely power- ful machine code system normally only found on very expensive computers. The program is available for both the ZX81 and the 8K ROM ZX80, and in both cases, the 16K RAM pack is required. Despite the low price, ZXAS is a FULL- SPECIFICATION assembler, and is a must for all serious ZX users. Full documenta- tion on how to use the assembler (in- cluding a list of the mnemonics) is sup- plied. $9.95 ($12.95 in Canada) VVJID Disassembler/ minrnJU Debugger The perfect complement to the ZXAS assembler, ZXDB is a complete combined machine code disassembler and debugg- ing program. Like ZXAS, it is itself written in machine code for compactness, and may be used in conjunction with ZXAS, still leaving about 9K of memory for your own program. Apart from the DIASSEMBLER, the pro- gram has features including SINGLE STEP, BLOCK SEARCH, TRANSFER AND FILL, HEX LOADER, REGISTER DISPLAY and more, all of which are executed by simple one key commands from the keyboard. All in all, an extremely powerful programming aid, well worth the money for the disassembler alone! $9.95 ($12.95 in Canada) STAR TREK The classic computer game in which you trek across the galaxy in search of Kl- ingons to zap with your phasers and photon torpedoes. You have long and short range scanners to help you find them, Starbases to refuel your ship at and, of course, various witty comments from the crew. 16K. $9.95 ($12.95 in Canada) VU-CALC VU-CALC. Constructs, generates, and calculates large tables for analysis, budget sheets and projections. Up to 26 columns of figures or data can be entered, plus user definable formulae capable of relating any one or more position in the table to any other defined position. NOW $14.95 MULTIFILl cc> i^ai t3uG-e>-rE *FT UP FILE PflRHMETERS CREATE F ILE MODIFY FILE SERRCH FOR FILE STEP THROUGH FILES SUH NUMERICAL FILE SECURITY LOCK SPUE FILES ON TAPE ENTER YOUR CHOICE MULTIFILE Data Storage System An amazingly versatile multi-purpose fil- ing system for the 16K ZX81. The program is menu-driven, and number, size and headings of files are user-definable. Both string and numerical files are catered for. Files may be created, modified, replaced, and searched, and are protected by an in- genious foolproof security system. Out- put to the ZX printer is also provided. The program comes on cassette, together with three quality data cassettes for file storage, and comprehensive documenta- tion, describing a host of applications for both business and personal use. Supplied in an attractive storage case. If your ZX81 is bored with playing games, then this pro- gram will give it plenty to think about! $29.95 ($39.95 in Canada) New Multifile Plus for 64 K RAM $34.95 VIEWTEXT A ten page information display system for the 16K ZX81. Can display both text and graphics in any sequence with variable speed. Many applications including shop window displays, educations, animation, etc $14.95 ($17.95 in Canada) Gladstone Electronics, 901 Furhmann Blvd., Buffalo, N.Y. 14203 (716) 849-0735 ZX81 COMPLETE BASIC COURSE At last, a comprehensive text lor your Sinclair ZX 81 ! The complete BASIC Course is a manual which will immediately become an indispensible work of reference tor all your ZX 81 programming Whether you have never done any programming or whether you are an experienced microcomputer user, the Complete BASIC Course will provide itself to you as an invaluable aid The Complete BASIC Course is designed to teach you to write and develop BASIC programs for the Sinclair ZX 81 - no other books or aids are necessary All is revealed in our easy step-by-step guide with programs and test yourself exercises all the way through As you become more proficient with computing, the Complete BASIC Course will continue to be an essential guide, giving you finger tip references, numerous advanced programming techniques and memory saving devices specifically for the Sinclair ZX81 HOW TO WRITE PROGRAMS: Even it the idea of writing programs is completely mystifying to you, the Complete BASIC Course will show you just how easy it is In no time you will be able *c writs and snjoy ccmp'e* programs for whatever use you desire. Using the proven TOP-DOWN approach, the Complete BASIC Course will show you systematic and simple ways to write programs. Even experienced programmers will benefit from this Course, making programs easier to write and less prone to error 1 NUMEROUS EXAMPLES: Every concept, every function n fully described by simple programs that you can enter on your Sinclair ZX61 In minuter MORE BOOKS! Not Only 30 Programs (or the Sinclair ZX81: 1K- Not only over 30 programs, from arcade games to the final challenging Draughts playing program, which all fit into the unexpahded 1K Sinclair ZX81 but also notes on how these programs were written and special tips! Great value! $14.95 ($16.95 in Canada) Machine Language Programming Made Simple lor the Sinclair A complete beginner's guide to the computer's own language Z80 machine language Machine language programs enable you to save on memory and typically give you programs than run 10-30 times faster than BASIC programs. $19.95 ($23.50 In Canada) Understanding Your ZX81 ROM A brilliant guide for more experienced programmers by Dr. Ian Logan, this book illustrates the Sinclair's own operating system and how you can use it. in- cludes special section on how to use machine code routines in your BASIC programs. $19.95 ($23.95 In Canada) ZX81 ROM Disassembly Part A. Covers ROM locations from 0O0H to OF54H and includes all functions except for routines used in floating point calculator. A must for the experienced programmer. $14.95 ($16.95 in Canada) The Complete BASIC Course contains over 100 programs and examples' These programs illustrate the use and possibilities of the Sinclair ZX 81 • Home use • Financial analysis and planning • Educational applications • Games • Mathematical applications • Displays of Artificial Intelligence EVERY FUNCTION COVERED: No matter what your application, what your confusion about any function, you will find it covered m the Complete BASIC Course A full and detailed discussion is included of even traditionally taboo topics such as USR PEEK and POKE. A handy alphabetical summary section lists ail functions, and provides a shod description and example programs of all topics. A PERMANENT WORK OF REFERENCE: The Complete BASIC Course is an excellent reference work for experienced programmers (including tips on using special techniques) as well as a comprehensive step-by-step guide for complete beginners. The Complete BASIC Course has over 240 pages filled with information in an attractive durable ring binder - this is a lay-flat work of reference that deserves a place next to every Sinclair ZX 81 microcomputer $34.95 BASIC Course Programs on Cassette All major programs In the BASIC Course are available pre-recorded in this set of cassettes. This is a valuable adjunct to the Course, saving you time and effort. $7.50 ($9.95 In Canada) LAST MINUTE SOFTWARE! Backgammon (16K) Includes a high quality graphic representation of the board. Now $8.95 Flight Simulation . Incredible realistic machine code program for piloting your own ZX81 ! Now $9 95 Damsel ft the Beast (1K) Superb adventure game. $14.95 ?; 17.95 in Canada) wo Adventure Games (16K) Now $8.95 GLSDSTOtlE Electronics 901 Fuhrmann Blvd.. Buffalo, NY, 14203 l/~fl ZXB1 $179-95 Memotech 64K Memopak The Memopak is a 64K RAM pack which extends | the memory of the ZX81 by a further 56K. Design- ed to be in the price range expected by Sinclair owners. Plugs directly into the back of the ZX81 [and does not inhibit the use of the printer or other add-on boards There is no need for additional power supply or cables. The Memopack together with the ZX81 gives a full 64K, which is neither switched nor paged, and is directly addressable The unit is user transparent, and accepts such basic commands such as 10DIM A(9000). With the Memopak extension the ZX81 is |transformed into a powerful computer, suitable for business, leisure and educational use, at a trac- tion of the cost of comparable systems The Explorers' Guide to the ZX81 ZX81 Programming Aids Some Games and Other Novelties Applications Machine Language Discovering the ROM Hardware $9.95 ($12.95 in Canada) "CHARGE TO: I VISA MASTERCARD account number: Please rush me: Shipping and handling charge $1.50 per order books and cassettes, $3.00 per order 64k Memopak. In Canada: Gladstone Electronics. 1736 Avenue Rd., Toronto, Ont.(416) 787-1448. =~s-i Quantity Price Total Expiry date I i Signature | Date | NAME | ADDRESS. I SHIPPING TOTAL. .To: Gladstone Electronics, 901 Furhmann Blvd., Buffalo, N.Y. 14203 (716) 8490735, Call or write for free zx81 catalog r THE SUBSCRIPTION MAGAZINE FOR THE ZX-81 MICROCOMPUTER FORTHEZX-80&ZX-81 8KROM1K- 16K GAMES-EDUCATIONAL-BUSINESS GRAPH ICS-TUTORIAL-ETC. M2 Mo. Issues — 6 Bi-Monthi- 1 CASSETTES * AT LEAST 6 PROGRAMS EACH $39.50 , III. Residents add $2.07 tax outside USA add $10.00 VISA' '<• r*J\ f ■ m , * Jl f * * ^*»J\ f — tm m j^* - ^, > J V ' ■» ■ " ^ /V* ■ %»n y^ ' — < V^ » ■ % . f j^ w ■ w , ^ , . ^ m l » J^ ■ +mm j^ * Ask for operator #383 THE S & S COMPANY 388 W. Lake Street Addison, IL 60101 (312)628-895* 24 HR. HOT LINE 800-543-1300 IN OHIO -800-582-1364 8KR0M Part 3 Understanding Floating-Point Arithmetic Ian S. Logan In this article on floating-point arith- metic we will consider the algorithms that are used in the 8K ROM program to perform the operations of subtraction, addition, multiplication, and division. The 8K ROM program has four separate subroutines for performing these arith- metic operations. The hex addresses of their entry points in the 8K ROM (improved) are: Subtraction: 174C Addition: 1755 Multiplication: 17C6 Division: 1882 In each case the subroutine performs its operation on the top two floating-point numbers found on the "calculator stack," and returns the result as a single floating- point number that replaces the "lower" of the two operands. The pointer to the end of the calculator stack (STKEND) will point five locations lower after each operation in consequence. Now, before going into the details of these four subroutines, let me recap how a floating-point representation of a deci- mal number is produced. In the ZX80/81 system floating-point numbers occupy five bytes. The exponent takes one byte, and the mantissa, four. The first stage, therefore, is to consider your decimal number in E format. It is a convention that the mantissa has only a fractional part and thereby starts with a decimal point. To illustrate the process let us take the number 456. The decimal exponent will be +3, and the decimal mantissa will be .456. Note that the number is positive. Next the operations should be repeated in binary to obtain a "true" binary floating point. The binary representation of 456 is 1 1100 1000. The exponent is +9 or 1001 and the mantissa will be 1 1 10 0100 Dr. Ian S. Logan, 24. Nurses Lane, SkeHin«thorpe Line Ion. LN6 OTT. U.K. Now the exponent and mantissa can be made up to the correct size and expressed in hex as follows: Exponent: 09 (1 byte) Mantissa: E4 00 00 00 (4 bytes) To obtain the correct Sinclair repre- sentation there are two further conven- tions to follow: 1) Add 128d (80h) to the exponent. 2) Replace the first bit of the mantissa — it is always set!— with a zero if the number is positive. Hence, the final representation for 456 will be: 89 64 00 00 00 in hex, or 137, 100, 0, 0, in decimal. Now let us consider the actual sub- routines. Subtraction The subroutine that is uniquely used for the operation of subtraction is very short as the algorithm used is to change the sign of the subtrahend (the number being subtracted) and then to proceed with an addition. The actual steps are: 1) Fetch the subtrahend and return if it has the value 0; i.e., 456 - is always 456 and the operation of subtracting a zero can be ignored in all cases. 2) Fetch the first byte of the mantissa of the subtrahend and "flip" the sign bit-the first bit: 456-315 = 456 + (-315). 3) Proceed to add the two numbers. Addition This subroutine is fairly complicated as it has to cater for simple additions of positive numbers whose results are "within range," for additions with negative numbers, and for additions that go "out of range." The essential parts of the subroutine are, however, fairly easy to explain. The steps are: 1) Fetch the augend (the first number of the addition). Reduce the exponent by July/August 1982 80h, restore bit 1 of the mantissa if the number is positive and make a note of the sign of the number. The augend is now in a "true" floating-point form. 2) Fetch the addend (the second num- ber of the addition) and produce its "true" floating point form. 3) Compare the "true" exponents against each other and, if the addend is larger than the augend, switch over the numbers. I.e., when adding 456 + 38, the exponents in decimal are +3 and +2, so leave as is. But, when adding 38 + 456, switch over the numbers to make 456 + 38. 4) Find the "difference" between the exponents. This difference is the "amount of shift" that will be needed to "line up" the addend for the actual addition. This can be shown in decimal as follows: 456 + 38 is (.456 E + 3) + (.38 E + 2) The difference in the exponents is +1, and the addend is shifted one place to the right to make the addition: (.456 E + 3) + (.038 E 4- 3) Now the true addition takes place between the mantissas, and the result is (.456 + .038) E + 3 = .494 E + 3 = 494 5) Therefore shift the addend right- wards if needed and add the two numbers — the mantissas— together. 6) Normalize the result if it is not normal. In binary floating-point the above addi- tion of 456 4- 38 becomes: 456 is 137, 100,0,0,0 with a "true" form of 9, 228, 0, 0, 38 is 134,24,0,0,0 with a "true" form of 6, 152, 0, 0, The augend is larger than the addend so the numbers do not need to be switched over, but there is a "difference" of +3, so the addend has to be shifted three places to the right to line it up with the augend. Thus 456 stays as 9, 228, 0, 0, whilst 38 becomes 9, 19, 0, 0, The two mantissas can now be simply added together to give the result 456 + 38 = 494 as 9, 247, 0, 0, This result does not change with nor- malization but with the exponent aug- mented and the sign byte entered it becomes finally: 494 is 137, 119,0,0,0 Note that, when an addition involves negative numbers, the subroutine 2's complements the negative mantissas, and that, if the final result is to be negative, it too will need to be complemented before being placed on the "calculator stack." multiplication The subroutine for multiplication is fairly straightforward. For two numbers in floating-point form to be multiplied together, the exponents are simply added, and the bytes of the "true" mantissa are 43 RUBIC'S MASTER FEATURES: Use as Normal Cube Enter User 1 s Cube Scrambles Cube ***Solves Cube*** Save Current Cube For ZX80;8K R0M,ZX81 16K RAM Required On Tape with Instructions JEU INTELLIGENT P.O. Box 71 Glasgow, VA 2Zf555 Price $15 Add $2 for orders outside U # S* If You Can't Solve It I CAN. EDSON ELECTRONICS OFFERS Educational programs for grades 1 -4 that reinforce what they learn in school. We also offer a digital dis- play load monitor for monitoring data from the cassette to the computer. Write to Edson Electronics P.O.Box 151211 Tampa, Fl. 33684 for free info. 8K ROM; 16K, 1K. Games, Utilities, Tech prog., Household prog. & more. For details send SASE to: NGM INC. P.O. BOX 18702 OKLA CITY, OK 73154 ZX TELEPHONE BOOK • Holds 720 names plus easy ADD /CHANGE/ DELETE functions' • Extensive learner friendly documentation even shows you how fo add multi-access capabilities' • Get this high performance 8K/16K listing at BIG SAVINGS • Only $4 95 from THOMAS B WOODS BOX 64 JEFFERSON. N H 03583 multiplied together bit-by-bit. The man- tissas, being "fractional," when multiplied together, decrease in absolute magnitude and hence there is no danger of overflow. However, the addition of the exponents has to be checked for all the instances of "underflow" — reaching zero — and true numeric overflow. The actual steps of the subroutine are as follows: 1) Fetch the multiplier (the first number of the multiplication) and return if it is already 0; if it is not, form the "true" mantissa. 2) Fetch the multiplicand (the second number of the multiplication) and force the result to be if it is already 0. If not, again form a "true" mantissa. 3) Make available a set of registers to hold the result of the multiplication and set a counter to count the 32 times required for the multiplication of a pair of 32-bit mantissas. 4) Perform the 32 operations that pro- duce the result. 5) Add the exponents, check for "underflow" and "overflow," and finally normalize the result. As before, the algorithm will now be illustrated with decimal numbers before a binary example is given. Consider the multiplication of 13 * 12 to give 156. When converted to normalized E format, the problem becomes (.13 E+2) * (.12 E + 2) equals (.156 E + 3) How is it done? Following step 3 above, the result is set to be 0, and a counter set for the number of digits in the mantissas— in this case, 2. Then the following looping is performed the specified number of times. The steps of the loop are: 1) Shift the multiplier rightwards and note the carry. 2) Increase the result by the product of the carry and the multiplicand. 3) Decrease the result by shifting it one place to the right. Now let us look at the example values: 1st loop 1) .13 becomes .01 with a carry of 3. 2) The result, presently 0.0, is increased by 3 * .12 to become .36. 3) Decrease the result, by shifting right- ward, to make .036. 2nd loop 1) .01 becomes .00 with a carry of 1. 2) The result, presently .036, is increased by 1 * .12 to become .156. 3) Decrease the result, by shifting rightwards, to make .0156. This value of .0156 is the mantissa that goes with the exponent obtained by adding the "true" exponents, and the result is presently 0.156 E + 4 which upon normalization becomes .156 E + 3 which is the expected result. In binary floating point 13 * 12 becomes (132, 80, 0,0,0)* (132, 64, 0,0,0) with the result 156 being 136, 28, 0, 0, The "true" exponents of both 12 and 13 are 4, and the first nibbles (the first four bits) of the "true" mantissas are 13: the bits 1101 12: the bits 1100 In this example for simplicity the multi- plication will be made between two 4-bit mantissas to produce an 8-bit result. The full operation is 32 bits by 32 bits. Now let us consider the loops. 1st loop 1) The multiplier, 1101, is shifted to the right to give 01 10 and the carry equals 1. 1. 2) The result goes from 0000 to 1 100 and is itself shifted to give 0110. 3) The end multiplier bit was set, so the present multiplicand was added to the result before it was shifted. 2nd loop 1) The multiplier goes from 0110 to 0011. 2) There is no addition of the multipli- cand, but the result is still shifted to give 00110. 3rd loop 1) The multiplier goes from 0011 to 0001. 2) The result is increased by adding the multiplicand; 001 10 becomes 1 1 1 10. 3) This is shifted to become 01 1 1 10. 4th loop 1) The multiplier goes from 0001 to 0000. 2) The result goes from 011110 to 1.00111. 3) When shifted, it becomes 10011100 (8 bits given). The exponents are now added and the 5-byte "true" number is formed as 8, 156,0,0,0 which, with the exponent augmented and the sign bit reset, is 136, 28, 0, 0, and that is the floating-point representa- tion of 156. Division Of all the arithmetic subroutines, divi- sion is the most complicated and the least understood. It is particularly interesting 44 SYNC Magazine to note that the Sinclair programmer himself has made a mistake in his pro- gramming (or has copied over someone else's mistake!) for PRINT PEEK 6332 ("unimproved" ROM, 6351) should give 218, not 225. To divide one number into another in floating-point form requires subtracting the exponents and dividing the mantissas bit-by-bit. Care must be taken to get the correct exponent for the result because there is a "borrow" to be taken into con- sideration. The actual steps of the subroutine are as follows: 1) Fetch the divisor (the second number of the division) and give REPORT-6 if it is 0; otherwise, form the "true" floating- point form. 2) Fetch the dividend (the first number of the division) and form its "true" floating-point form. A return is made if the dividend is as there is no need to divide into 0. 3) Set a counter to the number of bits in the mantissas. In the actual 8K ROM program the counter is used for 34 loops as extra accuracy is sought — but then lost because of the "programming error." 4) Perform the looping operation. 5) Subtract the exponents and adjust for the "borrow" before, finally, normal- izing the result as usual. As before, the operation will be illu- strated in decimal and binary arithmetic. Consider the division of 486 by 3 to give 162 which, when converted to E format, is (.4S6E + 3)/(.3E + l) = .162E + 3 So, the steps are: First, set a counter to 3 as there are three significant figures in the dividend. Second, perform the following division loop three times: a) Subtract the divisor from the present dividend. If it does "go," count the times that it does and proceed. Else, restore the dividend and proceed with the count at 0. b) Rotate the "times count" leftwards into the result, initially 0. c) Shift the present dividend also left- wards and note carefully whether or not a carry is produced. If there is no carry, go to 1 on the next loop; but, if there is carry, then the divisor will definitely "go" into the dividend, and this is done directly before going to 2 for the next loop. Now let us see the example values. 1st loop 1 ) .486 - .3 does go once, so make the subtraction to give a new dividend of . 186 and a "times count" of 1. 2) Make the result 1. 3) Shift the dividend leftwards and note that there is carry. 2nd loop 1) The divisor is now subtracted as many times as it will go; i.e., 1.86 — .3 can be done 6 times and the dividend becomes .06. 2) The "times count" of 6 is rotated into the result which goes from 1 to 16. 3) The dividend is now shifted left- wards, with .06 going to .6 with no carry. 3rd loop 1) The present dividend is divided by the divisor, giving a "times count" of 2. 2) This "times count" is then rotated into the result which thereby goes from 16 to 162. Strictly, this should now be read as .162. The exponents of +3 and +1 can now be subtracted from each other to give +2, the "borrow" taken into consideration to make it +3, and the final result consid- ered as .162 E + 3. Certain of the above mechanisms are difficult to explain in decimal arithmetic, but, by repeating the operation in binary floating-point arithmetic, I hope these points will become clear. In binary floating-point the operation is 486 / 3 or (137, 115, 0,0,0)/ (130, 64, 0,0,0) with the result 162 being 136, 34, 0, 0, 0. The "true" exponent for 486 is 9 and for 3 it is 2. In this case the division simplifies to .11110011 /. 11000000 and there will be eight loops to consider. 1st loop 1) Trial subtract the divisor. It does go once so the dividend becomes .0011 0011. 2) The "times count" goes into the result to make it .0000 0001 and the dividend is rotated to give .01 10 0110. 2nd loop 1 ) The subtraction does not go. 2) So the result becomes .0000 0010 and the dividend .1100 1100. 3rd loop 1) The subtraction goes, giving a divi- dend of .0000 1 100. 2) The result becomes .0000 0101 and the dividend is shifted to give .0001 1000. 4th-6th loops 1) On no loop does the subtraction "go-" 2) Hence the result becomes .0010 1000 and the dividend is . 1 100 0000. 7th loop 1) The subtraction goes, leaving a dividend of 0. 2) The result becomes .0101 0001. 8th loop 1) The result still has to be shifted, although the dividend has been exhausted. 2) It becomes finally .1010 0010. The exponents are now subtracted: 9 - 2 — 7. The 'borrow" is considered to give a final exponent of 8 and this makes the result: "true": 8, 162, 0, 0, in Sinclair form: 136, 34, 0, 0, which is decimal 162. The reader is encouraged to try the operations for any other values. Further details of the arithmetic routines can be found in Sinclair ZX81 ROM Dis- assembly, Part B by Dr. Ian Logan and Dr. Frank O'Hara. {Ed. — This work is available from several sources. See the ads in this issue. ) 5i CHIRPER module for your ZX81 The CHIRPER module lets you enter keyboard data fast and accurately. A sound can be heard when a key has been entered enabling you to spot a double entry or missed entry without looking up at the screen. The CHIRPER module lets you hear sound patterns of a program running. Sound effects can be created. Included is a program that plays a tune of random notes on 1 K or 2K machines. The CHIRPER module installs easily mside the ZX81 case with only 3 wires to connect. Com- plete installation instructions included. To order your CHIRPER send a check or money order. We pay the postage in the USA,, elsewhere include first class postage for three ounces. M?M®©IMJFia (§®o 3584 Leroy, Ann Arbor, Ml 48103 Juty/August 1982 45 PRODUCTS THAT SUPPLEMENT NATURE'S COMPUTER WE HAVE THE PRINTER The MW100 is the only plain paper printer available in the U.S. for the Sinclair ZX81, at $119.95. TheMWIOO . . . uses MW plain paper and a standard ribbon cartridge ... is an impact, not a ther- mal printer . . . prints 16 characters per line, lets you print every- thing on the screen with easy to use software commands . . . uses the standard ZX81 printing commands: L List, L Print, and Copy. . . . provides hard copy reports for permanent records . . . produces hard copy of program listings, useful when writing programs . . . connects to the rear of the computer, so you can plug in RAM pack as welt . . .full instructions supplied . . . comes with a 14 day money-back trial period and a 90 day warranty. WE HAVE THE PROGRAMS MATRIX PLANNER-16K An "electronic spreadsheet" that replaces your paper and pencil. In the home, use to establish, maintain and revise the family budget. In the office, use for financial forecasts, engineering cal- culations, productivity anal- yses, pricing, estimating and production scheduling. Hardware required: 16K SPACE INTRUDERS-16K Play the world famous arcade game! Defend your position with three laser guns under your command. 40 alien ships in each squad- ron, defeat one squadron, another will follow. Action speeds up as the game progresses. Hardware required: 16K DATA BASE/FAST FILE-16K An all-purpose business ori- ented filing and reporting data-base manager. Ideal for maintaining personnel files, catalogues, expense accounts, controlling sales leads and keeping accurate client records. At home, use for Christmas card lists, family health and dental records. Hard- ware required: 16K GULP-16K Everyone's favorite game of maze pursuit and counter- pursuit. Try to escape from the relentless ogre through five different maze formats. At the same time, accumu- late points as you gulp everything in your path. Quick reflexes a must! Hardware required: 16K ADVANCED MACHINE CODE MONITOR-16K Here is the tool to help you direct your machine through the forest of machine code and hexadecimal. Test machine-code instructions in operation. Examine the ROM and see how any BASIC statements you write are stored in the RAM. Comes with a detailed user manual. Hardware required: 16K CHESS-1K Displays board positions and keeps separate records of plays made. Hardware required: 1K TO ORDER: Complete the order form below and mail to: MINDWARE. INC. 70 BOSTON POST ROAD WAYLAND, MASSACHUSETTS 01778 QUANTITY SIGNATURE ITEM ITEM PRICE TOTAL NAME (PLEASE PRINT) ADDRESS You can pay by check, Visa or MasterCard. Fill in your complete address in detail and include your zip code. Please allow six to eight weeks for printer delivery, PAYMENT METHOD MW 100 PRINTER $1ig.95 MW10O SHIPPING 4.95 PRINTER TOTAL MATRIX PLANNER 39.95 DATA BASE/FAST FILE 49.95 1K CHESS 14.95 GULP 14.95 ADVANCED MONITOR 24.95 SPACE INTRUDERS 11.95 SOFTWARE SHIPPING 1.95 SOFTWARE TOTAL TOTAL PRINTER AND SOFTWARE MASS. RES. 5% SALES TAX TOTAL LZI CHECK ENCLOSED D VISA CD MASTERCARD ACCOUNT NUMBER EXPIRATION DATE CITY STATE ZIP 4K ROM; 16K RAM 8KROM;16KRAM ZX Destroyer Raymond Fowkes ZX Destroyer is a fast moving action game which is written in a hybrid Basic machine language program to create a continuous, flicker free display. The machine language code routine is a care- fully synchronized program loop which controls the laser base, alien ship, and video display. The Basic section provides the initial set-up and ending. 4K ROM Version Loading the Machine Code The machine code routine is placed in a REMark statement at the beginning of the program. Remember, whenever you are working with machine code, save frequently. It is hard to save too often! 1 ) Type in the lines in Figure 1 very carefully. Just enter the numbers one after another. Do not enter the spaces; these are included only for your convenience. Note also that the O's in lines 1 and 2 are not zeros. It is suggested that you SAVE after entering each REM line. 2) Type in the checker routine in Figure 2. 3) Press RUN and NEWLINE and wait for the results. 4) Unless you are one of the lucky few, the computer will indicate a mistake in one of the four REM lines. If so, go back and recheck your entry. Correct the indicated line. Repeat this procedure until the result is "PROGRAM OK," SAVE the corrected version. You are now about 90% sure that the machine code routine will run correctly. Raymond Fowkes, PO Box 336. Coalifiga < \ 93210. 5) Enter the lines in Figure 3 over the existing ones and RUN. The machine code program has now been processed and stored in line 1. Do not LIST line I or press HOME! Doing so couid crash the program and ruin all the work you have just done. SAVE. Entering the Basic Program 1 ) Erase lines 2-120 by entering the line number and hitting NEWLINE. 2) Enter the program in Figure 4 exactly as printed. This provides the set-up for the game. SAVE again. 3) Press RUN and NEWLINE. 4) In the center of your display you should see the alien space ship with the alien in the middle of his control dome. Two powerful rotating screens protect the bottom of the ship. You will also see the invader's laser moving back and forth underneath the ship. It will fire when your laser base comes into range. 5) In the lower left corner of the display you will see a "$" which represents one of your laser bases. In the upper left corner the display will tell you how many func- tioning lasers you have. 6) If the screen display does not match the description in 4) and 3) above, go back and check your Basic program or reenter your machine code routine. If neither of these works, wait for the next Glitchoidz report! 8K ROM Version The 8K ROM version is very similar to the 4K ROM version and gives flicker free action in the FAST mode. Loading the Machine Code 1 ) Load the the machine code in Figure 6 as in step 1 in "Loading the Machine Code" above. This code is a modification of the 4K ROM version. Unlike the 4K machine the 8K machine allows you to LIST the REM lines without crashing the system. 2) Enter the checker program in Figure 7. RUN the program in FAST mode. 3) After several seconds of processing, the computer will indicate a "PROGRAM OK" or a mistake in one of the first four lines. If you have 2K RAM. editing requires a special process. First. LIST the line with the mistake. Then execute a CLEAR command and EDIT when the screen is cleared. You can then make the correction and return the line to the program by pressing NEWLINE. RUN again and make any further corrections needed until the result is "PROGRAM OK." 4) Enter the lines in Figure 8 over the existing lines. SAVE. 5) RUN the program. When it is fin- ished, the machine code routine will be processed and stored in line 1. 6) Delete lines 20-90 by entering the line numbers and NEWLINE. Then enter the lines in Figure 9. Line 10 causes CLS to fill the screen wjth spaces. If you have 16K RAM, this is automatic, and you can use this line as a place for the program name. Lines 100-170 set up the display. Lines 180-200 reset the laser indicators and start the laser base at the lower left corner of the display. Lines 210 and 240 should be entered only if your computer can run in the SLOW mode. 7) Again SAVE. Then RUN. You should see the same screen display as above in the 4K version. 48 SYNC Magazine Figure 1: 4K ROM Machine Code. 1 HEM 2^1 923 111 117 CY9 I ? A >7 «8D UT8 FXV ?2S N59 FrfV 22S NAA W^d MAA 9 CK 33X P7l *"TC JlX UCn ?,C PIC 9^C F5? 28D UAK 1 T9 ETK QHH CFU K3Q TIT 1Q5 UQG ?5a BCK 5SY CF5 729 A9C VA? -S <3 CDT CXj 5DC *CG 6XT CK3 2k2 C6^ IY1 Q36 DUA ZFU K3? Ui-V IY1 3FU QCI 3CT 3i v X XSE 7EG K3X S8C K63 Y8l 36D UAJ STG QY3 3AK 587 5HA 3PC G37 LXG CK3 C8 2 REM FUI CA, 7*K 1ZF UrI K13 271 CG3 XV7 1CK 31 H A1C G36 U8H UK1 IEB *53 7TG 67Z HUG IBS 97N G6Z Kro H7L CG3 6lo £?K CG3 «NK 771 PHK \ZY. 3l± 973 VAK 1QH ?R9 T27 ZXQ CKB ^C6 643 IE3 Q3* ZHU K77 P^H ACJ C7Q X2C KC7 3DU 101 Q/F 012 CIS 2JI XI Q MrU 9FO 5AJ 7BH ACr 6N3 8DU QK1 111 9?i' X2S TiX 2KQ 187 K67 3D7 I VI KEH ACM 6RC r"6L ; U 3 HEM 211 ll6 111 ill 712 ?73 231 1~1 2^3 ll6 6l2 712 116 612 k?B 162 778 17^ 151 ^12 l 7 7 9 11 147*4- i?7 4i7 317 311 121 212 162 361 1^ 7^1 *11 6?6 212 ^?6 111 i?4 172 7^1 111 317 M6 311 616 311 716 576 115 7 9 1 121 7^1 111 173 1~1 122 ?U OOO IT) 1 "7^ 199 O 1 A 731 212 2l6 616 112 171 113 717 6ll 111 721 <*2 U REM 221 481 112 112 211 212 512 ?6l 171 1° 111 867 61? 322 2?1 178 1?1 116 7?\ ??.? 212 111 521 212 111 76l 212 111 76l 222 111 122 17° 111 213 182 111 S6l 631 HI 721 174 121 178 173 1 9 1 122 211 111 87? 113 127 211 n? 161 1>3 321 117 611 ill 43j 211 76i 111 873 111 9 1 9 1°1 1U 1 A 3 111 631 111 661 m 731 111 '11 874 1 ;47 ^1 A ?2 Figure 2: 4K ROM Checker Program 10 LET B=0 20 FOR A« 16426 TO 17419 30 LET B=B+PEEK (A) -PEEK iA+1 ) 40 IF A« 16672 THEN IF NOT B«36 5 THEN GOTO 120 50 IF A-16920 THEN IF NOT B=65 THEN GOTO 120 60 IF A- 1/170 THEN IF NOT B»35 9 THEN GOTO 120 70 LET A=A + 1 80 NEXT A 90 IF NOT B=22 THEN GOTO 120 100 PRINT "PROGRAM OK" 110 STOP 120 PRINT "MISTAKE IN LINE*"; A/ 249-65 Figure 3. 55 l< 40 60 7o 80 90 \ 00 1 LO 1 20 LET B--= 16427 FOR A-16427 TO 16916 POT F_ A, PEEK (&) +PEEK (B+498) * )44 LET B-B+l IF B=166/2 THEN LET B=B + 4 NEXT A POKE A+3,254 POKE h»^2,2 POKE A+l , POKE A, 1 18 POKE 16403,2 LIST 2 Figure 4: 4K ROM Basic ProRram 100 POKE 16421,24 110 PRINT "LASER#5##*####*WW" 120 LET BS»CHR*<131) 130 PRINT *;B*| "W" 140 PRINT D" 150 PRINT 16U PRINT •#**t**w";B*;B*: "##";B '##F";B$, "####" ;B*; jCHR* (134 ;CHR*< 134) ; ■*FE" , " "###tt»RD" "#£#####" ;CHR*< 128) ; "0##### M ; c;hr* < 136) 170 LET B*=CHR*(130) 180 PRINT ,&*;"######" > ; "E#tttttt#*NJ" 190 PRINT , "0#####F" CHR« ( 1 36 ) ; "' ###### M ; B* 200 PRINT , M u#*####SP#+**t##tt M ;B* , "#### AAAAAAAAAAAAAAAAAAAAAAAA ", "#ttti# AAAAAAAAAAAAAAAAAAAAAAAA " , FOR A-l TO 14 220 PRINT ,,, , 230 NEXT A 240 PRINT 250 POKE 16429,0 260 POKE 16432, 177 270 POKE 16437,0 280 RANDOMISE USR ( 16439) 300 INPUT A % 310 CLS 33o RUN _ Figure 5: Sample Opening and Ending. . CLS 20 PR J NT , M ZX" PRINT 40 PRINT 50 PRINT "SKILL: ##30»BEG INNER* TO INEXPERT" 60 INPUT A 70 IF l:A OR A , 30 THEN GOTO 60 80 POKE 16428,^ 90 CLS 3 1 F P P E K 1 1 6 4 3 7 ) ■ = 1 6 I HE N G I 540 310 CLS ■ PRINT "YOU WERE DESTROYED" 330 GOTO 4 340 INPUT B% 350 CLS 360 PRINT *" 370 PRINT 380 PRINT 390 PRINT r 400 PRINT 410 PRINT PRINT '*# INVADER DESTROYED** 'CRASH CURSOR" 'WOULD BE PROUD OF" YO "N/L TO PLAY AGAIN" July/August 1982 4. 430 INPUT B* 440 IF &*="" THEN RUN (or THEN RUN 90; Note: To make winning more difficult, add this and delete line 70 (to prevent memory overflow): 210 FOR A«l TO 52 PRINT " + + + + 4+ + -*"; 235 PRINT 49 Fi«ure 7: 8K ROM Checker Program. Figure 6: 8K ROM Machine Code. i REM G4.1R2E11I117CYQU2BSDUTS aU2S7U7392305HU7392U2SMU73SNflRUV SHRfi9CM33XF71PTCJlX4CM20CFlC94CF 5728DUflKlT9ETK0HRCF4K60TlT10SD0G 75XBCM55YCF5729R9CM4T5X30DTCX35D 09CG6XTCK3242C6dIY10S6DUMUUK67l, i PPIY18UUOCI3CT3MXRSE7E6K6XMKCK6E YS 1S6DURJSTGG074HRSFCG37LXGCK30 2 REM 8UUICRQ7UK1ZUUPIK1S271C G3XU71CK31HR1CGB643YUK1IEBOS67TG 67ZYUCIBS77NG62MPSH7LCGB6ISE7KCG BMNK27IPHK1CKB1P97RU9K1QH7R9T27I XQCKB2C664BIEBOS6HURZYUK27P9HRCJ C70X2CKC78DUIE20HF02201S2JIX10HF 09F0SRJ7BHRCP6NB8HU0K1I119TYX2ST IX2K0187K67SD7IU1KEHRCM6RCF6L7U 2© REM 2X1317111113.7142782126© 11 12866 1211 12766 1211 1276612478 ie 2778174.1514.12127211474-1274-173173 11121212162361144741211626212426 11117417274111131741631161631171 65761157211217411111731211422111 13111242172176141221116211177217 1117312122167611182176111117214 30 REM 24214811121142112125127 61171272111867612324221178121116 22142721211162121211176121211176 12221111221721112131821118616311 11721174128178173121142211111872 11312721121211114332111761111143 32 11761 11 1873118212121 11116311 15 3111166112173111121187414741652 50 LET B=0 60 FOR fi=16509 TO 17516 STEP 2 70 LET B=B+PEEK R#(PEEK CR+i)- 1) 80 LET C= (fi-16507) /126 90 IF C=2 RND B0 243529 OR C=4 RND BO488Q40 OR C=6 AND B<>61£ 608 THEN GOTO 140 100 NEXT R 110 IF B0 733561 THEN GOTO 140 120 PRINT "PROGRAM OK" 130 STOP 140 PRINT "MISTAKE IN LINE ";"1 2 2030" (C-l TO C) Figure 8. 10 REM 20 REM 30 REM 35 REM 4© POKE 165 21,244- 5© POKE 16512 . 1 60 LET B=165I4 70 FOR R=B TO 17005 80 IF 8=16760 THEN LET 8=8+6 9® POKE A, PEEK B + PEEr: VB + S04.* tf 35-1044 100 LET B=B+1 110 NEXT R 120 POKE 16511,233 130 POKE A+5,234 14© POKE ft +4 ^ 150 POKE ft+3.2 160 POKE A+2.10 17© POKE A+l,e 180 POKE ft . IIS EVEN IF YOUR LIGHTS GO OUT YOUR COMPUTER WON" Introducing NiCd Battery Back-Up Units from Syncwware PRICES: Baby BBU — 39.50 BBU-1 — 54.50 BBU-2- 84.50 • Make your ZX Portable BBU-2 runs over 2 hr. BBU-1 runs 1 hr. Baby BBU runs V4 hr. • Make your ZX immune to line glitches! • Protection against brown-outs, blown fuses, etc. TIRED OF LINE GLITCHES GIVING YOUR COMPUTER AMNESIA? Let Syncware take the annoyance out of computing. Baby BBU and BBU-1 use ex- isting power supply; in case AC iine goes dead or power supply gets knocked out of socket, battery takes over until power restored, preventing memory loss. BBU-2 contains built-in heavy duty power supply, eliminating need for original supply. In addition, BBU-2's output is pre-regulated at 8 volts for addi- tional glitch rejection, and also lets your ZX run con- siderably cooler. DON'T WAIT FOR A SUDDEN CRASH BEFORE YOU ORDER YOURS! Prices are postpaid in continental U. S. Foreign orders — add $5. 00. Payment must be in U. S. cur- rency Send check, money order or international M. O. only. SINCLAIR/TIMEX USERS NOW SYNERGISTIC OFFERS YOU THE SMART™' CHOICE DESIGN THE SYSTEM LOGIC KBD-I SMART™' KEYBOARD ENHANCEMENT FOR SINCLAIR/TIMEX COMPUTERS * •% 4. 4m m» dh +'+ mm mm ■ m% mh Jm A mm mm — h SYSTEM LOGIC — KBD-1 The System Logic KBD-I Keyboard en- hancement offers Sinclair ZX-80, ZX81 and Timex TS-100 users an intelligent keyboard peripheral. A KBD-I allows an increase in user throughput by as much as 70% while re- ducing fatigue factor errors. Now enter data and programs quickly without having to 'hunt' for key contacts. Each key produces 'tactile' feedback in addition to employing right-and left-hand 'smart' shift keys. The KBD-I remains in the shifted mode with a single keystroke, while exiting from the shifted mode with a second (left or right!) keystroke entry. The KBD-I simplifies integrating your computer system into a professional or business application. The compact size of the KBD-I permits easy portability, its brushed aluminum black anodized cabi- net is a cautious blend of attractive design and the highest quality engineer- ing and manufacturing techniques. SMART ™ features Patent Pending FEATURES • SMART™' shift function • Tactile feedback • 59 keys (with left and right shifts) • Standard (QWERTY) typewriter format • Silk screen labels compatible with Sinclair/Timex keyboard • Compact design • Rugged yet attractive black anodized aluminum cabinet • Simple installation • Custom engineered for Sinclair/Timex computers SPECIFICATIONS Contact resistance: 20Q @ 1 mA Contact rating: 1.0V/ A Contact bounce: ^S.OmSec. Switch life: 5.0x1 6 operations typical Switch force: < 9.0 oz. Switch travel: .01 5 in. MAIL ORDER TO: SYNERGISTIC DESIGN P.O. BOX 41 1023 CHICAGO, ILLINOIS 60641 •Illinois residents include 6% sales tax. SYSTEM LOGIC KBD-I KEYBOARD PRICE $89.95* QTY. AMT. Shipping and handling (per unit) $ 4.95 $ 4.95 Money order or check TOTAL NAME ADDRESS_ CITY .STATE. _2IP_ .Figure 9: 8K ROM Basic Pro R ram. 10 POKE 16389,128 90 CL.S 100 PRINT "LASER 5";TQB 15; "^ 110 PRINT TAB 12; *W~ ^^■" 120 PRINT TRB 10; ■•^■» ; TRB 20;" 130 PRINT TRB 9; 14.0 PRINT TRB 9; 150 PRINT TRB 8; I 160 PRINT TRB 8; 170 PRINT TRJ^B t;;TRB 4-; " r "~ Tl;TflB 4.; • * ";TRB 21; V ■ V 9 180 POKE 16516,0 190 POKE 18519,223 S00 POKE 16524- ,0 210 FRST 220 RRND USR 16526 230 PRU3E 99 24.0 SL.QU 250 RUN The number or letter indicates the key on which the graphic is found and the number in () gives the number of times to press the key. 1 00 < 2 ) 6 110 6; (2) 1\ (2) 7; 1 20 3; 7; 7; 4 1 30 3; 1; 2; 4 140 T; space; 5; Y 1 ^j'O G; 1 60 5; 3; R; Y; 8 1 70 5; T; 4; 8; (24) (24) A To changei 4K ROM 8K ROM Number o-f 1 aser basest Change the number in 1 ine 110 100 Speed o-f al ien's laser: POKE a number -from 1-30 into 16428 16515 Speed of al ien's screens; POKE another number into 16830 16919 (It is 6 now; try 1 or 2) Laser base graphic! POKE new c haracter code into 16621 16716 and into 16904 16993 Alien's laser graphics POKE new character code into 16527 16622 Fiiiurell: Variables. Decimal Initial Address d:(lX + di Setting Function 16^27 o 50 skill variable l64?8 1 3 skill set 2 laser Indicator 16430 3 8 trun t;ositl sn ^ 1 gun direction (1,-1) 16UJ5 5 177 base cosltton 6 lqser position l6bjk 7 laser cosltl^n 1**35 8 "shell" po si tion l6fc>6 9 "shell" position 10 "shell" indicator It 6 rotate counter 52 NOW AVAILABLE Keyboards Standard Computer Keyboard Designed for ZX81 , ZX80, & Micro Ace • Same switches used on Apple Computers • Two shift keys • 6-inch space bar Plans for keyboard conversion with reverse video — $5.00 Keyboard with complete parts and plans - $55.00 Wired keyboard, complete with plans — $75.00 Shipping Charge (by UPS) - $5.00 SEND CHECK OR MONEY ORDER TO SEND SASE FOR INFO Prices Subject To Change LJ.H. Enterprises PO Box 6305 Orange CA 92667 (714) 780-U22 Visa& M C Accepted THE EXPLORERS GUIDE TO THE ZX81 If you have ZX81 then you need this book (120 Pages). 1 K and 1 6K Programs. Games and Application. RAM and I/O Circuits. Programming Hints ROM Routines. $11 from: TIME DATA 3 - Waldon Road Califon, N.J. 07830 Enclosed Name Address City Check/M.O. State Zip SYNC Magazine FULLER FD SYSTEM $79.95 Professional Keyboard & Case for Sinclair ZX8 1 The ZX8lfits inside. The tough ABS injection moulded plastic case measures 8" x 14" x 2W and hooks up to your ZX printed circuit board in minutes. Notechnical know how or soldering is required. KEYBOARD LAYOUT: All the Sinclair ZX81 keys are duplicated on our layout, with extra shift and new line keys. The professional momentary action key switches have a guaranteed life of 10 6 operations. The unit is fully built tested and comes complete with a money back guarantee. INSTALLATION Simply unscrew the ZX printed circuit board from its case and screw it into the FD Case. MOTHERBOARD: We also manufacture a mother board which allows expansion to the ZX memory and I/O facilities WITHIN the case, as well as our power supply unit and reset switch. AD Code Price t Qty Amount r Fuller FD System 42 Keyboard & case 79.95 FD System Motherboard 29.95 FD 16K. Memory Module 49.95 FD 64K. Memory Module 149.96 FD PSU 9 Volts at 2 amp. 14.95 FD Shipping and Handling 6.00 Mail to FULLER MICRO SYSTEMS, The ZX Centre, Sweeting Street, Liverpool 2. England, U.K. Name Address t US Dollars City/State/Zip K AVAILABLE NOW S HINTS a TIPS for the ZX81 by Andrew Hewson $8.50 *80 pages explaining clearly how to squeeze a computing quart out of a Sinclair pint pot 'Saving Space- vital reading for all ZX81 owners "Understanding the Display File - using the display file as memory clearing a part of the display, using tokens in PRINT statements "Converting ZX80 programs-explaining simply but comprehensively how to convert the hundreds of published ZX80 programs "Chaining Programs- revealing techniques for passing data between programs calling subroutines from cassette and establishing data files * Machine Code Programs— all you want to know about Z80 machine language Explaining how to write load edit and save machine code and how to debug your routines Routines and programs are scattered liberally throughout the text and the final chapter consists of twelve useful, interesting and entertaining programs such as LINE RENUMBER, BOUNCER, SHOOT STATISTICS etc Cassettes for 16K ZX81 SPACE INTRUDERS-fight the marauding alien as you battle to save the Earth All the dynamic parts of this program are written in machine code for super fast fun $12 50 PROGRAMMERS TOOLKIT- line renumber including GOSUBs and GOTOs Hexadecimal LoadenPrinter. Find. Edit and Replace BASIC program strings $1600 Cassettes for 1K ZX81 "MINI SPACE INTRUDER'-now available for IK machine $11 95 STATISTICS - Mean standard deviation regression, trend analysis, chi squared test graph plot $7 50 Z80 Op Codes -this handy ready reckoner lists all 600 plus Z80 machine codes in decimal and hexadecimal with their mnemonics Each code is succinctly explained and cross referenced Complete with protective transparent wallet $2 00 BLANK C1 2 CASSETTES 5 for £2 75. 25for£l3 25 Send SAE for full catalogue MASTERCARD NUMBER TO HEWSON CONSULTANTS 7 GRAHAME CLOSE BLEWBURY OXON 0X1 1 9QE ENGLAND -81 SPACE RAIDERS™ ZX81 r ■ mm& H, & Ds M m K th i 5 ta PM d 1 FR = 3 292 E 05 6E = 1 297 E 03 TX= 8 275 E 05 X= 5 222 E 05 TY= 1 182 E 07 Y = -2 574 E 05 TZ = 4 780 E 06 Z = 5 692 E 06 16K RAM The Federation has declared a state of allout war. leaving you in charge of the Starship Defiant: newest and most advanced spacecraft known to man Soon, your experienced guidance will bring you within range of the Klingon convoy Hundreds of stars flash by as you check the status of your Phasors, Shields, Masking, Navigation, Scanning, and Computation Equipment. Tne energy drain is tremendous, as the target distance indicator ticks slowly downward... As you come into range you set your cross-hairs on the nearest ship. Fire Phasors' ! ' Switch to Aft view' ! ' Evasive Maneuvers' ' ' Space explodes all around you as the first Klingon ship disintegrates and the remainder lock onto your position.. High speed graphics and custom ML math package provide the real time, accurate simulation of the above space navigation and battle scenario. You've never seen this kind of performance on your ZX81 before' Only $19.95 for cassette, keyboard overlay, and manual (shipping included). (Utah residents add $ 95 tax) NIRAD ELECTRONICS 959 East 460 South Provo, UT 84601 Label JTART Variations Variations can be made in both ver- sions. Figure 10 summarizes some of the main possibilities. If you have extra RAM, you can add your own openings and endings such as suggested in Figure 5. Note that PEEK 16524=16 can indicate to a program that the invader was destroyed. British TV Differences Since the speed of British television receivers is different from that of U.S. receivers, some adjustment may be needed. If this adjustment cannot be made with the vertical hold, then some changes in the program need to be made to slow down. For the 8K ROM try POKE 16538,79, and POKE 16556,79; for the 4K ROM, POKE 16455,80, and POKE 16464,79. These will slow it down quite a bit, but other values may work better. {Ed. — SYNC would be interested in hearing from British readers concerning their experience with this problem. ) Playing the Game The goal of the game is to blast through the bottom protective screens of the alien ship with your lasers and hit the alien (the left foot). This will destroy the alien and his ship. The game begins when you launch your attack on the alien ship from your laser base. Since both your laser and the alien's laser fire only on the perpen- dicular, you must get your base in position to hit the ship. To move your base, press the arrow keys: 5 for left, and 8 for right. To fire press or 1. Your laser has an unlimited number of shots. The alien's laser has computer controlled accuracy and will destroy all five of your laser bases if you are not careful. So watch out! The game is over when you have destroyed the alien or when you have lost all your laser bases. When the game is over, you can play again by pressing NEWLINE. If not, press NEWLINE and BREAK and you will return to Basic. You can also BREAK at any time during the game, •% Flsure 12: Z80 Instructions (4K ROM) Instruction LD IX, 16^+27 0U? (25*0. A LD A, 73 LD B t ?5 LD HL, (16396) 3ST ?,H LD C,3° CALL <±32 LD A, ■>)? DSC AL LD C,3l CALL 432 LD A, 127 IN A, (25M BRA Comment Index register points to variables display one fraTe set Tusk for 3RrJU\. key re«*d ke.v board push break bit Into c-rrv 54 SYNC Magazine Label Instruction Comment returi ree, I S«J -. . 1 ■ -.35 ■ ttecr< TOV( . - : ) • A . . E r *,1 . . . - i HL ) , e~as< push off Mt . Lb A.C put old Bointsr into A upda * • '),A » :e pointer ve. pointer 5 spaces 3LA £ dL , Jc LJ A, load A with "nev.'llne" COTIpft • sync . . reverse direction If necessary LD zet • ion NcJ fce It • 1 . a reels svnc :,A :.ut into C ...Ar ' save It L3 fc,(IA+3) set ?un position P *.c • "left" kev add ■ •ri^htr key sub' 12 1a + 5) co~ ; tion bescln laser If aun In ro-ntlon ■ 1,1 set LD LO L, (IXO) ■ Inta to Usolay LD (!6Ujj),HL fill 1 [ ,(16*33) tret • J nn lr.c-ement lndi . erase lo-- chec- sync Ci (HL) LD (HL),? fill - MAKE YOUR SINCLAIR A PORTABLE COMPUTER SYSTEM MAC (MOHR & Associates Corporation) Now Of- fers You A Durable, High Impact ABS Plastic Brief- case That Measures 17V 2 "X 12 1 /4"X4 1 /2". Wired For 1 10-60HZ And Ready To Be Used! You Merely Insert Your Sinclair Components (In- cluding Printer) In the Preformed Cavities And BINGO You Have A Portable Computer System. The Briefcase Has Slots For Tapes, Coax Cable And The TV Adapter. $149.95 Includes Shipping & Handling. Kansas Residents add 3% Sales Tax. TO ORDER SEND CHECK OR MONEY ORDER MOHR & ASSOCIATES CORP. 645 N. Baltimore Derby, KS 67037 (316)788-1526/788-3165 MC/VISA ACCEPTED Bridge SoPtware Qua 1 i xy SoPtwar e r • ■ tic 12Z2J1 Xj .0668- "bom; thtJa I* n °66M Hill Some UK customer reepons* "I have oought numerous other items of software Yours ere euceeeni Thev LOAD wee*, have perfect >nstruct/ons the most user-fnendty / have ever met (P R Notts} very pleased to fmd the program toed first time end olav § creditable version of invaders Please supply MVL TlGRAPHlCS ' (M Z Cumbna) Enfoymg GAMES' very much - Letter Square' >s quite addictive "if W Manchester) Many thanks for the Stahshcs programme. I am wee" pleased wtth it "(AM Herts) IK GRAPHICS (Keleidoscope. Large Print. Medium Print, Drew i Picture). Manual nnfy (contains accurate Ratings, notes, information and ideas!... C4.50/$9 Package of cassette end manual t&00/$12 IK GAMES (Duck Shoot, Moonlander, Hangmen. Crossword. Letter Square). Cassette end instructions C4.SO/S9 16K GALAXY INVADERS «\ machine code. Cassette an6 instructione ( 16K RAM pack needed) £4. 50/$9 1WC MULTIGRAPHICS - crests drawings, advertising display*. etc. on screen. Displays can be saved on tape, printed on your ZX printer. Cassette end instructions f'oVC RAM pack needed/,. .Cfi.00/$12 IK STATISTICS - cassette end instructions £4.50/99 Prices include Air Mall Send £ or. $ check. BRIDGE SOFTWARE (S) 36 FERNWOOD. MARPLE BRIDGE STOCKPORT, CHESHIRE SK6 5BE ,U.K. July/August 1982 55 SOFTWARE and ZX81 SUPPLIES TIM EX 1000 GAMES, EDUCATION, HOME OR BUSINESS APPLICATIONS Choose from our Extensive collection of over 100 programs, far too many to list here so if you don't see something you like, send for our catalogue, $2.25 handling and --credit on GAMES y° ur f' rst purchase. mazogs HOME-SAVINGS A large complex maze which contains a glittering and fabulous treasure, you not only have to find the treasure and bring it out of the maze, but face the guardians of the maze in the form of fear- ful MAZOGS. Even if you survive you could starve to death if you get lost. 3 levels of difficulty, only $29.95 16K GALAXIONS Features of an arcade game. Attacks-Defends and keeps per- sonal scores, only $14 95 16K BATTLE SHIP Play against the computer to destroy its battle ships, cruisers, destroyers, etc. only 10 95 16K VOLCANIC DUNGEON/HANGMAN 1. Attempt to rescue the elfin princess: mystical monsters, pits, fireyheavens. Reducing strength and water make the quest anything but easy 2. Deluxe version of the classic game, play against second per- son or computer with 400 word vocabulary, only $10 25 16K ALIEN INTRUDER/HIEROGLYPHICS 1. You find you are the only survivor on the Explorer Class III star ship. Try and escape before you fall victim to the alien mon- strosity that destroyed the crew. 2. Decode the ancient 39 symbol alphabet in time to save a famous explorer, only $10 25 16K WUMPUS ADVENTURE/MOVIE MOGUL 1. 1-4 players seek the famous creature in the most famous and dangerous Wumpus hunt ever. Features: Super Bats. Pits, Tremors. Swamps, Magic Arrows. Giant Sea Serpents. Wumpus Muk and Magic Springs. 2. Guide making you through the often hilarious traumas of production. Use your budget wisely to make a fortune, only $10 25 16K GREAT UNCLE ARBUTHNOTS INHERITANCE You are left $100,000 but first must turn $100,000 of it into a fur- ther $100,000 by investing in the British Stock Market and Metal Exchange in 26 weeks. You then have a further 26 weeks to make $100,000 running a soft drink factory, only $70.25 16K GREAT BRITAIN LTD. You are the Prime Minister and Chancellor of the Exchequer of Great Britian. Your aim is to stay in office as long as possible. $10 25 16K AROUND EUROPE IN 80 HOURS You have a bet of $20,000 to visit 12 capital cities in Europe in two and a half days, travel agents permitting, only $10 25 16K FINANCE I Balance and maintain checkbook. No overdrawn or returned checks, only $9 95 16K HOME PLAN I Keep your diary in order, only $8 50 16K DATES Keep track of your food and freezer needs, only $9.95 16K APPLICATION PROGRAMS TOOL KIT Provides many special features (line number, search and replace, free space, etc.) plus special graphics mode and tape routine, only $10.25 16K GRAPHICS TOOL KIT 22 exciting Machine Code routines that give you control over your screen as never before, only $1025 16K MICRO-MUSIC Convert your keyboard into an organ mantle, only $8.50 16K EDUCATIONAL - Learn CHESS I Six levels and analysis options, only $72.95 1K CHESS II Seven levels and a recommended move option, only $24 95 16K ZX-BUG 30 in 1 tool. Disassemble. Access all registers, search, modify memory with cassette routines, only $74 95 16K BUSINESS - Opportunity ZX-99 TEXT Fantastic word processor with output to your printer through our ZX-99. $29 95 16K BASIC BUSINESS I Cash flow control and planning. $76 95 16K Coming in the next issue: HIGH RESOLUTION GRAPHICS BOARD AND COLOR All for your ZX-81/Timex 1000 DEALERS WANTED/INQUIRIES WELCOME data-assette". 56 South 3rd. st. Oxford, PA 19363 1-800-523-2909 1-215-932-3626 ZX81 or TIMEX 1000 data-assette ® Your One Stop Shop All Products Guaranteed EVERYTHING YOU WILL NEED!! ADD ON TO YOUR ZX 81ATIMEX 1000!! ALL PRODUCTS 100% GUARANTEED !! NOW GROW YOUR SYSTEM AS YOUR NEEDS CHANGE, AND WE WILL GIVE YOU PRODUCTS, SERVICE, SOFT- WARE AND ADVICE. WE HAVE BEEN IN THE BUSINESS IN ENGLAND FOR OVER ONE YEAR AND OFFER THIS EXPERIENCE TO ALL OUR CUSTOMERS. New Low Prices 1st STEP - MEMORY - RAM 16K - 32K or 64K $59.95 - $109.95 or $149.95 Each RAM extends the BASIC memory to provide the user space for all applications. 2nd STEP - KEYBOARDS FULL SIZE or MINI $75.00 3rd STEP - ZX-99 TAPE CONTROL Now add Real ■DATA-PROCESSING power to your ZX-81 with our sophist. cated extension. Provides FULL SOFTWARE CONTROL of four (4) tape decks and a PRINTER interface for any RS 232 Serial Printer, giving full 132 ASC II characters of output. Plus!!!!!! * * AUTOMATIC TAPE TO TAPE COPY * * TAPE BLOCK SKIP. DIAGNOSTIC ASSISTANCE INTRODUCTORY OFFER "$375.0CT Special to New Owners, show us your invoice and order in 30 days from the date. We will give you this FULL PACKAGE for the low price of $300.00. 64K RAM + Keyboard + ZX99. Add it to your prin- ter and for under $400.00 you have full MINI-CAPABILITIES. Real Professional KEYBOARDS Computer Size and with special features like!!!!Repeat Keys on the full size. Both units are easy to install at home . Supplied with cables & instructions. BLANK CASSETTES C-5 $.69 C-10 $.74 C-12 $.77 C-15 $.79 C-20 $.84 C-25 $.89 * * DATA RETREIVAL WORD PROCESSING * * RS 232 C Serial Printer Interface EQUALS REAL MINICOMPUTER CAPABILITIES data-assette Charge to | visa mastercard ■ account number Please ruih me Quantity Price Total 56 South 3rd Street | Oxford. PA 19363 | ^ Blf * gg " Signature Telephone Orders 1-800-523-2909 In Pennsylvania (215) 932-3626 I I | : .v. | NAME | ADDRESS . I — rzzi SHIPPING TOTAL Send me details. Software Supplies User Clubs J Local Dealers New Products Hi-Resolution or Color Boards plus Shipping SYC-1 STOCK MARKET PRICE ANALYSIS HELP! for the Small Investor Now SINCLAIR 2X-8 1 { 1 6K) owners can do what the professional market traders do — use a computer to predtct price direction Th»s program tracks up to six stocks, averages, or commodities, and produces graphs and uses technical indicators to help you make trades Technical analysis is based on two ideas first, that the market, like the rest of human behavior, repeats itself, and second, that there are professionals and in siders who know what the market is going to do before everyone else does, and who place trades in a way that is hardly noticeable TECHNICAL ANALYSIS attempts to read the pnce action and volume figures to determine whether predicate patterns are developing, and what the professionals are doing Professional traders have been using computers to make this kind of analysis for years, because the manipulation of the data is very complicated and time- consuming With this program, you let the computer do the work, and its signals become a powerful investment tool The program makes GRAPHS of the daily pnces. of two moving averages, and of a volume indicator A booklet that comes with the program helps you learn what to look for The program does an ANALYSIS to signal trend-formation and turnarounds It gives a score for each indicator, and a total score, to help you see whether there is confirmation among the signals USE THIS TO TRADE STOCKS. OPTIONS. AND THE NEW STOCK INDEX FUTURES!' This gives POWER TO THE SMALL INVESTOR! For program tape and booklet send $30 00 to NOOTER STOCK PROGRAM 320 East 25th Street New York. N.Y. 10010 (N.Y. residents, add $2 48 sales tax.) ZX80/ZX81 Keyboard Full size 40 key keyboard. All symbols marked in two colours. Proper typewriter style keys. Old keyboard, RAM pack and printer still work. Kit £10.04 Built £21.65 In/Out Port 24 line— controlled in BASIC. Drive motors, printers etc. Input or Output. Kit £11.74 Built £13.87 Motherboard Drives RAM pack, printer and two other boards. Kit £14.09 Built £16.08 Cash with order please. Postage (surface mail) £2.00 per order, Also many other boards and connectors. Please send for free illustrated catalogue. 3 -nove up one line ADD HL.DE >C, (16396) BC points I : 'He IL,BC adjust HL LD (l64j)5),HL update pointer LD (HL),6 fill with shell character -.2^ sync oA/E EX Ar.A.-' 1 replace keyboard reading ag ta te DJN2 -2 syncronlzatlon loop DiC (IX+11) decrement rotate counter .95 sync JR KZ, SLIDE LD (IX+11), 6 restore rotate counter LD -iL, (16396) point to display file LD DE.198 AJU HL.DE HL points to t-'P left of 1 of ship . ( HL ) first character LD D.H LD INC rX HL=DE+1 LD BC.23 shift 23 spaces LD (D*),A replace fl**st chR^acte^ *i rlahl iove to bottom riaht EL . DE LD A, (HL) save last character LD LD E..L j£=HL DSC HL - : ', ■' J shift ? 3 spaces LDDH >E) t A tee last cha "act- MO sync DJNZ -2 LD S.(XX+5) LD HL,( 16396) timing loop ADD HL, L£ HL holds base L ) , erase base LD Dc,0 zer EX A r ■ re* A ' nj BIT U.A tes*- DEC ' dIT ',A J.1 NZ.LEFT test "rl*ht" key INC DE DE=0 or l If "right" pressed LcrT 4DD HL.DE move right or left XOR A zero A OR (HL) test for space and reset ca'-rv 1,19 sync sac ■nove back 1.17 sync B.O zero addend MERGE LD (HL), 13 replace laser base DJNZ -2 tiniing loop LD A,(Ia+5) get old pointer ADD A,E update, (IX+5).A and replace JP DISH Jump back to beginning July/August 1982 PREMIUM CASSETTES COMPUTER GRADE 100% ERROR-FREE FULLY GUARANTEED rU«E* pfttCl* T^IIL*^^^ |i«- ■t» ^TKMWT I t • • • '"'W »•" mm ^TKaW^ 1 • • • | The Micro-Trac Generation • High Frequency Response • Wide Dynamic Range • • Used by Software Firms & Computer Hobbvsts • • Choice o( School Districts Nationwide • LENGTH 12PAK 24-PAK C05 $ .69 $ .59 C-10 $ .79 $ .69 C-20 $ .99 $ .89 C-30 .$1.19 $1.09 C-60 $1.49 $1.39 C-90 $1.79 $1.69 * CASES $ .21 $ .20 'Cases recommended to protect sensitive cassettes. UPS SHIPPING (NoPO Boxes please) $2 00(12 pak>$3 00(24 pak) — Canadian shipping multiply by 2 #1 COMPUTER TAPE IN THE USA! write for volume prices TOLL-FREE (orders only) 1-800-528-6050 /^ ext. 3005 In Arizona 1-800-352-0458 ext. 3005 MICRO-80™|NC, 2665 Buzby Road Oak Harbor, WA 98277 — Distributors Wanted— 59 ' 3-Fnrt l/D board for Microace, ZX-80,81 16KRAM edge connector Programmable 8255 P. I. A. can be coniigured for direct I/O; polling of peripheral devices, vectored priority interrupts. Use it with A/D converters, serial I/O port chips, relays, sensor inputs, clock chips, or a security system. Play chimes with different tunes using your computer. 8080 M/L programs, TRS-80 M/L programs will work. Literature available with experiments, programs, and information on how to use the 8255 P.I A Basic 8255 board $50 add-ons extra Professional Electronics 2X81 Software Plotter 1 — A sophisticated routine that plots and graphs any function (16K)S999(U.S) Two Handed Euchre — Challenge the computer in this entertaining and skillful game. (64K) $14.99 (U S ) J.C. Software 28 Shipley Rd Weston, Ontario. Canada M9R-3H8 EDUCATIONAL SOFTWARE (ZX 81 , 16K) on cas- sette. MATHS for 14-17 year olds (3 full pro- grams). MATHS and ENGLISH for 8-1 3 year olds: 4 cassettes, 6 programs per cassette, each with jackpot game plus certificate. $9.50 per cassette plus $4.00 total for mailing. ROSE CASSETTES, 148 Widney Lane, Solihull, West Midlands B91 3LH. England. ZX-81/1K LISTINGS OF 5 GAMES — $2.00 Z— GAMES P.O. Box 367 Ringoes, N.J. 08551 RAM EXPANSION ADD ON RAM FOR ZX80. 2K INCREMENTS I II 16K COMPLETE SCHEMATIC. PARTS LIST SOURCES AND HOW-TO FOR $3 95 APPH COST FOR 2K $20 FOR THE FIRST 2K Si 3 50 FOR EACH ADDITIONAL 2K NO ADDITIONAL POWER SUPPLY NEEDED SEND S3 95 WITH SASE TO DENNIS WEBER B^ TROUTMAN N C 28ibb 4K ROM; IK RAM Galaxy Invaders Phil Gervais In Galaxy Invaders you are under attack by a fleet of enemy spacecraft which you must destroy before they destroy you. This game uses the ZX8(Ts IK RAM, graphics, and screen blackout characteristics to produce an arcade type game. The program (see Listing 1) is fairly simple, but it employs techniques which are used in the popular arcade games: 1) insufficient information (you know they are coming, but you do not know when); 2) the ability to play all day (if you are good enough); and 3) a running point total (for self-satisfaction). A typical game goes like this: First, the title block appears. You climb aboard one of the three attack ships in your squadron, prepare yourself for the worst, hit NEWLINE, and blast off into space. Suddenly, you see the enemy ships approaching! You immediately hit your firing button (NEWLINE) as quickly as possible. The enemy craft disappear quickly, but not before you hit one of their small reconnaissance ships with a deadly phaser. Your onboard computer evaluates your shot. Each ship you hit is worth either one or two points. Since your objective is to destroy as many ships as possible, a high point total is the measure of a successful mission. Your new point total is displayed along with the number of ships you have hit. NEW- LINE returns you to outer space for the next round of the battle. We must note some of the features of the equipment that shape the battle strat- egy. Both squadrons are equipped with advanced radar firing which insures pin- point accuracy. However, the enemy's phasers are capable of jamming your detection gear and vice versa. This insures your accuracy and disrupts the enemy's firing. The scores in this game generally range from 50 to 100. If you get over 150, you rank among the best space pilots in the galaxy. However, if you do not seem able to win a battle, you will have to have your engineers redesign the capability of your attack ships by increasing the value of C in lines 80-90 by 20 or more. For those who have more than IK RAM the step in Listing 2 gives a bonus ship at 250 points. May the luck of the galaxy warriors be with you! 5 Phil M. Gervais, 714 5th Ave. South, Clinton, I A 52732. Listing 1: Galaxy Invaders; 4K ROM, IK RAM. 3 RANDOMISE 4 CLS 6 LET P=0 8 LET Z=3 10 PRINT , "GALAXY INVADERS" 12 GO SUB 76 14 CLS 16 FOR 1=1 TO 20*RND<10O) 18 NEXT I 20 POKE 16414,0 22 POKE 16415,0 24 GO SUB 70 26 LET A=PEEK< 16414) 28 LET B=PEEK< 16415) 30 LET C=256*B+A-4 32 CLS 34 IF C<8 THEN GO TO 62 36 IF C<9 THEN GO TO 94 38 IF C<13 THEN GO TO 97 40 PRINT "YOU WERE HIT BY PHAS ER" 42 LET 1=1-1 44 IF NOT Z=l THEN PRINT Z;"#S U T PC l CT(TT" 46 IF Z=l THEN PRINT 2; "#5HIP# LEFT' 48 IF NOT Z=0 THEN GO TO 101 50 PRINT "POINTS ACCUMULATED: # „. p 52 PRINT "START OVER IN NEW GA i_!-i A i : 54 INPUT W* 56 IF CODE (W*) =62 THEN RUN 58 CLS 60 STOP 62 PRINT "DESTROYED ENTIRE FLE ET" 64 PRINT "GOOD WORK. " 66 LET P=P+4+RND(3) 68 GO TO 99 70 CLS 72 PRINT , "SHOOT NOW" 74 PRINT , "=====#=«=" 76 PRINT 78 PRINT 80 PRINT, , "SD" 82 PRINT 84 PRINT, "##A" 86 PRINT, "TAAAT" 88 PRINT, "#G#G" , , "SD" 90 PRINT 91 PRINT "SD" 92 INPUT W* 93 RETURN 94 P" 95 PRINT "DESTROYED SMALL GROU LET P=P+2«-RND<2> 96 GO TO 99 97 PRINT "DESTROYED 1 SMALL CR AFT" 98 LET P=P+RND<2> 99 PRINT "POINTS: #",P 101 INPUT W* 102 GO TO 14 Listing 2: Bonus Ship; 4K ROM, over IK RAM. 3 LET X=0 1 00 IF P>249 AND X»0 THEN 60 S UB 104 104 PRINT "** BONUS SHIP **" 106 LET Z = Z + 1 1 08 LET X=l 110 RETURN di X 60 SYNC Magazine 8K ROM; IK RAM Micro Invaders Cyril B. Smith In Micro Invaders, a space fantasy game in Basic for the 8K ROM, IK RAM Sinclair, the Earth is under attack by a fleet of Micro Invaders from outer space. You are in charge of a mobile inter- cepter launcher defending the Earth. Intelligence has reported that the invad- ing ships can be destroyed only by hitting them just inside the left landing leg. This requires pinpoint aiming. You control your launcher movement with the arrow keys using 5 for left and 8 for right. You launch your intercepters by pressing the zero key. Cyril B, Smith. 4737 Shadowslen Dr.. Colorado Springs, CO 80907. 10 13 20 25 3® 35 4.0 4-5 50 55 50 65 70 75 90 85 90 95 100 105 4.5 110 115 120 125 1 130 1 135 14-0 14-5 150 155 150 165 170 175 180 200 LET G=0 LET G=G+5 LET B=15 LET N=5 LET L=0 DIM R(5> GOTO 60 CLS LET N=N-1 IF N=0 THEN GOTO 15 LET R=20 LET C-=0 IF L=20 THEN GOTO 200 FOR M*l TO N LET R «H) =INT , NEXT M FOR I-i TO 12 FOR M=l TO N PRINT RT L,R. 1 REM "COMET CRUSHER 1 ' TO SflUE GOTO 500 5 CLS 10 LET H= . 15 LET £0 LET i^3? 25 LET X=0 3© PRINT RT 18.19; ! ' f ";TfiB 19;" 1" ; TAB 13 i "A " 4-© PRINT RT 20,0: "PRESS F TO F IRE" 50 PR I NT fiT ai.g, s ■ ' s « M ^«ii"«« 60 UNPLOT X-3 70 PLOT - ee LET <=> 90 IF r - 53 THEN GOTO 1 100 IF INKEv*= F" THEN LET ft = 1 110 IF INKEY*="F" THEN PRINT RT 20 .0. " 122 IF P-0 THFN GOTO 30 130 LET H=H-1 140 PRINT RT H . 19. " m " . TfiB 19 ; " I '.;TRB 19;'A".TflB 19,"* ", TfiB 19 150 IF X=39 RND He 4. RND H>0 THE J GOTO 200 160 IF H^O THEN GOTO 1 170 IF H = i7 THEN GOTO 50 180 GOTO 60 200 CLS 210 PRINT fiT 3 . 19., fijfcttM" 220 PRUSE 500 2 30 RUN 500 SfiUE "COMET CRUSHER' 5 10 RUN Listing 2: Comet Crusher |8K ROM; IK RAM). 2 -PiNT fiT 20 . 19; "uumum" 4 LET X=0 LET fi=0 6 LET 1=2 10 LET Y=30 LS PLOT 4-0,2 14- IF INKEY*="F " THEN LET fi = l 16 PLOT X ,Y 18 UNPLOT X.Y LET X=X + 1 £5 LET Y=Y+RND*2-1 50 IF NOT fi THEN GOTO 14. 55 UNPLOT 4-0,1-2 60 PLOT 4.0, 1 + 1 65 IF X=4-0 AND Y^I-2 FIND Y +URL 22 POKE URL *URL •■4-") 30 NEXT Z 4.0 POKE URL 45 SLOW 5© RRND USR URL 60 PRINT **B" 70 RRND RND**RND**RND 27" ST 165 14 "+Z, INT (RND 4" 16515" +Z, INT (RNP 4" 16S16"+2,INT IRND 15417" ,NOT PI '16544." Crossing the Asteroid Belt M. Hampson The directions are as follows: 1 ) Do not use your RAM pack. 2) Enter the program in Listing 1. Be sure to type in line 1 as listed. 3) Type in RUN and ENTER. 4) Enter all the values in Listing 2. Be very careful. About halfway through the list, the ZX81 will run out of memory. Type CONT(inue) and continue entering the numbers. 5) Delete all the lines in Listing 1 except line 1 by entering the line number follow- ed by ENTER. 6) Enter the lines in Figure 3. Note: the graphic in line 60 is an inverse asterisk (on B). 7) Type in RUN and ENTER and your journey across the asteroid belt begins. V zxchess it's the best! IS HER[ !!! ]t is the fastest, most versati ' 81/16K {or IX 80/16K with 8K ROM). f Chess proqra* * levels of play (up to si. levels of " 1 ook ahead" * ) and its tandard Chess »oves (including CASHING and EN PASSANT. »4Kfs ZXCHESS II a challenge for both beginners and advanced players. Choose your le-e! of play, choose to play Black cr Nhite at any stage of the ga«e - you can even set up the board to txaainc any special position' for beginners. ?XCH£S! . even suggest noves for you if you are stuck 1 fl trL ••• that plays a g'cat gaie of Chess" Available for only $?4.Sd (plus $1 post and packing charge) fro* the following distributors: So'tsync Inc. Gladstone Electronics Gladstone Electronics P.O. Bo* <.80 Avenue Road 901 F u hr«ann Blvd N Hill Station Toronto MS* 3Y7 Buffalo Ne- fork k.Y. 10156 Canada N.Y. K?03 July/August 1982 63 8K ROM; IK RAM ; 16K RAM DEF on the Sinclair Jon Passler Occasionally a program listing such as "3-D Plot" from Creative Computing's Basic Computer Games contains the DEFine statement which allows the programmer to define a function in the form DEF FNA(X)=(expression) FNA merely stands for FuNction A." and the variable X in the parentheses following FNA is termed the "dummy argument." Usually the expression to the right of the equals sign in the DEFine statement has at least one X in it. Of course, variable names other than A and X could be used. A simple example would be the state- ment DEFFNA(X) = X**2+X Normally, when FNA is "called" or used within the program flow, an argument is given within the parentheses different from the dummy argument, but which replaces all occurrences of the dummy argument in the DEFine statement. FNA(2) would have the value of 2**2+2. or 6. while FNA(A + B) would be the result of (A + B)**2+A+B. FNA can be treated like any other numeric variable. The only difference is that it is the result of an expression DEFined at the start of the program, outside the program flow, and the programmer can alter the argument of the expression. Jon Pussier, 344 Cabot St., Beverly, MA 01915. 64 The definition could have contained more than one dummy argument or vari- ables which are not dummy arguments, such as FNB(F t G)=F*G-Q/R Functions can also be used as arguments for other functions, for example FNB(3,FNA(A + B)) would be the result of 3*((A + B)**2+A + B)-Q R The DEFine statement is useful to simplify equations or cut down on programming where one equation is used at several points within the program. One way around DEFine in Sinclair Basic is to replace all FN calls with the expression in the definition. This often requires breaking down an equation to simplify it. Another is to use the 8K VALue function which can evaluate a string such as "2" oi "2+2" or even "X**2+X". The solution then is to replace DEF FNA with LET A$=( expression) and replace the FN call with VAL A$. The only problem appears when something like FNA(A+B) appears. We cannot call the function and define the argument all in one statement. Generally, if several different arguments are used in the FN calls, it is best to set the dummy argument equal to the argument before calling for VAL AS. setting, for example, X = A + B. Listing 1 is the program for "3-D Plot" from Basic Computer Games. Here FNA(Z) is defined in line 100 as 30*EXP(-Z*Z 100) and in line 150 the argument is SQR 160 IF Z<=L THEN GOTO 190 170 LET L=Z 1©0 PLOT X+20,Z-S 190 NEXT Y 210 NEXT X Listing 3] 3-D Plot for Sinclair (8K ROM, 16K- RAM) 100 110 1 20 130 L50 REM 3-D PLOT DIM F* (5.. 16) LET F4 (1) ="25*EXP (-Z*Z^10G LET F$(2) ="25*5IN (Z, 10) -15 LET F* (3) ="25* (COS CZ/iS) ) - LET P$(4)="25-25*5IN (Z/18) 160 LET F* (5> ="25*EXP (-COS (Z/ 6 * ) - -13" 170 FOR 6=1 TO 5 130 POKE 164 18,0 1-90 PRINT RT £ 20© PRU5E 99 210 FOR X=-25 TO 25 22© LET L=0 230 LET Y 1=4.* INT (SOR i625-X*X> 4-) 240 FOR Y=Y1 TO -Yl 5TEP -4 2S0 LET Z = S G R f X * X * r * Y 3 260 Z = INT ~5+UPL F$(B) -.7* 270 IF Z<=L THEN GOTO 310 280 LET L=Z 290 P L OT X + 38 , 2 - 8 300 PRUSE 310 NEXT V 320 NEXT X 330 PRUSE 9999 34-0 IF INKEY$="" THEN GOTO 330 350 CL5 360 NEXT B 370 STOP 66 SYNC Magazine H GO TO LAS VEGAS FOR $1 Two Excellent LAS VEGAS Style Program ■ Listings For Only $1 (ZX81-16K) Lucky 7 Slot Machine Vegas 21 Blackjack * Styled after an actual "bell" 3 reel slot machine with correct payoffs and token distribution * Fully animated - money goes into slot, handle is pulled, reels spin and stop in sequence, payoff coins fall into the pay- off trough * Lots of fun - a very addictive game * Most complete blackjack game available - split pairs, double down, ace f s value automatically adjusted, dealer stands on 17, draws to 16 * Uses 5 decks, reshuffles when appropriate, will advise tens ratio and distribution of cards left * A good way to learn the game or to practice before going to a real casino Don't miss this opportunity to get these two excellent programs at such a low price. They are fully guaranteed - money back if not satisfied. Send $1 and a self addressed, stamped envelope toi J^lorida Creations, PQ Box 16422, Jacksonville, FL, 32216 ^ ZX81 OWNERS with 16K RAM! IT'S READY—ARE YOU? ti&J&fc $14.95 + 2.50 S&H 16K Pro g rams for either ZX80-8K or ZXS1 If so t you get: ♦24-row/full-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" *"Blink"-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 7 ETA *PLANE FRAME-modelling for engineer ♦FUNDAMENTAL ANALYSIS-for stocks in ♦POLSAT & GEOSAT-space age Ham Radi ♦MATH PAK-Routines & Fit, Variance Statistics, and RPN Calcu ♦E.S.P.-test your pr > ♦Many others plus 6 including Machine SoFtwSEeU ^^ WRITE for free catal Europe, send U$l bill or DELTAS0FT/0sterfeldstr.79D/D-2000 Hambu vestors o uses Analyzer, lator ecognition IK 6-paks Code og. (In DM2 stamp: rg 54 6ER) CO o UD cr> C\J cj> (XI +> C\J LO i — CO Mail coupon or copy with payment to: IZETA Software/PO Box 3522/Greenvi 1 le,SC 29608 I is $. □Check □. Enclosed I for copy(ies) of SCOUT FIGHTER ZX81 16K I pi us $2.50 S&H for the order. X > o e CO 0) O t- Q. CD z I NAME ADDRES S I | CITY /STATE/ZI P Please allow 4 weeks if paid by check. 4K ROM <8K ROM); IK RAM Handling Strings from Another Ken Berggren Does this story sound familiar? One day. Fred found an excellent short program in a magazine article and he decided to translate it for his ZX80. But after entering only a few lines of the program, he ran into a statement like this: 250DIMNS(4) 'What in the world Hoes that mean? he asked himself. When he could not answer that, he consulted a friend with a TRS-80. His friend explained that it works just like a regular DIM statement but with strings instead of numeric variables. That is, DIM N$(4) sets up four strings with the same name. NS, but individually numbered 1-4. Fred frantically flipped through the pages of the ZX80 manual and found the terse explanation of the DIM statement on page 89. But there was nothing there about strings. So, he set aside the magazine article and decided to stick with programs written just for the ZX80. Well, if Fred sounds like some people you know, then consider this article dedi- cated to them. SYNC is a fine magazine, but it cannot publish every program that will work in the ZX80. And just because you cannot use a statement like DIM N$(4) does not mean that you cannot translate a program that uses it. Now you 8K ROMers realize that your supercharged machines will DIMension strings without any hocus-POKEus. and you may be tempted to turn the page on me. But stick with me because I think that you will find this technique very interesting if not useful. Any way , from now on we will be talking strictly in terms of the 4K ROM. It is true that the people who designed the 4K ROM left out the ability to DIMen- sion strings. However, with a few well- placed POKEs, you can plug up that hole in the 4K ROM. Ken Berggren, 104 Ridgeway Ave.. Louisville. KV 40207. For example, enter this short program. 100 FOR 1 = 1 TO 4 110 POKE 16450.1 + 37 120 INPUT AS 130 NEXT I The A in line 120 is stored in the memory location 16450. The code for an A is 38, So. at present, a 38 is stored at the location 16450. When you RUN this program, it will execute lines 1 10 and 120 four times. The first time through, line 1 10 will POKE a 38 ( 1 +37) into the location 16450. Then, line 120 will INPUT AS. But the second time through, line 110 will POKE a 39 (2+37) into location 16450. Since 39 is the code for a B, line 120 will then INPUT BS. This program actually changed itself! The third time through the loop, line 1 10 POKEs a 40(3+37) into the memory location, and line 120will INPUTCS. When the program is finished, it will have stored four strings: AS, BS. CS. and DS. You can imagine that these are numbered 1-4 because when 1 = 1 vou INPUT AS and when I =4 you INPUT D$. RUN the program and enter four words. Now change line 120 to 120 PRINT A$ and then GO TO 100. The method will work with INPUT, PRINT or any other string functions. Some of you may thinking, "Big deal. What good is all this?" I think that the following two programs will illustrate the virtues of this technique. The first program is a simple sort program. We all know that computers are very good at putting numbers in order. And since computers store letters as numbers, they are also good at putting words in order (alphabetical order, that is). The program will alphabetize up to 25 words and will display up to 22 of them. Using the program is simple. Just enter the number of words you want to alpha- betize and then enter the word with a NEWLINE after each one. When you have had the last word, the program takes over, and, a few seconds later, the words are displayed in alphabetical order. I think that it is worth noting line 240. 1 do not know if other Basics let you use inequalities with strings, but ZX80 Basic does. That is a very nice feature. If you want to put the words in reverse order, simply reverse the inequality. This program is not so great by itself. But it could be developed into a good utility program for handling a list of the names of friends for an address book or names of students for a grade book. It could possibly be adapted to help teach dictionary skills. The second program illustrates the technique by computerizing a card game played something like Rack-0 (by Milton Bradley). The POKEing is used to call each player by his name rather than the impersonal PLAYER 1. PLAYER 2, etc. In this game, the players are dealt ten numbered cards. The remaining cards are placed face down, and the top card is turned face up to form a discard pile as in Gin. The object is to get ten cards in numerical order (not necessarily consecu- tive order). This is done by drawing a card from either pile and exchanging it for one of your cards. In this version, of course, the computer handles all the cards. First, it shuffles them and places them into each player's "rack." Then the first player's cards are displayed and he is asked if he wants the card showing in the discard pile. If he does not. he enters "NO," and he is given a card from the face down pile. If he does not want that card, he enters "NO" again and his turn is over. If he decides to take either card, he enters "YES" and the computer will ask where in his "rack" he wants the card to go. The player then enters a number 0-9. His card will be placed in that position, and his turn will end. At the end of each player's turn, the computer will display the cards that the player has in order so far. Then a NEWLINE will start the next player's turn. The game ends when one player get his cards in order. To start a new game you have to RUN the program again. If you have more than IK of RAM, you could probably teach the computer how to play the game and then play against it. You could also allow more than four players. But be careful. Any modifications of these programs may affect the POKE locations. To make sure, LET 1=0 and then GO TO the POKE statement in question. If the next statement does not contain a 9$ after you do that, you will have to change the POKE location until it does. But trial and error will not work very well if you make big changes or if you write your own programs. Then you will need a more exact method of finding the location of a specific byte in a program. 68 SYNC Magazine ADULT GAMES FOR JADED MINDS BAD TASTE IS OUR SPECIALITY $10.00 ACNE VASECTOMY SMUT HITLER DOLE ROYAL FLUSH REAGAN If) |ioo*Ml)KATH EDUCTION iONCEPTION 4HRTH UUBICSPUBE ONTHEJ^OB VOX DR OEATH €OD $10.oo ■ ■HCJwI^lsC GENESIS ADAM,\EVE NOAH PLAGUES EXODUS Holy Moses SODOM GOLIATH JONAH Be include bizarre c J to AUTOMATA LTD > instructions, postage & package >uth POS 3LR, ENGLAND NEW RELEASE A 44 KEY TACTILE FEEL KEYBOARD THAT PLUGS INTO ZX81 OR TIMEX SINCLAIR 1000. INCLUDES ALL GRAPHICS AND LEGENDS. 4 ADDITIONAL KEYS FOR EDIT, DELETE, QUOTE, FUNCTION, (NO SHIFTING REQUIRED). MEASURES 8 1 2 W X 4". $70.00 MASS. RESIDENTS ADD 5% SALES TAX SHIPPING & HANDLING $4.00 DELIVERY 6- 10 WEEKS. QUANTITY DISCOUNTS FOR USER GROUPS. FOR MORE INFORMATION SEND SASE OR TO ORDER SEND CHECK OR MONEY ORDER TO: E-ZKEY SUITE 75 711 SOUTHERN ARTERY QUINCY, MASS. 02169 STRUCTURAL DESIGN ForZX-81 8K/16K Programs include GRAPHICS STEEL BEAM DESIGN $29 1 2 Options of Beam Type and Loading TIMBER BEAM DESIGN $29 3 Options of Beam Type and Loading Choice of Timber Grade and allowable Stress DORAN ENGINEERING, P.A. 1 1 3 South Chestnut Street PLEASANTVILLE. NJ 08232 (609)646-3111 VISA MASTERCARD A NEWSLETTER FOR POCKET COMPUTER USERS This timely, compact publication provides up to the minute information on pocket computers, including models such as the Radio Shack TRS-80 PC-1 and PC-2, Sharp Electronic's PC-1500 and PC-1 211, Casio, Panasonic/Quasar HHCs, and others as they are announced. We only cover PCs capable of executing a high level language such as BASIC. □ Up to the Minute News U Product & Equipment Reviews D Important Operating Tips □ Practical Programs □ More bscription Only: for a calendar year period (January - December). You get all issues published to date for the calen- dar year in which you subscribe, at the time you subscribe. MC/VISA Phone Subscriptions: (203) 888-1946 D 1981/82 Charter Subscriber {Issues 1 - 20). $40.00 in U.S. (U.S. $48.00 to Canada. U.S. $60.00 elsewhere.) D 1982 Regular Subscriber (Issues 11 - 20). $30.00 in U.S. (U.S. $36.00 to Canada. U.S. $45.00 elsewhere.) n Sample issue. $3.00 in U.S. (U.S. $4.00 elsewhere.) *Due to credit card minimum, this item cannot be charged. Orders must be accompanied by payment in full. We do not issue invoices for the POCKET COMPUTER NEWSLETTER. Thank you for your remittance. Name: Addr: City State Zip: MC/VISA #: Signature: Expires: 1- POCKET COMPUTER NEWSLETTER 35 Old State Road, Oxford, CT 06483 .Program I. Alphabetize |4K ROM; IK RAM).. Program 2: Card Strings (4K ROM; IK RAM)_ One way is to count the bytes in each line and add them up. Every line has two bytes for the line number (no matter how many digits), one byte for the Newline at the end of the line, and one byte for every keystoke in between. So, in the example program, line 100 takes 9 bytes, line 110 takes 14 bytes, and line 120 takes 3 bytes up to the A for a total of 26 bytes. Add 26 to 16424, which is the starting address of every 4K ROM program, and you get 16450. That is the actual location of the A in memory. However, counting all the bytes in a long program is a very tedious chore. 1 found a better way. When USR(24) is put into a program, it stops the execution of the program and returns the starting address of the next line. To illustrate, insert 115 PRINT USR(24) into the short program and then GO TO 1 15. 16458 appears on the screen because that is now the starting location of line 1 20. Line 1 1 5 takes 1 1 bytes so. when it is deleted, line 120 will move up 1 1 bytes to 16447. Adding the three bytes of line 120 again shows that the location of the A is 16450. USRI24) is an invaluable utility whenever you need to know the location of a byte in your program. A lot of programs out there in books and magazines can be adapted to the ZX80. But sometimes you really have to work to get them to. Now the lack of DIMensioned strings is no longer a problem. There are other shortcomings in the 4K ROM in dealing with other Basics. Yet, with a little determination and ingenuity, you can usually get around them. 1 00 PRINT "HOW MANY ENTRIES 110 INPUT N 120 F0RI=1 TO N 1 30 PUKE 16478, I 140 INPUT ** I 50 NEXT I 200 FOR 1=1 10 N 210 FOR J=l TO N-I 220 POKE 16537, J +37 230 POKE 16540, J +38 240 IF B*>C» THEN GO SUB 90 250 NEXT J 260 NEXT I 300 FOR 1=1 TO H 5 1 POKE 16584, 1+37 320 PRINT D* 330 NEXT I 340 STOP 900 POKE 16658, J +37 9 1 POKE 16664, J +37 920 POKE 16667, J +38 930 POKE 16673, J +38 940 LET ZS=E* 950 LET F*=G* 960 LET H*=Z* 970 RETURN Notes: 100-150: Get the words. 130: Changes A$. 200-260: Sort the words. 770- Chanoe<; RS 230: Changes C$. 300-340: Display the words. 310: Changes D$. 900: Changes ES. 910: Changes F$. 920: Changes GS. 930: Changes HS. 900-970: Move the words. . Sample Run _ 100 PRINT "PLAYERS (2-4) ?" 110 INPUT N 120 FOR 1=1 TO N 130 PRINT "PLAYER**"; I 140 POKE 16489, 1+37 150 INPUT A* 160 NEXT I 190 LET E=20+10*N 200 DIM CCE) 210 FOR 1=1 TO E 220 LET P=RND IF C(P)>0 THEN GO TO 220 240 LET C9 THEN GO TO BOO 470 I F C ( J*N+ 1 ) ■■ C < J ^M+N+ I ) T HEN RE I URN 480 LET l=T+l 490 NEX I J 495 PRINT 500 LET Y*="SH0W" 5 1 PR I NT Y* ; " **CARD= " ; C ( P > ; " #1 A KE 520 INPUT Z* 530 IF Z*>"X" THEN BQ TO 600 540 IF Y$=" DRAWN" THEN GO TO 65 550 LET P=P+1 560 IF P-E THEN LEI F-E-19 570 LET Y*= N DRAWN" 580 GO TO 510 600 PRINT "PLACE " 610 INPUT J 620 LET T=C(J*N+1) 630 LET C(J»M+I>=C; ,! **WINS" Notes: 100-160: Get the players. 190: E= total number of cards. 200-250: Shuffle the cards. 300: P— pointer to show card. 410-490: Display a player's cards. 452-458: Spaces each card over by magni- tude. 465-480: Part of winner test subroutine. 500-580: Players pick their cards. 600-640: Chosen card put in "rack." 650-680: Test for winner. Display cards in order so far. 700: Next player's turn. 710: Back to player 1. 800-810: Print the winner. i 70 SYNC Magazine NK ROM Versions Although the article is intended to help 4K ROM users, we thought the 8K ROM users might like to use the programs so the 8K ROM Versions are also given below in Programs 3 and 4. ^ _Pro R ram 3: Alphabetize |8K ROM; IK RAM).. 100 PRINT "HOU MflWY ENTRIES?" 110 INPU1 115 £>IH R*tN 130 FOR 1=1 TO N 14-0 INPUT ft* (1.1 150 NEXT I 200 FOR II TO N 210 FOR . 24-0 IF H$ i R$ U + l; THEN GOSUB 900 250 NEXT J 260 NEXT I 300 FOR 1=1 TO N 320 PRINT h$ ( I) 330 NEXT I 340 STOP 94-0 LET 2*=fl»lwO 950 LET fl*tJ» =R*iJ+l) 960 LET H$ CJ + JL) =Z* 970 RETURN Program 4: Card Strings (8K ROM; over IK RAM). 100 PRINT "PLflYER5(2-4l^" 110 INPUT N 115 DIM R*(N,10) 120 FOR 1=1 TO N 130 PRINT "PLAYER " ; I 150 INPUT R*(I> 160 NEXT I 190 LET E=20a0*N 200 DIM C 0 THEN GOTO 220 24.0 LET C (P> =1 260 NEXT I 300 LET P=E-19 4.00 FOR 1=1 TO N 4 10 CLS 4-15 LET T=0 430 PRINT R$(I) 435 PRINT 440 FOR J=0 TO 9 4 50 PRINT U.; 4-S2 FOR L=0 TO C(U*N+I)/N/4 454 PRINT " "; 456 NEXT L 4-53 PRINT C(U*N + I) 460 IF T=0 THEN GOTO 490 465 IF T>9 THEN GOTO 800 470 IF C ( J*N+I) >C THEN RETURN 4 80 LET T=T+1 4 90 NEXT J 495 PRINT 500 LET Y$="5HOU" 510 print Y*; •■ CRM>«"; C (P) ; " tr KE? M 520 INPUT Z* 530 IF Z$>"X" THEN GOTO 600 540 XF V*=*DRRWN" THEN GOTO 650 550 LET P=P*I 560 IF P>E THEN LET P=E-19 570 LET Y$ = "DRflUIN" 580 GOTO 510 500 PRINT "PLRCE^"' 610 INPUT 6 30 LET C(JtN+I)sCIP) 640 LET C (P) =T 650 CLS 660 LET T=l 570 GOSUB 430 680 INPUT Z$ ^00 NEXT I "10 GOTO 400 5 10 PRINT R* I I CYBORCWc^RS BUT A COMPLEX SIMULATION OF FOUR MILITARY- INDUSTRIAL ECONOMIES LOCKED IN A DEADLY STRUGGLE FOR SURVIVAL ONE TO FOUR PLAYERS COMPETE WITH EACH OTHER AND OR THE COMPUTER BALANCE OF POWER DEPENDS UPON SKILL IN DEVELOPING RESOURCES. USE OF ESPIONAGE, EXPLOITATION OF ALLIANCES. AND UTILIZATION OF MILITARY POTENTIAL REQUIRES ZX81 WITH 8K ROM AND 16K RAM ORDER FORM FOR CyBOOTO Send $14 (plus $1 for shipping) to: STRATAGEM CYBERNETICS, INC.. 286 Corbin Place, 2E. Brooklyn, New York 11235. ADORESS . STATE .ZIP. PROGRAMMING KITS (Learn by doing} from Systems and Solutions, Ltd. Programming is building, and like building with blocks, bricks, or milk cartons, a builder needs the materials to build with. We provide, in kit form, the building blocks with instructions that lead the kit-builder through the construction of a program from scratch. The program can be run at the end of each step and will take shape as the kit steps are completed. These kits are made for a minimum system of the ZX80 with 1 k of memory and include translation for ZX8 1 s as well as guidance for going further. Our aim is to provide the personal joy of programming as well as the fun of playing with the final result. PRISONER - Cooperate or trick your partner (the computer) to get enough money to buy your way out of jail. Com- puter strategies are described as part of the kit. Some are effectively unbeatable in only 1k of memory. $4.95 MAZE 1 .0 - You are at the entrance of your own 1 6 room maze with a treasure in one room. Given your room number and the treasures room, can you find the treasure? $3.95 ZX-TREK 1 .0 - You are the Captian in sector after sector of space that must be cleared of Klingons. Your shields' energy is reduced based on the strength of the enemy's hit, you can fire photon tor- pedoes and warp to another sector dur- ing your 5 year mission. $4.95 TO ORDER: Send your name, address, and check to: Systems and Solutions, Ltd., 5054 Kenerson Drive, Fairfax, Vir- ginia 22032. (Additional overseas post- age: $.50/kit.) Please allow 4 weeks for delivery. Free catalog available. July/August 1982 71 SINCLAIR ZX81 & TS1000 SOFTWARE Fifty games for less than S2 ea. Send SASE for FREE catalog to: BIOCAL SOFTWARE 340 Cypress Dr. Fairfax. Calif. 94930 4 8K, IK BASIC Programs - Sketchpad. Combinations of 7, Enterprise (picture only) and Hebrew Tutor, $10.00. Reply To DRRP, P.O Box 3664 Peabody, Mass. 01960 ' ZX81 KEYBOARD TACTILE FEEDBACK ' FEEL WHERE YOUR KEYS ARE* TOUCH TYPING POSSIBLE. HELPS STOP MISSED KEYS. SIMPLE TO INSTALL OVERLAY $3 95 P HARGRAVE SITE V. RR4. NANAINO. BRITISH COLUMBIA V9R 5X9 CANADA OTHELLO FOR 1K GRAPHICS, HIGH-SKILL PLAYiNG ALGORITHM PROGRAM LISTING — $2.00 INTELLECTUAL GAMES 193 PEACEABLE ST. RIDGEFIELD, CT 06877 >« f •$ II «■ _ »! ■ ■ • • • • •• =1 THEN LET C= " + 70 IF H (R+l .B+l) =1 THEN LET H< R+1,B+1> =0 72 IF OC1 THEN L ET C 1=C ^INT RT 0,0, "HI" ; C ; RT , ' ;RT 0,21,01 R>X THEN LET Xl*Xtl RY THEN LET Y1=Y+1 B21 THEN LET R=21 133 IF R<1 THEN LET R-l 134 IF B>31 THEN LET B*31 135 IF B<0 THEN LET B=0 140 IF X«R RND Y*B THEN GOTO 20 160 GOTO 65 200 PRINT RT 10,10; "*#GOT YOU** 202 PRINT RT fi,Br**X" 205 PRINT RT 20,2;" PLRY RGRIN INPUT Y OR N " 207 INPUT G* 208 IF Gt«"N" THEN STOP 210 GOTO 5 SYNC Magazine .'Mtl'IK BASF-DPS WORLD STANDARD TAPE -_, MONEY BACK ,^*><^^. GUARANTEE COMPUTER GRADE ESCHEW SHILL FTTS ALL Ql KUM TACCCTTCC ST ANOARO HICOUDfWS DUUUl UAOOC I I CO Beaverton. OR Sh.pp.ng i ckw %2 2 dot S3 » 3 not S4 so Each *i<*t>un*i do; $W Wf.lt »• (in I.. QUMt.Tt tKSCtKMTS ITEM 1 002 2D0Z COS C ?M C 10 800 u *rj C?0 10 00 '8 00 Mjtd 8o» 2 SO J 00 Son Boi □ 2 00 U0 Call: 213/710-1430 VORK lO Computer ware 24573 Kittndge St.. A-1 Canoga Park. CA 91307 BARLOG SOFTWARE •EAGLE LANDER-1K all Moon landing simulation LISTINGS •PICTURE PLOT-1K $2.00 M/C Graphic routine •MEALA-MORPH-16K Survival in cafeterias •TEXTER-16K Text editor, printer commands A^L _^95^_ on^an y~8k rom" macShine " Send 20e for fulTlist" ALL listings explain programs in detail. Make check to: BOB LUCAS 401 N. GEYER ROAD KIRKWOOD, MO 63122 ZX81 ASSEMBLER 2 PASS STANDARD Z-80. SYMBOLIC EXPRESSIONS. DECIMAL / HEXADECIMAL. 12K BASIC AND MACHINE CODE. ZX81 DISASSEMBLER STANDARD Z-80, 22 CODES IN 5 SECONDS (FILLS SCREEN) DECIMAL /HEX. $15.00 FOR BOTH PROGRAMS POSTPAID BOBBERCH 19JAQUESST ROCHESTER. NY 14620 LIGHT PEN for ZX81 UNDER $70 DRAWS ON ANY TV SCREEN Erase & clear by just oi pVA SUPER GRAPHICS MODULE Lets you control every dot on your screen! touching the screen! 6't< INTERNAL MEMORY Add ^K or 6K as you need it! CONTROL BOARD (8 I/O) Home Projects, Robotics No special commands-- Easy to use $69.95 KIT:$^9.95 PC3 $15. EASTHILL,OAKHAM,MAO EXPANSION BOARD Buffered Bus/Development Board for marketed and user built peripherals. Offers significant yet inexpensive access to ZX81 hardware. Optional voii feg Circuitry gives access to addresses 8K to 16K for memory or memory mapped I/O Fastens to ZX81 Improved Model: Bare Board $40* With connector I and complete documentation Kit $70* 6 connectors. 9 chips, sockets and other parts 'Add S3 tor ship & hndt Calif res add 6% tax To order send check or M O to All lines from computer port are on bus & in same order Buffered Data, Control & Address lines Data bus is two-way Two types of connectors 9 chips needed. . if ts are standard. Finest quality board Plated thru holes solder mask legend PROMPT DELIVERY HUNDREDS OF SATISFIED USERS Please send stamp for more info (jDmputer 301 16 th Ave San Francisco, CA 94118 MORE Plans. Kits. Programs Inquire. ontinuum (415) 752 6294 Ed. -A WORD OF CAUTION: Any hardware project for your computer must be approached with extreme caution. SYNC cannot be responsible for any problem that may arise from attempting hardware projects. Obviously, any dam- age to your computer can be costly in time and mom narcluuarE tips Thick Black Bars George R. Ingle In SYNC 1:6 Cecil Bridges points out that the thick black bars on the display may be caused by a failing capacitor in the power supply. However, it is not necessary to crack open the mains power adapter to replace the lOOOuF capacitor. A simpler solution is to add another capacitor, rated 20O470uFat 25wv, across the +5v and ground connection to the UHF/VHF modulator. This not only corrects the leaking capacitor problem but also greatly reduces the "lining" of the display caused by the ZX80 display circuit itself. Obviously, a miniature capacitor should be used because of the minimal free space inside the computer case. Comp. n Video VHF/UHF Modulator *. -a — H 200-4 « 1 70uF T Insufficient Filtering Solved Robert D. Hartung Like many others I found that the DC filtering capacitance of the power supply included with the 16K RAM pack is borderline in supporting the demands of both the RAM pack and the ZX80 with its 17 extra ICs as compared with the ZX81. The symptoms of insufficient fil- tering include false LOADs from the excessive 60 Hz ripple in the DC and a horizontal line or blank bar moving verti- cally through the TV display every two seconds. If these symptoms disappear when the RAM pack is disconnected, either some component is drawing exces- sive current or. more likely, the added load of the RAM pack is causing inade- quate filtering of the unregulated DC power to the computer. Memory Expansion Power Supply George R. Ingle David Sommers mentions (SYNC 1:6) the problem of using an additional power supply with his memory expansion. For those building an additional memory expansion unit, the following suggestions might be helpful. 1) Insure that all components are using a common ground return. 2) Do not connect the +5v regulated voltages or +9 to +12 unregulated volt- age in parallel. Instead, use a common ground whether earth or floating. depending on the design, and feed the additional memory unit with a separate + 5v regulated supply. 3) Insure that the additional power supply is well-filtered and uses, if possible, a three prong grounded outlet and AC supply cord. (Ed. —A schematic of the authors power supply that provides for +/5v reg., +I2v reg., +5v reg., and -I2v unreg. is available from the author for $1.00 and a SASEj George R. In^le. 24593 1 2 Monterey Ave. San Bernadino, CA 92410. 74 Adding a 2200uF 50VDC capacitor across the output wires near the power jack eliminates the problem. Use a VOM or an LED tester to determine which is the positive output wire and which is the negative in order to be sure that you are observing the proper polarity in con- necting the capacitor. This capacitor also gives some protection against momentary drop-outs occurring on the main power lines. A note of caution: since a capacitor of this size stores considerable energy even after the power pack is unplugged from the AC outlet, I strongly recommend inserting a small lever type microswitch (e.g.. Radio Shack 275-016) in one of the DC wires near the computer power plug. This will avoid possible burning or fusing of the power jack outlets when the plug is inserted or withdrawn when the capacitor is charged. The switch gives a bonus of being a "panic" switch to get out of endless program sequences as well as to cut the power off when connecting or disconnecting the 16K RAM pack. To install the switch, cut and strip one of the power cord wires as near to the computer plug as practicable. Solder one wire end to the C lug of the switch and the other to the NC lug (normally closed). An LED pilot light can be added at the same time. Strip, but do not cut, one-half inch of the other power cord wire. Again, determine the polarity of this wire with the wire which goes from the switch lug to the computer plug. Solder the LED lead which is nearest the flatted side of the LED base (cathode) to the negative wire. Solder a IK resistor to the other LED lead and in series to the wire which is positive. Carefully tape all bare leads and connections to isolate them from each other. Since only 45 grams of pres- sure will open the switch, taping it to the power cord and plug will give all the necessary support. Robert D. Hartung. PO Box 125. Palmvra. NY 14522. SYNC Magazine USE OUR PLANS AND SAVE $$$$$ SYN SYIV SYN KM** YOUR SINCLAIR KEYBOARD how to add a full-size keyboard to a ZX/80 or 81. Includes instructions on how to use any extra keys for Shift Lock, Automatic shift. Automatic Repeat, and Reset. $5.00 POWER SUPPLY Running a little hot? Design and build your own supply to fit your needs at a fraction of wired price. Includes how to estimate both present and future needs and covers both single and multi-voltage. $5.00 BUSS Inexpensive exspansion system unlimits your edge connector. $3.50 JOYSTICK Add popular Atari joysticks and find out how much fun games can be. $2.50 Send check or money order to: SYNCHRONIZE Box 1667 Kerrville, Texas 78028 PRACTICAL ZX-8U SOFTWARE ZX-81™ Not Just For Games Anymore! ZX-PANDE <":*), LTD., an American c ■?■ , ises the tremen- dous ZX-61^, data handling capabilities to make our tjsks easier. Programs are on cassette, thoroughly tested, easy-to-r* bed instructions, SIC to allow tailoring to your special needs. Send a STAMPED 3ELF- ADDRESSED ENVELOPE for details on these and other p rogra ms. 1. YOUR SPECIAL DAY— IK— Good example of usfflg 1 successive equations to answer a practical question. Enter any_ date in history, and ZX-31^ will tell you the day of the week on which it occurred. Useful in many fields and a great ZX-Sl^ demonstration. . CMLY $3»7f>* 2. CLOCKS AND TIMERS— IK— A digital clock; stan- dard or military time), a count-up timer (for telephone calls}, and a count-down timer (useful in cook other great Z2-8l^ demonstration 0ITLY o3.?5* 3. ANTP03JT PLOTTER— IK— Crunches any data to allow graphing any positive data points: stock prices, temperature, experimental data, etc. . . . ONLY $3.7<£ u. CHECKBOOK, INCOME TAX AND BUDGET QRGAL'IZER^loK A powerful yet easy to use finance program — 10 jobs in menu driven format. Checks and deposits are totaled and itemized under desired categories for budget planning and income tax preparation. Hakes checkbook balancing easy. Ninety trans- actions manipulated at one time with 16K. • . . 0NLT $13.75* ZX-PANDINCLTD. P.O. BOX 25 S'EWTON, NC 28658 704-464-2742 *ALL orders please add $1.25 to total order to cover POST- AGE AND HANDLING. (Foreign orders add $2.00 to cover air costs. Your payment must be in a U. S. dollar draft pay- able to U. S. bank.) r Sinclair ® Computer Owners YOU NEED THIS! * Protects against power line glitches * Provides extra power for add-ons * Cuts heat in the internal rpgulatnr The HL-1205 uses the same modern switching regulator technology as used on big computers to trade harmful heat for extra power so ... Just plug your ZX81 A.C. Adapter into the HL-1205, plug the HL 1205 into the computer and turn on the switch. Add a rechargable 12 volt battery (not supplied) to have an UNINTER- RUPTABLE POWER SUPPLY, or operate from 12V car or truck system A MUST FOR SERIOUS COMPUTER USERS $35.95 plus $4.00 shipping and handling 30 day money back guarantee To order send check to: Hurricane Electronics Lab P.O. BOX 1280 HURRICANE, UTAH 84737 [8011635-2003 MUSIC and KALEIDOSCOPES VIRTUOSO. A music synthesis program for the Timex/Sinclair and ZX81 with 2K or more. NO MUSIC KNOWLEDGE NECESSARY! 96 notes. range from put put to above treble clef, any tempo. Whole to 32nd notes. Songs may be saved for future use. Required hardware? - - Your cassette recorder. $6.95 pp. PLAYER 2X81. A less versatile music program for 1K memory. Music instruction not included. $6.95 pp. SQUARES and CROSSES, Kaleidoscopic simulations for the same machines. IK or more. $6.95 pp. All on standard cassette. Guaranteed to load. Music programs include random sound listing or save copy. Add $3.00 each, outside U.S. Mail order only.: William Don Maples 688 Moore St. Lakewood, CO 80215. Ear Input Circuit James Dowell I upgraded my ZX80 (UHF) with the 8K ROM and MicroAee Video Upgrade kit. I had no loading problems while I was using a Sears tape recorder. Later 1 procured a Craig tape recorder as a dedicated component of my system. Then my loading problems began with no apparent permanent solution. Upon inspection of a defunct ZX80 (VHF) with supposed loading problems. I discovered that Sinclair had made two minor modifications to the ear input circuit. One was the addition of a .Olmf capacitor across the terminals of the input jack (RFI filter). Removal of this capac- itor restored the loading capability of this unit. The other modification was the addition of a 6.8K resistor from the connecting bus between C12 and Rl to the +5V bus. Installing a similar resistor in my original ZX80 cleared all of my lnaHina nmKipmc and ureatlv increased the dynamic range of the input circuit. Problems in ROM Changing Herb Homung A common problem which occurs when replacing the 4K ROM with the 8K ROM is that the computer does not turn on every time (or even at all) when it is plugged in. If you have this problem, you can solve it by soldering a 33pf capacitor from REFRESH to ground. That is, solder the capacitor from pin 23A of the expan- sion connector to the ground connection of the RF modulator (case). Keep the leads as short as possible (see Figure 1). After performing this modification, I checked to see if the 16K RAM pack still worked and it did. Expansion connector Figure 1. Pin 23A (RFSH) Component side Solder 33pf capacitor here Top Line Hook Solution James Dowel! Tom Keeney's fine article (SYNC 2:1) points to a problem with the MicroAee Video Upgrade kit and the top line. A solution to this "top line hook" in SLOW mode is as follows: Connect a capacitor (.027-.030mf ) from pins 10-11 of IC6 to ground. Using the space of the unused C9, insulate the "hot" lead of the capacitor and pass it through the +5V hole for C9 (next to pin 14 of IC6) and connect to pins 10-11 ot 1C(>. Connect the ground lead of the capacitor to the ground hole for C9. Too little capacitance will not quite correct the hook whereas too much capacitance will over-correct the hook. I made a large cutout in the top cover of the ZX80 and cemented a 4x6x3/4 r inch plastic box over the opening. This gave me room to mount the Video Upgrade, Keyboard Beeper. Video Reverse Switch, and a Reset Switch in the ZX80. Although my ZX80 with Video Upgrade works fine with a 'defective' 8K ROM, I have been unable to make it work with the replacement ROM (which works fine in a non-upgraded ZX80). James Dowell. 735 Mvra Ave., Chulu Vista. CA 92010. . Figure 2. Strong Signals on KBD through KBD 4 Herb Homung Quite a few ZX81s that I have seen have very strong signals on KBD through KBD 4. This can cause the following problems: 1) some shifted func- tions will not work; 2} some characters are always shifted; 3) some characters will not print at all. These problems may appear all the time or only after adding a printer, plugging in a 16K memory mod- ule, or upgrading the keyboard. This condition can be corrected by removing the 10K Q resistor pack (RP3) and replacing it with 8.2Kf2 resistors. Solder one lead from each resistor to the KBD through KBD 4 a solder the other leads together and to the "C" contact of the circuit board (see Figure 2). In some extreme cases it may be necessary to change the resistor to as low as 6.8KL^. IX X Tttt Connect resistors together as shown RP3 1 11111)11 Ed. —Herb Hornung is interested in hear- ing from readers who have hardware problems or information. He will attempt to help (no charge) if a stamped, self- addressed envelope is enclosed. 5 Pin keyboard connector lllllllllUl 8 Pin keyboard connector Remove RP3 and replace with 8.2K Q resistors Herb Hornung. Double H Electronics. 19.S Lelani. San Antonio. TX 78242. 76 SYNC Magazine RUSKR AFT'S ZC ORGANIZER MOLDED OF STURDY, BEIGE ABS, THE ZC ORGANIZER CONCEALS ALL THE ZX81 AND CASSETTE RECORDER CABLES, YET YOUR COMPUTER AND RECORDER ARE READY FOR INSTANT USE. SPACE IS ALSO PROVIDED FOR ADD ON MEMORIES SUCH AS THE 16K SINCLAIR, OR 64K MEMOTEK. GIVE YOUR ZX81 IT'S OWN HOME - JUST $14.95 + $2 SHIPPING/HANDLING SEND CHECK OR MONEY ORDER TO: RUSKRAFT ENGINEERING P.O. BOX 306, DEPT. A TINLEY PARK, IL. 60477 PLEASE ALLOW 4 TO 6 WEEKS FOR DEL. practical software FOR THE SINCLAIR ZX80/81 (8K/16K) 2 Unique computer programs on cassette ► ZX INVENTORY • ZX DIRECTORY ► STORAGE OF 200 ITEMS AND PRICES* SORTS FILES ALPHABE 1 1 » PRINTING CAPABILITY (ZX81 ) • STORAGE OF 60 FILES ► COMPREHENSIVE SEARCH • PRINTING CAPABILITY (ZX81 1 ROUTINES • COMPREHENSIVE SEARCH ROUTINE BOTH PROGRAMS EASILY MODIFIED TO STORE MORE FILES WITH LARGER RAM PACK. ONLY 19.95 EA. BOTH PROGRAMS FOR 34.95 SEND CHECK OR MONEY ORDER TO: SERVITRONICS P.O. BOX 2024, HARTFORD, CONN. 06145 FOR INFORMATION OR VISA OR MASTERCARD ORDERS CALL (203) 643-7900 SHIPPING U S S1 50 OUTSIDE U S S3 00 Does your ZX-80 need a home of its own? Designed especially for the Home Computer. This desk creates organization for all your hardware and software items. Rich Wood Grain Look The Gateway Guide to the ZX81 and ZX80 by Mark Charlton The Gateway Guide is a practical programming man- ual for the beginner that furnishes over 70 fully docu- mented programs. The majority of the programs have been written for easy conversion from machine to machine (ZX81, 4K ZX80 or 1 K ZX80) The Gateway Guide describes each function and statement, illustrates it with a demonstration routine or pro- gram, and combines it with previously J discussed material to provide a solid basis for understanding your computer. 5V2" x 8", 172 pages. $8.95 Over-All Size 24d x 33Vfew x 33h SHIPPED UNASSEMBLED, CLIPS TOGETHER I I I $74.95' Apt. # SHIPPED UPS. FRT. COLLECT MAIL ORDER TO WALSH * SIMMONS INC. 2511 Iowa Si St Louis, MO 63104 I Ctty I DESK PRICE .,$74 95 State Zip MASTERCARD VISA I[ CHECK OR MONEY ORDER ENCLOSED \M EXP Acct. « l I I 1 1 I I 1 I I I I I I I 1 I 1 I Interbank # for Master card: I I 1~T~1 Exp, Date: Creative Computing Press Dept. 0000, 39 East Hanover Ave.. Morris Plains, NJ 07950 Please send The Gateway Guide to the ZX81 and ZX80 @ $8.95* each plus $2 00 postage and handling. Outside USA add $3 00 per order- shipped air mail only. □ Enclosed is $ *NJ residents add 5% sales tax C Charge: D American Express D Visa □ MasterCard \ Account # Signature Mr Mrs Ms Address _Exp. Date City State /Zip_ Z720 CHARGE ORDERS— for your convenience phone Toll Free 800-631-8112, In N J only (201 ) 540-0445 Signature: resciLircES The "Resources" column lists new products for Sinclair users. Suppliers and users are invited to send brief product descriptions and ordering details to: Resources, SYNC, 39 E. Hanover Ave., Morris Plains, NJ 07950. User Groups Users North Alabama ZX80/1 Group. For details contact: Bob Boyer 1103RivlinRd. Huntsville, AL (205) 883-4354 (evenings) • San Francisco Bay Area Sinclair ZX Users Group (ZUG). Publishes news- letter SincLink. For details contact: Paul D. Perreault c/o Stanford Telecommunications, Inc. 1195 Bordeaux Dr. Sunnyvale, CA 94086 (418)734-5300, x267 • Westinghouse ZX80/1 Users Club. Newsletter. $1 contribution appreci- ated. For details contact: Jack Fogarty Westinghouse MS 3525 POBox 1521 Baltimore, MD 21203 • Pittsburgh Area Computer Club (Special Interest Group: Sinclair). For details contact: Dick Walsh 1605 Middlecrest Dr. Glenshaw,PA 15116 (412)487-0789 • Chattanooga Area Sinclair Users. For details contact: Dan Williams PO Box 1321 CollegedalcTN 37315 Forming a User Group • Any Evanston, IL, area users inter- ested in forming a group? Contact: Brendan P. Holly 1246 Elm wood Ave. Evanston, IL ROM Disassembly Sinclair ZX81 ROM Disassembly. Part A (the operating system) by Dr. Ian Logan, $15.00. Sinclair ZX81 ROM Disassembly, Part B (calculator rou- tines), $17.00. Sent direct by airmail by the author. U.S. personal checks accepted. Spectrum books in develop- ment. Logan Software (Lincoln) 24 Nurses Lane, Skellingthorpe Lincoln LN6 0TT United Kingdom The ZX80 IK Disassembler for the 4K ROM ZX80 and The ZX81 IK Disassembler for the ZX81 and 8K ROM ZX80. Begins with starting address, a key is calculated and dis- played, manual then gives mnemonic, all numbers displayed in decimal, about 100 bytes of RAM to store MC program for disassembly; RAM mem- ory test provided; addresses of bytes failing the test are displayed. Manual, reference cards, and cassette with disassembler and memory test pro- grams, $9.95 pp. for either 4K or 8K. Further information and catalog upon request. Lamo-Lem Laboratories Box 2382 La Jolla, CA 92038-2382 ZXBUG V3.125. Machine code mon- itor/debugger with full ZILOG dis- assembler. Just under 4K; resides at top of the 16K ZX81; 30 commands. Allows: search of any block for any occurrence of a byte or word, display and altering of main and auxiliary registers, examination of flags, replace- ment in a given block of all occur- rences of a byte with another, moving blocks around in memory, display of Z80 ZILOG Mnemonic disassembler page by page. £7.00. Artie Computing Ltd. 396 James Reckitt Ave. Hull, North Humberside United Kingdom Catalogs/Directories/ Indexes/ • Soft ware Vendor Direc tory. ( 6th ed . ) . Cross referenced index covering 22 systems and over 12,000 software pro- ducts in 300 categories obtainable from 1,800 software vendors and 123 hard- ware vendors. $57.95; with 2 updates in 12 months: $100 or $260 on disk. Contact: Micro-Software Services. Inc. PO Box 482 Nyack,NY 10960 (914) 358-1340 • ZX80/81 Users" Library. A catalog in 3-ring binder format with program- ming tips and abstracts of programs submitted by subscribers and checked by library staff for accuracy and use- fulness. Periodic newsletter. Program prices: $1.50 for IK, $3.00 for 16K. Annual subscription: $25 for U.S.; $32 for non-U.S. For further details con- tact: ZX80/81 Users' Library Suite 434 4614 Kilauea Ave. Honolulu. HI 96816 Periodicals • Imprint Software review program. A quarterly newsletter of software reviews by category. For details con- tact: Software Review Imprint Software 420 South Howes Ft. Collins, CO 80521 (303) 482-5574; Telex 45-4590 In U.K.: Software Review Imprint Software 16 Milton Ave. Highgate, London N6 • ETC: Educational Technology and Communication. A monthly newsletter to help schools, esp. decision makers, to move into the new technology. $36 for one year; $60 for two years. ETC Subscription Department Far West Laboratory 1855FolsomSt. San Francisco, CA 94103 78 SYNC Magazine Programming Programs • PEEK displays 100 memory locations in decimal I Basic); BASE gives con- versions of octal, decimal, binary, hex, hibyte/lobyte (Basic): FPU a PEEK and POKE Utility, a fully documented monitor (Basic and me). All four pro- grams on standard cassette and full documentation (64 pp.; 8 1/2 x 11) for $24.17. Bidirectional Dictionary gives 2 lists: from Decimal OP CODE arranged numerically to Assembler Mnemonic and from Assembler Mne- monic arranged alpha-numerically to Decimal OP CODE. Joseph L. Hartmann 101 Tonnele Ave. Jersey City, NJ 07306 Educational Programs • "Fun to Learn" series. 8 cassettes: English Literature I and II, Geography, History, Mathematics, Inventions, and Music. $12.95 per cassette. $1.95 s&h per order. Sinclair Research Ltd. 3 Sinclair Plaza Nashua, NH 03061 Business/Household • Vu-Calc constructs large tables for purposes such as budgets, finances, and projections ($14.95). Vu-File stor- age and retrieval for collections, accounts, directories, membership lists ($14.95). The Collector's Pack holds up to 400 records in each of 6 cate- gories ($17.95). The Club Record Con- troller holds names, addresses, phone numbers, and 5 additional categories for up to 100 members on one cassette ($17.95). $1.95 s&h per order. Sinclair Research Ltd. 3 Sinlair Plaza Nashua, NH 03061 • ZX81 Personal Banking System. Keep detailed records of your finances; uses unique machine code to store all transactions in datafiles on cassette separate from the program. Cassette and 12 page manual for $20. Large SAE for details. J. P. Gibbons A.I.B. 14 Avalon Road Orpington, Kent, BR6 9AX United Kingdom July/August 1982 • Check Register, Inventory, and more programs for the ZX81 ( 16K to 64K). Makes full use of the 64K. Can be user defined to your RAM size. On high energy cassette $9.95 plus $1.00 sv!vh. Brittanysoft, Ltd. PO Box 1043 Twin Falls, ID 83301 1208)324-3086 • Coin Collection, Stamp Col lea ion, and Baseball Card Collection. Data- base inventory programs using menii and descriptive prompts for ZX81 and ZX80 or MicroAce with 8K ROM. 16K RAM. Cassette (guaranteed loading l and manual. Each title $4.95 plus $1.05 s&h. SASE for free catalog. M. C. Hoffman POBox 117 Oakland. NJ 07436 Graphics Programs • GRAPHIX. Image processor. No more tedious number punching to "draw" on the screen. Features: trans- ferable images, image mixer, image reverser, up to 12 "files." ZX81/ZX80 (8K ROM); 16K RAM. $5.99 incl. post- age. Nick Godwin 4 Hurkur Crescent, Eyemouth, Berwickshire TD 14 5AP Scotland • The Artist creates drawings and paintings on the screen. Features: user's choice of brushes and back- grounds, free mixing of graphics and alphanumeric^, easy specification of lines and circles, ability to store com- plex patterns and reproduce them anywhere on the screen. Cassette and instructions for $10. KSOFT 845 Wellner Rd. Naperville,IL60540 RAM Expansion • EconoTech 16K RAM Pack. Uses NMOS dynamic RAMs, standard 4116 memory chips, and Sinclair power pack. Tight-fitting 44-way edge con- nector with gold-plated contacts plugs into expansion port; designed to pre- vent wobble. Compatible with ZX Printer. RAM pack with 6-month guar- antee and comprehensive instructions £19.95 (including VAT) plus £1.50 s&h to anywhere in the world. For further details contact: EconoTech 30 Brockenhurst Way London S Wl 6 4UD United Kingdom 2K RAM kit for ZX81 users with IK RAM. Increases program size (with filled screen) by more than 10 times. Kit includes: 2K-byte IC. 2 pan socket, lumper, solder, and easy instructions. $29.95 postpaid. Micro Logic Corp. PO Box 174-ZB Hackensack. NJ 07602 (201)342-6518 Light Pen • Light pen for ZX81 users. Palm-sized plug-on module with three modes: DRAW. ERASE, and CLEAR. Allows entering complex graphics by just touching the screen. Upper 90% of screen is free for graphics: lower portion divided into three zones for changing modes. Virtually eliminates the PRINT and PLOT statements. Images held in strings to be stored on cassette if desired. $69.95. ZODEX East Hill Oakham, MA 02068 Interference Control • Toll Free Interference Control Hot Line. Experienced staff will analyze problem situations and make specific recommendations for control of pro- cessor or peripheral interference. Hot line: 1-800-225-4876 between 9 a.m. and 4 p.m. Eastern Time Monday through Friday. Free 40 page Inter- ference Control Product Catalog. Electronic Specialists, Inc. 171 S. Main St. PO Box 389 Natick, MA 01760 (617)655-1532 Fairs and Workshops MICROSCENE BRUM 82. A big ZX80/ZX8L Spectrum show in the center of Britain's second city: Bingley Hall, Birmingham 1 on 1 1 September, 1982. Advance tickets £1; advance brochures £1. Send to: Microscene 6 Battenhall Road Harborne Birmingham B17 9UD United Kingdom Games • Backgammon ($9.9S>. Chess <$12.»5,. Fantasy Games ($8.95), Space Raiders and Bombers ($8.95). Flight Simulation ($9.95). 8 different Super Program cassettes ($8.95 ea.). $1.95 s&h per order. Sinclair Research Ltd. 3 Sinclair Plaza Nashua. NH 03061 S 79 50 NIFTY 1K PROGRAMS FOR THE ZX81 WIDE ASSORTMENT OF ACTIVITIES, GAMES, UTILITY PROGRAMS, ETC. MANY WITH GRAPHICS $9.95 INCLUDES POSTAGE/HANDLING LEE CARTER BOX 246 HARRISON, ME. 04040 16K INSIDE?!! No Bulky Add-ons! Leaves back connector free for printer or peripherals! Inexpensive using your parts. Can be assembled and installed by anyone who can use a soldering pen. Complete instructions, including schematic, parts list, suggested Board layout, assembly and instal- lation. $7.95 With optional pre-made P.C. Board. $18.95 from: Independence Research P.O. Box 1497 Orem, Utah 84057 Index to Advertisers Aardvark. 19 Acts Audio 6 Aerco 61 AHex 11 Andrew Development 35 Apropos Technology 36 Audiograph. 45 Automata Ltd 69 Banta Software 28 Barlog Software 73 B & B Software 32 Berch, Bob 73 Biocal Software 72 Bridge Software 55 Bruce, D. Electric 33 Byte Back Co 15 Carter, Lee ... 80 C.E.D. Corp 34 Cook Labs 23 Computer Continum ... 73 Cosmonics 10 DRRP 72 Data Assette 56-57 Doran Engineering 69 Down East Computers ... 72 E-Z Key. 69 Edson Electronics 44 Erza Group II Cover 3 Florida Creations 67 Fulcrum Products 10 Furlong, Peter Products ., 32 Gladstone Electronics 40-41 Hargrave, P 72 Heath Computer Services 6 Hewson Consultants 54 Hunter 8 Huntington Computing 65 Hurricane Electronics 20 Hurricane Electronics Labs 75 Independent Research 80 Intellectual Games 72 J C Software 60 JEU Intelligent 44 JRS Software 1 Kayde Electronic Systems 9 K B Enterprises 21 Koala Softbear 28 Lambs Software 62 Leading Edge Cover 4 L.J.H. Enterprises 52 Maples, William 75 Memotech 2 Micro Computers Plus 5 Micro-80 59 Micro Logic 62 Mind ware 46-47 Mohr & Associates .. ■ 55 N G M Inc 44 Nirad 54 Nooter Stock Program — 58 Non-Trivial Solutions 12 Omni Technology — • 8 P & B Software 62 Peak 20 Professional Electronics 60 Redditch 52 Reston Publishing Co., Inc 7 Rose Cassettes 60 Ruskraft Engineering ., 77 Scelbi 69 Chris Shiotz 60 Servitronics - 77 Sinclair Applications Cover 2 Sinclair Place 35 Sinclair Research 25, 26, 27 Sinware 37 Softsync Inc 13 Strategem Cybernetics . 71 Synchronize 75 Synchro Selte 42 Syncware ■-• 50 Synergistic Design 51 Systems & Solutions 71 Time Data 52 Walsh & Simmons 77 Webber, Dennis 60 Wisconcic. 24 Woods, Tom 44 WSM Entertainment 33 York 10 73 Young's Computer Publications 21 Zeta Software .33, 67 Zedex 53 Zodex 73 Z X Chess 63 Z X Panding Ltd 75 EZRA GROUP II EZRA GROUP II The ZX81 /80/TS-1000'S are making a name with LOW prices... WE CHALLENGE THE SOFTWARE COMPANIES TO LOWER THEIR PRICES! For TS-1 000/ZX81 /ZX80/8K ROM 1Kand 16K RAM versions Biorhythms 1.00 Graphics Billboard 1 .00 Horse Race 1 .00 SPINNER T.M. (like Rubiks) 16K 2.00 Skew-a-Sketch (like Etch) 1.00 Improved Pause (ZX81) 1.00 Linear Regression 2.00 CHEWTER T.M. (Like Pac M-N) SLOW 2.95 Shootist 2.00 Random MUSIC! SLOW 2.00 Self Addressed Stamped Envelope Gets YOU our Goodies Catalog ALL ORDERS AND CATALOG REQUESTS GET FREE Galactic Messages PROGRAM. EZRA GROUP II EZRA GROUP II P.O. Box 5222 San Diego, California 921 05 (714) 584-8291 MORE THAN JUST ANOTHER PRETTY FACE Says who? Says ANSI. National Standards Institute (ANSI) ^"be fact is all Elephant™ floppies meet or exceed the specs required to meet or exceed all their standards. But just who is "subcommittee X3B8" to issue such pronouncements? They're a group of people representing a large, well- balanced cross section of disciplines— from academia, government agencies, and the computer industry. People from places like IBM, Hewlett-Packard, 3M, Lawrence Livermore Labs, The U.S. Department of Defense, Honeywell and The Association of Computer Programmers and Analysts. In short, it's a bunch of high- caliber nitpickers whose mission, it seems, in order to better disks for consumers, is also to make life miserable everyone in the disk-mnkinn business. How? By gathering together periodically (often, one suspects, under the full moon) to concoct more and more rules to increase the quality of flexible disks. Their most recent rule book runs over 20 single-spaced pages- listing, and insisting upon— hundreds upon hundreds of standards a disk must meet in order to be blessed by ANSI. (And thereby be taken seriously by people who take disks seriously.) In fact, if you'd like a copy of this formidable document, for free, just let us know and we'll send you one. Because once you know what it takes to make an Elephant for ANSI . . . We think you'll want us to make some Elephants for you. ELEPHANT. HEAVY DUTY DISKS. Distributed Exclusively by Leading Edge Products, Inc., 225 Turnpike Street, Canton, Massachusetts 02021 Call: toll-free 1-800-343-6833; or in Massachusetts call coiled (617) 828-8150. Telex 951-624.