SYNTAX ZX80’ A PUBLICATION OF THE HARVARD GROUP VOL. 2 NO. 4 ISSN 0273-2696 APR., 1981 SINCLAIR 8K ROM SOFTWARE Sinclair now offers cassette programs for the ZX80 and ZX81 (story p.2) with 8K ROM. These tapes include education, games, and business and home programs. Two more tapes, Junior Education (IK RAM) and Z80 Assembler (16K RAM) , for writing Z80 machine code, will be ready by April. Also available in April or May will be a Learning Lab from Sinclair for the ZX81 and Language Learning, a set of programs to teach modern languages . Sinclair will send a catalog of 8K ROM software with each delivered 8K ROM and tapes will be available in the US. Sinclair has no plans to produce software for the 4K ROM. 8K ROM PRINTER COMMANDS: LLIST — Lists to printer instead of screen, LPRINT- -Directs output to printer instead of screen, COPY-- Outputs screen display to printer. CLASSIFIED ADS IN SYNTAX Now you can buy, sell or swap plans, software or hardware with other ZX80 and MicroAce owners with SYNTAX classified ads. Reach hundreds of readers for only $2.75 per line (minimum 4 lines) . Send your ad copy, typed 35 characters per line, to Classified Ads, SYNTAX ZX80, RD2 Box 457, Bolton Rd, Harvard, MA, 01451. Please include a check with your copy. No credit card or telephone orders . We need your ad by the 15th of any month to appear in the next month's issue. Include your name and address in each ad. NEW PRODUCT UPDATES Latest on Sinclair's new ROMs and RAMs --both are in production and distribution in the UK and Sinclair US expects to receive units shortly. However, Nigel Searle of Sinclair can make no promises, and says that- owners are receiving their ROMs and RAMs in the same order thay bought their computers. Thus North American owners must wait until the European demand is satisfied. Sinclair's 32 Column printer, using aluminized paper, will be available in the UK in June. North American customers can expect to wait until some time after that to order. The printer will work with both the ZX80 with 8K ROM and the new ZX81, and will work with the 16K RAM pack. No word on other previously announced products still awaiting RAMs or ROMs. MicroPeripheral Corp. is still working on their modem design. BACK ISSUES AVAILABLE Volume 1 of SYNTAX, consisting of the November and December issues , is being reprinted as a single combined issue. New subscribers can order the Nov/Dec issue for only $5.00. Send your name, address and check for $5.00 or credit card number with expiration date to SYNTAX, RD 2 Box 457, Harvard, MA, 01451. We also have limited numbers of the January, February, and March issues left, available for $4.00 each. Catch up on all the stories. 1 SINCLAIR ANNOUNCES ZX81 COMPUTER Sinclair Research unveiled a new computer at a press conference in England in mid-March. The ZX81 comes with the same 8K ROM that will be available for ZX80s and IK RAM and sells for 307 o less than the original ZX80 . Sinclair does not plan any export sales so far, and has not submitted the ZX81 for FCC approval in the US. The new machine is smaller than the ZX80 , measuring 6 , 3x6 , 8 xl . 5 inches . It operates in 2 software-selectable modes, fast and slow. Fast is 4 times the speed of slow, and according to Sinclair, compares favorably with other personal computers. The slow mode permits continuous display even while calculating. Sinclair replaced 17 TTL chips with a custom-built chip and included only 1 RAM chip, so the ZX81 has only 4 chips altogether. The ZX81 will also be available in the UK in kit form for about $100 US. USING 8K ROM, 16K RAM ON MICROACES According to Andy Fisher of MicroAce, Sinclair's 8K ROM and 16K RAM pack are completely compatible with MicroAce machines with minor modifications. Andy's instructions : For 8K ROM: Your MicroAce kit has 2 track cuts on board (both sides of pin 21 of ROM chip) and you made 2 links on the board. Before installing the new ROM, repair the cuts using a small piece of wire and remove both links . Cut the track going to pin 13 (data line 3) and the one going to pin 14 (data line 4) of the old ROM. With a small piece of wire, make a link between the sockets of pin 13 of the ROM chip (on the PCB) and pin 18 of U6. Also link pin 14 of the Rom chip and pin 3 of U6. Now plug the new ROM chip into its socket and apply power. For 16K RAM: If you have a IK MicroAce, the 16K RAM plugs in with no changes . If you have a 2K model, remove the extra IK along with U17 . Be sure that the 2 . 2K resistor in the place of R16 is installed! Now plug in the 16K module . MicroAce Owners--Sinclair ' s owner's manual is available by mail from Sinclair Research, 1 Sinclair Plaza, Nashua, NH, 03061, or Image Computer Products . 615 Academy Dr. , Northbrook, IL, 60062, for $5,95, OUR POLICY ON CONTRIBUTED MATERIAL SYNTAX ZX80 invites you to express opinions related to the ZX80 and the newsletter. We will print, as space allows, letters discussing items of general interest. Of course, we reserve the right to edit letters to a suitable length and to refuse publication of any material. We welcome program listings for all levels of expertise. Programs can be for any fun or useful purpose. We will test run each one before publishing it, but we will not debug programs; please send only workable listings. In return for your listing, we will pay you a token fee of $2.00 per program we use. This payment gives us the nonexclusive right to use that program in any form, world-wide. This means you can still use it, sell it, or give it away, and so can wel We will consider submissions of news and hardware or software reviews. Please keep articles short (350-400 words). Again, we reserve the right to edit accepted articles to a suitable length. We will pay 7 cents per 6 characters, including spaces and punctuation, for accepted articles. When you send in programs for possible publication in SYNTAX, please include the following information: • How to operate the program, including what to input if it does not contain prompts. • Whether you can run the program over again and how. • How to exit the program. • The Syntactic Sum (using the Syntactic Sum program in the February, 1981 , issue). • Whether it fits in 1 K or 2K RAM (or 16K when available). We pay for this explanatory text at the same rate as for articles in addition to payment for the program itself. If you want us to return your original program listing or article, please include a self- addressed, stamped envelope. Otherwise, we cannot return submitted material. SYNTAX ZX80 * published monthly by Syntax ZX80, Inc., a wholly-owned subsidiary of The Harvard Group, RD 2, Box 457, Bolton Road, Harvard, MA 01451. Telephone 617 / 456-3661. Subscriptions: 12 issues, $25. Single issues, $4. Publisher: Kirtland H. Olson Editor: Ann L. Zevnik Associate Editor: Susan G. Barber Technical consultant: Eric K. Olson Printed by Joseph E. Marhefka, Jr., Clinton Offset Printers Clinton, MA 01510. © Syntax ZX80, Inc., 1981. All rights reserved. Photocopying prohibited. ISSN 0273-2696 2 HOG HEAVEN— ROM ENTRY POINTS first and last byte locations and the module length, also in hex. For our readers , SYNTAX ZX60 To convert to decimal , see our obtained this complete list of Mar. 81 story on number systems, global subroutine calls for the 4K In later issues we plan to ROM's eight software modules. publish detailed descriptions of Mapped here you will find the some subroutines and we expect to name and absolute hex address for offer readers the opportunity to each global subroutine. We show obtain the annotated ROM listing. BASIC 10 EDIT FIRST 0000 FIRST 013C FIRST 0256 LENGTH 013C LENGTH 011A LENGTH 03B4 LAST 013B LAST 0255 LAST 0609 IGN SP 00 LA DISP 013F K LIST 0256 NXT IS 0020 SAVE 01B6 INIT 0261 N EXPR 0025 LOAD 0206 NEWLIN 0283 P EXPR 0049 DONE 02F7 NEXTCH 0052 DELSYM 036C NC HL 0055 BLEEP 03A7 KB TAB 006C WR DIG 054C TOKENS 00BA PUTDIG 0556 PUT CH 0559 SENDCH 0560 PUTSYM 0584 SYMTXT 05A8 FILLDF 05C2 INSERT 05D5 REMGSZ 05DF LIST SYNTAX IDENT FIRST 060A FIRST 0752 FIRST 0AAD LENGTH 0148 LENGTH 035B LENGTH 0272 LAST 0751 LAST 0AAC LAST 0B1E FIND L 060A SYNTAX 07BE IDENT 0AAD CP B(J 06 1C SYNERR 08AE FIND V 0B3B RECLEN 0624 CHK SZ 09 4F LET 0C3D DEL V 065B CHK L 0958 DIM 0CD3 DELREC 0666 LE05 09E1 LCU2 0CF3 NUMBER 0679 X TEMP 0D0A PUT BC 06A1 ALPHA? 0D14 PUT LN 06BF ALNUM? 0D18 SET SP 06E0 OPNS USR 06F0 FIRST 0D1F PRINT 06F1 LENGTH 00E1 WR NL 07 IB LAST 0DFF WR TAB 0727 OPNTAB 0D1F CLS 0747 MUL 0D55 OPN09 0DCD ABS 0DF2 ROM contents copyright Sinclair Research, Ltd, , CH_SET 1980. Reprinted by permission. Both, Sinclair FIRST 0E00 and SYNTAX ZX80 own copyright interests in LENGTH 0200 this material. Photocopying prohibited, LAST 0FFF 3 HARDWARE NOTES ► Ed Haasch of Greenfield, MI, suggests that you use a DIP header in place of U17 and not remove R16 to connect expanded RAM to your MicroAce. (see "Build Additional RAM" Mar, 81.) By leaving R16 in place, you can use your original 2K by plugging IJ 17 h ack in. Pins 2 & 4 carry the RA M s ignal. Pin 3 is C&l & pin 6 is CS2 . To use a Radio Shack 40-pin connector to connect additional RAM, run a j tamper from data line 7' (pin IT) to pin 23 B in stead of using that space for RAM. (But see the ZX81 pinout following.) We got some surplus 100-pin connectors and cut 46-contact sections from them (23 top and 23 bottom contacts to fit the ZX80 bus). Two hints: First, use a hacksaw blade made for cutting hard materials --the housings are glass-filled. Also, cut on an extra contact point and sand the housing down to size to avoid removing insulation next to the end contact. ►Sinclair’s new ZX81 uses all the edge connector pins with minor changes. Pin 23B is no w used for ROM CS, pin 2T becom es RAM CS, and pin 12T becomes NAY, Because Sinclair's printer is compatible with both designs, you -may want to remember their pin assignments when you assign pins for your designs . ►Some video monitors need external sync signals instead of composite video. For these devices, you must supply vertical and horizontal sync pulses to separate terminals. You can pick up the vertical sync pulses at IC11 (U22) pin 12 for negative-going pulses or pin 10 for positive pulses. Pick up combined horizontal and vertical sync pulses at IC19 % (U13) pin 5 for negative signals or pin 6 for positive signals. Video output appears at pin 4 "A SIMPLE SOLUTION TO A COMMON PROBLEM" ANNOUNCING KEYBOARD for the ZX 80 This low power CMOS circuit ends data entry problems common to Sinclai r-style keyboards by beeping when a key is depressed. Assembled and fits in the case. send $12°° to BURNETT ELECTRONICS 908 MORRIS ST. CINCINNATI OHIO 45206 4 4 ► 4 4 4 ' ( of IC 20 (U18) after the reversing switch. Composite video appears at the junction of R30 and R32, ►Mike Neidich of Syosset, NY, suggests adding a reset switch to avoid having to pull the power plug after every crash. Connect a normally open, momentary contact pushbutton across CIO (C2 in a MicroAce) . Mike says the best attachment points are at the- left end of R4 and the modulator's zero-volt lead. Drill the rear of the case to mount the button. ►Use your cassette's built-in loudspeaker for monitoring while loading. Ted Millen, Don Mills, Ontario, gives these instructions. On the earphone jack, find the two solder points that short together when the jack is removed. Solder a quarter-watt, 100 Ohm resistor across these terminals to feed the speaker when the computer plug is inserted. This technique provides ample monitoring volume and does not affect the computer feed. 4 SOFTSYNC SOFTWARE Softsync, Inc. , offers ZX80 Invasion, a Space- Invaders -like game. Softsync says it uses IK RAM. ($14.95 + $1.50 shipping.) Softsync, Inc. , PO Box 480, Murray Hill Sta., New York, NY, 10156. BAR GRAPHICS This program, written for a 2K MicroAce, draws bar charts on a white background with dark defined lines and a graphpaper-like effect behind the bars. It will choose 10 (0 to 10) random numbers to graph, or you can select them. Line 110 & 120 use SHIFT A; Lines 121, 122 & 133 use SHIFT S. Joe Chaiet, New Paltz, NY Note: This program won't fit in IK unless you delete some lines and improve the IF-THEN sequence efficiency. Any takers?--AZ 1 DIM U(50) 2 LET T=0 3 RANDOMISE 4 PRINT "DO YOU WANT A RANDOM GRAPH OR" 5 PRINT 6 PRINT "DO YOU WANT TO ENTER 10 NUMBERS?" 7 PRINT 8 PRINT "SELECT (1 OR 2)" 10 INPUT Z 11 IF Z>1 THEN GO TO 19 15 FOR X=1 TO 10 16 LET U(X)=RND(10) 17 NEXT X 18 GO TO 60 19 CLS 20 PRINT " THIS PROGRAM WILL P RINT A GRAPH" 21 PRINT "OF 10 NUMBERS FROM 0 TO 10" 23 PRINT 25 PRINT "ENTER" 30 FOR X=1 TO 10 40 PRINT "NUMBER ";X; 45 INPUT U(X) 46 PRINT "?"; UCX) 50 NEXT X 60 CLS 65 FOR X=1 TO 32 68 PRINT CHR$ (128) ; 70 NEXT X 72 PRINT 75 LET X=*ll 80 FOR W=1 TO 10 90 LET X=X-1 91 PRINT CHR$ 0-28) ; 92 PRINT CHR$ (X+28+128) ; CHR $ (2 ) ; 105 LET T=T+1 107 IF T>1 THEN PRINT CHR$(128); CHR$ (128) ; CHR$ (2) ; 109 FOR Y^l TO 10 110 IF U(Y)>X THEN PRINT 'W; 120 IF U(Y)=X THEN PRINT "Ml"; 121 IF Y=10 AND T=1 AND U(Y)