Serving Timex-Sinclair Personal Computers

SYNTAX

A PUBLICATION OF THE HARVARD GROUP

VOL. 4 NO. 12

ISSN 0273-2696

DEC., 1983

IN THIS ISSUE

ZX/TS SUBSET OF 2068 PINS

8K Programs

Bingo . 4

Cash Register . 2 0

Cassette Label Maker... 7

Examine MC . 6

Ohm's ZXLaw . 10

ROMCALLS . 8

Unjumble Word Games... 22 2068 Programs Firstloader load your ZX/TS programs and auto-translate to the

TS 2068 . 14

Book Review

Graphics A to Z. . 10

Classified Ads . 22

Dear Editor . 12

Editorial . 4

Games . 4 ,22

Hardware Review

Memotext Specif ics ... .2 0 Zebra Joystick Adaptor. 7 Index to SYNTAX

Nov. 80-Nov. 83 follows. 12

Machine Code . 14

New Products and

Services . 2

News . 1

Program Improvements

E-Z LOADER Fix . 2

VU-CALC Typing . 2

Software Hint

High Line Numbers . 4

Software Reviews

Tax Helper . 19

ZXLR8 . 6

Users' Groups . 2

Index of Advertisers

Simplex Software . 11

Simulusion . 21

The Harvard Group . 5

Aligned with the slot, you will find the pins correspond exactly to the ZX/TS pinout with three exceptions. RAM CS, ROM CS, and 9V are missing and the corresponding pins are empty. Pins outside the ZX/TS connector span perform 2068 functions GND appears on 4 more pins (30 & 32, top & bottom) and +15V on pin 3.

The lack of 9V may be the only barrier to using ZX printers.

SPECTRUM MACHINE CODE ON 2 068

Some Spectrum MC tapes will run on your 2068, The Fruit Machine, for example. Your chances are better if the program is written for 48K. Programs that call keyboard scan routines as IN 64510, 61438, 32766, or 65278 will run if you change these to INKEY$ or STICK commands on your 2 068. Also programs written with MC above RAMTOP are more likely to run. Because Spectrum program memory starts lower than in the 2068, the tape tries to load where the 2068 cannot accept it.

NEW TIMEX CONFIGURATION

OUT (ROSS) : IN(X) : NEW: GOTO start: seems to be the BASIC command line issued by Timex' visionary chairman, T. Fred Olsen. As the UK press report Sinclair's disappointment with results in the US market and a giant new deal with China, the Waterbubble Works is getting the message: patience is a limited virtue.

TIMEX-SINCLAIR USER RESTRUCTURING

Organization of ECC's North American magazine will be restructured, according to observers close to the scene, but no decision has been taken to stop printing. Changes will delay issue 8, for which ECC apologizes.

HAPPY HOLIDAYS TO OUR READERS FROM SYNTAX

1

E-Z LOADER SOFTWARE BUG FIX

Repair your E-Z Loader by just doing these simple steps:

o

LOAD

E-Z LOADER

o

STOP

the program (press shift NL)

0

POKE

16609,0

0

POKE

16610,0

0

POKE

16611,0

o

POKE

16612,0

o

EDIT

line 2, changing inverse to normal R.

0

SAVE

the program using GOTO 2

Now when you reload and execute the program, it works properly.

This fix eliminates the double occurrence of 80 hex at the end of the variables area by substituting NOPs for the erroneous E-Z LOADER code at locations 16609-12.

Ed Gidley, APO NY

SPEED VU-CALC KEYING

As written, VU-CALC delays 0.5 seconds after each keypress. This fix eliminates the delay and simply checks to see if you released the key. If you hold the key more than 0.5 second, it repeats.

POKE 17458,6 POKE 17459,150 POKE 17460,197 POKE 17461,205 POKE 17462,187 POKE 17463,2

POKE 17464,193 POKE 17465,44 POKE 17466,200 POKE 17467,16 POKE 17468,247 POKE 17469,2 01 VA

Greg Pfountz, Roanoke

NEW PRODUCTS AND SERVICES

TAG Software offers 5 educational programs written in ZX/TS BASIC.

For children and young adults, the packages reveal details of program structure. Topics include math, geography, and science. Call 203/723-2479 or write TAG Software, POB 688, Naugatuck, CT 06770.

WORD SINC II+, ZX/TS software word processor provides 42-character printout on ZX or TS2040 printers. Functions include: right- justify, search, replace, delete, move, insert, expand print, select page length, number pages. Provides full character set & punctuation, can use 16-48K memory, auto-repeat keys, and fast keyscan. Embeds control codes in text and uses 32- character, upper-case-only screen. $20 PPD from Gesang Associates, POB 452, Randallstown , MD 21133.

Intercontroller gives you 4 110V outlets individually controlled by your ZX/TS using BASIC ($99.95). Requires Softbox expansion port, ($59.95) which provides 4 software- selected slots for intercontrollers or other accessories, powers your computer, and contains an extra peripheral port. Needs a flexible ribbon connector ($17.95). Phone orders 617/738-5310, or write to Intercomputer, Inc., 358 Chestnut Hill Ave., Boston, MA 02146.

PAYOFF & PAYOUT, two personal money management programs, analyze your credit costs and spending patterns. PAYOFF accepts 12 charge accounts, which may have two interest rates per account, and shows balances, time to payoff, finance charges, and monthly payments. PAYOUT uses named expense categories to record and compare your quarterly spending patterns. Both print details and summaries, and require 16K. $12.95

PPD from ACE SOFTWARE, 2 East Oak Avenue, Moorestown, NJ 08057.

ZX/TS USERS' GROUPS

Memphis, TN: Memphis User Group, New contact person: Andy Boles,

3791 Barron Ave., Memphis, TN 38111 901/346-0890

Victoria, BC: Victoria Sync Assoc. Mr. Dee Schoolingin, Sec-Treas.,

942 Cloverdale Ave., Victoria, BC, Canada, V8X 2T6

2

PRO/FILE Updates starts publishing in Dec. 83 first issue tells how to make ZX PRO/FILE work with the CAI stringy floppy and how to preserve data when increasing memory. Four issues yearly, $9.95 devoted to support of ZX PRO/FILE. Order from Thomas B. Woods, POB 64, Jefferson, NH 03583. Tel: 603/586-7734.

Programmer's Utility EPROM for the Hunter NVM gives you 8 routines: renumber, copy (a block of BASIC), search for all occurrences of input string, delete blocks of lines, REM killer (by block), merge, free mem, & stop autorun program. One USR call takes you to menu and prompts. Relocates to any socket. $18.50 in US & Canada; $20 elsewhere, PPD. Delphic Enterprises, POB 72205, Corpus Christi, TX 78472.

HOT Z-II, revised, expanded to give assembly-language editor, labelling disassembler, single-step debugger. Checks syntax of Z80 mnemonic entry & relocates MC (including itself) can be put on EPROM. Cassette with 16 & 64K versions. Documentation (30pp+) explains how to customize. Current owners upgrade for $15.00. $24.95 + $2 P&H from Sinware, Box 8032, Santa Fe, NM 87504.

Computer Phone Book lists over 400 personal computer databases and explains how to access them. (Not all will be compatible with ZX/TS machines.) ISBN 0-452-25446-9, at bookstores, $9.95 US/$12.50 Canada

Pressure-sensitive thermal labels for TS2 04 0, CAI P4 0, or Alphacom printer. Fan-folded in 1000s for $24.95. E. Arthur Brown Company, 1702 Oak Knoll Drive, Alexandria,

MN 56308. 612/762-8847

Games for Your Timex-Sinclair 1000 Games for Your Timex-Sinclair 2 000 From Dell, available at bookstores, each contains at least 20 games and several pages of hints for changing them. $5.95 US/$7.50 Canada

Sue Currier announces four programs for the 2068 available now, Zeus Assembler provides full-screen edit plus insert, delete, clear line and clear screen, auto line number with renumber, list, and search. Usable with printer. Personal Accountant includes 3 programs bookkeeping, amortization, and address files. Bookkeeping does double-entry books from an entry of one amount and two account names. The reports section presents trial balance, expense accounts, assets and liabilities, and income and expense recap. Each can be printed. Amortization does payment or interest schedules and can print the results. Address files let you keep 3 lines of 40 characters for name and address as well as 2 40-charadter note lines.

Gulpman provides 15 mazes and 9 levels of play in X-man format with sound and graphics. This one can use joysticks.

If you yell in the Cyberzone, the lasers fire! You use your tape recorder as an amplifier to achieve voice control in this game, which is also joystick-compatible.

Expect 2-3 more releases one will be a Monitor-disassembler in about a month. Softsync, Inc.,

14 E. 34th St., NY, NY 10016. 212/685-2080

Five ZX/TS releases include Casino Keno uses 80-number board, displays payoff on demand ($17.95). Money Management balances checkbook without duplicating check Register ($12.95). Loan Finance calculates installment payments for both fully amortized and credit card loans ($14.95). Bond Yields accounts for coupon income and capital gains to output taxable income, current and maturity yields ($10.95). Bond Yields with T-Bill Bond Equivalent Yields includes all bond functions plus converting T-Bill quoted rates to bond equivalents ($14.95). Add $2 P&H for each cassette. MACSHAK SOFTWARE, 73-312 Ironwood Street, Palm Desert, CA 92260.

3

HIGH LINE NUMBERS

BINGO CARD GENERATOR 8K/2K

Did you know your machine does not limit you to 9999 BASIC lines?

If you attach enough memory, you can create up to 16383 lines. The system won't edit lines with statement numbers greater than 9999, but you can create higher numbered lines by POKEing the line numbers into the BASIC line.

Your computer executes and lists these lines. The line after 9999 appears as A000; the highest line, 16383, as G383. GOTOs and GOSUBs to high lines work fine.

(Use the decimal form in GOTOs and GOSUBs KO.)

Since you must POKE the line number, to most easily generate a high line, enter it as the lowest line in your program, then POKE the high byte, always located at 16509 for the first line.

Enter the following lines to see how it works:

255 PRINT "TOP"

POKE 16509,63 254 PRINT "ALMOST"

POKE 16509,63 253 PRINT "AT THE"

RUN

9999 GOTO 16383 RUN

Dave Wood, Lexington, MA

(Reprinted by permission from the Boston Computer Society Sinclair Timex newsletter.)

EDITORIAL

Act now call 1-800/24-TIMEX to ask for customer product support, o Say what you want software or hardware manuals, connector pinouts or schematics, service or technical manuals, ROM source code whatever, o Don't justify your request, o Leave your name and address, o Avoid threats of complaints to the FTC, Attorneys General, or Postal Officials allow Timex the chance to consider its options, o Be brief, calm, and polite KO.

One day we needed bingo cards in a hurry. This program arose out of necessity to generate regulation bingo cards.

Non-bingo players may find the quick way it generates random num¬ bers interesting. I set up the numbers I want the computer to sel¬ ect from in variable X$. The com¬ puter takes random slices from the string to get the random sequence, assuring non-repeating numbers. I find this method superior to con¬ ventional random number choosers that compare each number generated to all those that came before it.

I use the COPY command in the immediate mode to print the bingo card, but you can add 135 COPY for automatic printing.

Frank Terranella, Sloatsburg, NY

SYNTAX HAS ARRANGED THE FOLLOWING HOLIDAY PROMOTION WITH MINDWARE INC. ! !

SjC PRICES NEVER AGAIN TO BE REPEATED ^

THE MW-100 PLAIN PAPER PRINTER THOUSANDS SOLD AT $119.95 - SPECIAL CLOSE-OUT

SPECIAL CLOSE-OUT PRICE - $49.95 plus $4.95 for shipping.

90 day parts warranty. All units are factory original.

Mindware’s MW-1 00 gives you the ability to make hard copies of programs, data, mailing lists, and screen graphics

PRINTER IS COMPATABLE WITH :

$49.95

SINCLAIR ZX-81

TS-1000

TS-1500

plus $4.95 for shipping

BUSINESS SOFTWARE SPECIAL :

Choose any combination of three from the following ten programs - Retail Value up to $74.85

sags

m

m

MATRIX THE FAST ONE

PLANNER Store, organize

An all-purpose and retrieve

electronic data instantly

spreadsheet $24.95

$22.95

Z-TEXT INVENTORY

A useful word CONTROL

processing Two ways to

program keep track of

$19 95 inventories.

$22.95

FORECASTING SLIDE SHOW GRAPHS Creates and

Analyzes runs video

growth display shows

trends and $22.95

plots graphs $22.95

CRTTICAL NUMERIC

PATH Solves math

Gets complex formulas and

scheduling draws graphs

under control $24.95

$19.95

TOOLKIT SCREEN KIT

Shortcut Routines to

commands for enhance

programmers screen

$19.95 displays

$19.95

any 3 assorted for

$34.95

plus $4.95 for shipping

SPECIAL

* PRINTER & SOFTWARE BUNDLE *

* ANY 3 PROGRAMS & THE MW-100 PRINTER *

* JUST $79.95 plus$4 . 95 shipping! ! *

GAME SOFTWARE SPECIAL:

Choose any combination of three from the following nine programs - Retail Value up to $51.85

MONITOR GULP

Tests and Gobble your

debugs way through

programs in mazes, chased

machine code by ogres

$19.95 $15.95

LABYRINTH PILOT

Can you find Cockpit

your way controls

through that teach you

3-0 corridors9 howto

$15 95 navigate

$1995

GRAPHIC GOLF CROSSWORD

A challenging Create and play 18-hole your own

golf course crosswords

$9.95 $15.95

ANAGRAMS WORD TEST

Try to put the All kinds of

scrambled question and

words answer tests,

back in order $15.95

$15.95

■an

c-P^

#' +

MULTIPLE COSMOS

CHOICE Hyperspace

Can you pick laser battles

the correct among the

answer? stars!

$15.95 $15.95

any 3 assorted for

$26.95

plus $4.95 for shipping

Phone and written orders gladly accepted.

Money Orders, VISA, MC or checks.

Phone Number - 617-456-3661

Call or write ; The Harvard Group, Dept. ESX R. D. 2, Box 457 Harvard, MA 01451

EXAMINING MACHINE CODE 8K/1K

When working with machine code in USR routines, you need a conven¬ ient way to check and edit it. Add this program to the end of another program with MC subroutines. It lets you easily look at any address in memory, leave it alone or change its contents, and automatically go to the next address. On request it returns to the previous address.

Because the routine uses INKEY$ for data entry, run it in SLOW. This method also lets it interpret each character as typed instead of waiting for ENTER.

Give the program a starting address. It prints that address and its contents. To change the contents, enter a one- to three- digit decimal value. If you enter three digits, the computer goes on; if fewer, press ENTER to continue. Leave the contents unchanged by pressing ENTER. Go back to the previous address by pressing /. I find the / character convenient on my keyboard, but you can change line 9565 to check for a more convenient key.

Stop the program anytime by pressing BREAK. You can then run it again with another address.

If you prefer to enter and see data as two-digit hex numbers, sub¬ stitute the following lines:

Nels Anderson, Framingham, MA

SOFTWARE REVIEW

Program: ZXLR8 Fast SAVE/LOAD

System

Type: Utility

ROM/RAM: 8K/16K

Written in: MC, BASIC Listable? Yes

From: Advanced Interface Designs P.O. Box 1350 State College, PA 16801 Price: $11 on tape, $21 on EPROM

ZXLR8 , a versatile and reli¬ able fast SAVE/LOAD cassette stor¬ age system, not only quickly SAVES programs, but also arrays, graphics and binary data (machine code). In addition, you get tape indexing and error checking routines. In all, you get 11 tape system commands plus a calibration program to find the best baud rate for your parti¬ cular system.

After LOADing, the BASIC pro¬ gram asks for a timing and calibra¬ tion value, then for a starting location for the MC, letting you put the routines in any safe RAM. After transferring the MC to the specified address, the computer erases the BASIC program and clears the workspace.

ZXLR8's excellent manual gives you 22 pages of thorough, lucid documentation .

I encountered only one problem with the system: a bad copy on side one of the cassette. Side two LOADed relatively easily.

I recommend ZXLR8 at only $11 for the tape, it's a bargain.

6

Len Harmon, Metairie, LA

HARDWARE REVIEW

Product: Joystick Adaptor

For: Any size system From: Zebra Systems

78-06 Jamaica Ave.

Woodhaven, NY 11421 212/296-2385 Price: $19.95 + P&H

Zebra's plug-in joystick adap¬ tor, a small (1.5"x5,,x0.5") module, lets you attach an Atari-style joy¬ stick to your ZX/TS. The unit plugs onto the rear edge connector and provides another standard ZX/TS connector on its backside for other peripherals. The traces run straight through without buffers.

A standard 9-pin socket (D9S) ex¬ tends from the unit's left side to connect your joystick.

Zebra wired the unit as a direct-connected input port addres¬ sable by any I/O READ request for addresses below port 32 decimal (20 HEX). That is, when A5 , A6 , & A7 , as well as IOREQ and RD go LOW, the port is selected. A single IC on the small PC board performs decod¬ ing and selection. Zebra scraped off the ID numbers of this lone IC, but a quick check of the required decoding makes the identification of the chip's logic fairly simple.

I found both the electronic design and physical construction very basic. The unit attaches directly (though Zebra provides protection diodes) to the D'n lines to indicate which internal switches on the joystick are closed. The port is thus neither buffered nor uniquely addressed and this could cause problems if you use other 10 mapped peripherals at the same time. Zebra says they didn't know of any potential conflicts in port numbers when they designed the adaptor. If any show up they will advise potential users.

Construction looks like "home workshop" type, with some messy solder blobs, short insulation and other minor construction flaws.

Four pages of documentation come with the unit. Although they contain a few typos, the booklet does a good job of explaining the unit's capabilities. On the nega¬ tive side, it provides no schematic and does not mention the partial decoding of the port number.

You must address the unit with a USR call, which non-machine code programmers could find a bother. Also, while you can return to BASIC with the "value" of the activated joystick (with 8 axes), the speed with which BASIC can sort out your response is just too slow for any kind of real arcade action. Zebra will respond to the problem of applying their joysticks to exist¬ ing software by publishing a list of program "patches" to modify your software to use the adaptor. They advised me that patches now exist for Flight Simulator, Dragons, Mazogs and 3-D Monster Maze.

Despite these few negatives, I find the unit worth $2 0.00. You get fair value for your money, even as just a joystick port. I find other potential uses more exciting: cursor control for the handicapped, connection to a $20.00 light pen and an inexpensive 5-line input de¬ vice for use in security and monitoring applications.

Paul Donnelly, Centreport, NY

CASSETTE LABEL MAKER 8K/16K

. /

This program lets you design a three-line label on the screen with all characters available, then just hit "C" to copy as many labels as needed on the printer.

Once printed, you need only a pair of scissors and a little glue for really professionally labeled cassettes .

Lee E. Gayman, Mechanicsburg , PA

E. Arthur Brown now offers thermal mailing labels for the 2040, $24.95 for 1000 (New Products this issue).

7

In testing this program, we found you can edit, rather than re¬ enter, when the messages of lines 620 or 640 appear. Do this:

o Move the cursor right o Key: , + "lst" + xx$ (aTOb) +,,2nd,M o Press ENTER (or NEWLINE)

where 1st and 2nd stand for any string you want to add in those positions. Replace xx with X for the first line, Y for the second, or Z for the third. Use your choice of positions for a and b to slice the string you want to edit.

Hit BREAK to exit. KO

10 REM

8K ROMCALLS 8K/16K

Why reinvent the wheel? Sin¬ clair put useful machine code rou¬ tines in its 8K ROM. Some of us use these routines to great advan¬ tage by CALLing them from machine code. You might like to know the ROM contains 295 unconditional and 27 conditional CALLS, what address calls them, and where they reside.

This program first scans the ROM up to 7679, building a stack of CALLED and CALLING addresses. Then it sorts and displays them. Since it does lots of work, the first two phases take about 20 minutes. The printing procedure follows.

You can see the calls in lines 120-140. All Z80 conditional calls use decimal codes of 196 or greater at intervals of 8. Line 140 checks for these, sending all other codes through. Since no call uses values below 196, line 120 shunts lower values around the loop. Code 205 means an unconditional call; line

8

130 sends this address directly to the call processing routine.

Calls for the Z80 processor:

Value

Call

196

NZ ,NN

2 04

Z ,NN

2 05

NN

212

NC ,NN

220

C ,NN

228

PO,NN

236

PE ,NN

244

P,NN

252

M,NN

Run the program once, SAVE it. Then GOTO 1 000 to review the list (do not RUN). GOTO 2000 LPRINTs the entire list of 322 addresses.

Martin H. Irons, Goshen, NY

EXAMINE THE ROUTINES IN CONTEXT:

this program assumes every byte is instruction not text or address. Our modifications to this program limit the addresses to those within the ROM and do not scan addresses above the last return in the ZX/TS or Spectrum ROMs. We also changed the formula for V$ to permit five¬ digit addresses.

SYNTAX translated this program with Firstloader (this issue) and found the following modifications needed:

LINE

CHANGE

CAUSE

10

DIM (800,10)

ROM

SIZE

30

Delete, was

FAST

MACH

SPEC

100

...TO 14446

ROM

SIZE

230

. . . STR$ (V)+

ROM

SIZE

(STR$ (1+100000)) (2T06 )

240

. . .>9. . .

ROM

SIZE

102 0

...23689...

MACH

SPEC

107 0

... TO 5 ... 6

TO 10

ROM

SIZE

2060

... TO 5 ... 6

TO 10

ROM

SIZE

Spectrum & 2068 use

23689

in 1020.

9

OHM'S ZXLAW - 8K/16K

ZXlaw calculates 4 functions of Ohm's law: Power (P) in Watts, Current (I) in Amps, Voltage (V) in Volts & Resistance (R) in Ohms.

RUN. Input known values as asked (0 if unknown). After you enter two non-zero values, your ZX/TS calculates the other two and displays all four. Press any key to continue BREAK to stop.

Brad Hogg, Swan River, MB, Canada

Type in line 0 as line 1. Then POKE 16510,0. Continue as usual. AZ

; R F M 0 H M 5 aL X L Pi U ( C )

BOOK REVIEW

Title: Graphics: A to Z.

Author: Paul Bingham, Rick Goulian

From: PleasanTrees Programming

7760 N. Hopdown Tucson, AZ 85741 Price: $17.95 ppd., 190 pgs.

This tutorial manual starts at crude BASIC PRINT statement graph¬ ics and goes to machine code graph¬ ic subroutines. It assumes reason¬ able familiarity with ZX/TS BASIC. It begins with a slow but not tedi¬ ous explanation of basic graphic PRINTing and PLOTting and rapidly builds to a MC subroutine blitz.

Starting chapters give pro¬ grams and explanations to draw Ernie of Sesame St. and mathema¬ tical designs (17 examples), print big characters, perform Etch-a- Sketch functions plus horizontal and vertical bar graphing. Chapter 3 covers the screen format, POKEing for faster action, scrolling, and

lO

begins Z80 MC routines with a neat block transfer operation.

Chapter 4, Animation, starts the action, explaining elementary blending technique printing one character over another in quick succession to simulate motion. The flip-book method covered next makes a main canvas in high memory that includes all your graphic elements, then bringing whole blocks of can¬ vas onto the screen at once.

Chapter 5 separates the ad¬ vanced second section, covering miscellaneous, interesting topics: sound generation (using an MC driv¬ er through the TV screen), reset¬ ting RAMTOP without losing vari¬ ables, line numbers beyond 9999, line number 0 and an array of mis¬ takes that cause spectacular crashes. This chapter also wastes a few pages discussing a compiler.

Perhaps the most powerful two chapters follow next, disecting Memotech's HRG (hi-res graphics) packages. The listing alone takes 23 pages and gives memory locations and codes for the HRG. This can help HRG owners understand their $99 unit and use it better. I doubt the unscrupulous will enter the code, transfer it to EPROM and cheat Memotech of well deserved income it takes about 7,000 key¬ strokes just to enter the code.

Finally, chapters 8 and 9 deal with MC in REM statements, using the ROM print routines and advanced screen printing techniques with animation in MC. The final chap¬ ters look tacked on; MC listings given seem virtually undocumented.

I found a few typos in the book and though most programs con¬ tained REM lines, the accompanying text reasonably documented them. I felt a little short-changed by the last two chapters and would like to see them expanded.

Overall I consider Graphics:

A to Z a fine treatment of the subject an 8 on my l-to-10 scale.

Paul Donnelly, Centreport, NY

For 16k TS1000, 1500 & ZX81

20 Programs

on 2 cassette tapes

for the amazingly low price of not $39.95.. .not S29.95...0NLY $19.95

FREE TRIAL OFFER!

An Interview with Terrel S. Kareem, President _ Simplex Software, (San Francisco, California) _

Question: How can you afford a free trial offer of a software package with 20 programs on 2 cassette tapes for the price many firms are charging for a single program?

Answer: I believe nearly all software on the market today is overpriced. Most companies attempt to market a wide range of software, and thus have high inventory and marketing expenses. In addition these individual prog¬ rams appeal to only a limited segment of the market. With the HOME- PAC, however, we have only one package to manage, and it appeals to a wide audience. We compensate for our lower margin by our higher volume. Furthermore, we have no programmers to pay since I personally wrote all the programs.

Question: What qualified you to write such a variety of programs?

Answer: To begin with, over 20 years of computing experience, including building a personal computer for my high school science fair in 1963. But being a computer expert does not, by itself, qualify one to create a quality home software variety package. My experience as an educator, a business¬ man and a parent did that.

Question: With so much computer experience yourself, is the HOME- PAC too complicated for the first time user?

Answer: On the contrary. The HOME-PAC is the ideal first software pack¬ age for the beginner. All the programs are easy-to-use (user friendly) and the 21 page illustrated user manual makes running them a snap. In fact, the entire HOME-PAC was developed with the beginning user in mind.

Question: What types of programs are on the HOME-PAC?

Answer: All types. Recreational, games, educational, home finance, scien¬ tific & utility. Programs such as BIORHYTHMS, ANIMALS, STATIS¬ TICS, STAR INVADER, CHECKBOOK BALANCER, LOAN ANALY¬ SIS, COMPU-SKETCH, to name just a few.

Question: How does this offer differ from the popular software maga¬ zine offers?

Answer: A number of ways. First, you don’t have to wait 12 months for all the programs you paid for to arrive. They are all shipped immediately. Second, you get a money back guarantee with the HOME-PAC. Third, and perhaps best of all, the programs and instructions are much higher in quali¬ ty. But don’t take our word for it, try our 10 day free trial.

Question: How does your free trial offer work?

Answer: The HOME-PAC is such a tremendous value, that we are offering a no risk 10 day money-back guarantee. If a customer is not completely satisfied, his purchase price will be promptly refunded, no questions asked. Simply return the HOME-PAC within 10 days in good condition.

Question: How can readers take advantage of this no-risk offer?

Answer: Although the HOME-PAC is available through retail outlets, this money back guarantee is available only by ordering direct from this ad.

Send check or money order for purchase price of $19.95 plus $2.00 to cov¬ er shipping and handling, to SIMPLEX SOFTWARE, 220 N. Centre Street, Dept. A7,

Merchantville, N.J. 08109. Master Card & Visa customers include account number, expiration date and signature (credit card users speed ordering by calling collect 609-662-3458). N.J. residents add 6% sales tax. Offer Good For Limited Time Only.

ii

DEAR EDITOR:

My problem is unusual in fact "rare". I am one of an estimated 75-80,000 Americans with ataxias. These progressive, irreversible neuromuscular diseases weaken and uncoordinate motor and sensory impulses. In my case, while I can type at an apallingly slow rate, I can't load typewriter paper myself.

Since I have a mini-income, I hopefully tried a ZX80 from a 1981 magazine ad. Its operating system (ROM) quite nicely fits some of my special needs, so when 8K ROMS came out, I found a friend to install a dual-ROM switch and rewired Atari keyboard. I believe Uncle Clive's OS is by far the best for me.

Great! But without superior ease and convenience in I/O access, I simply cannot handle it at all. I have never SAVEd a line from it (although others have) and only once LOADed to it in 2 1/2 years! This is because I am unable to manually operate cassette recorders myself and lack speech to get help. With a better keyboard I can easily (though v-e-r-y slowly) program in Sinclair BASIC as well as Z80 MC, but it's lost when I can't SAVE it.

Now a TS-2068, with American- added user-ease, looks (in reviews) almost ideal for me, except for its automatic repeat. Like most of America's 800,000 neuromuscular disabilities (such as MD, MS, ALS, etc.) FA leaves me with too little dexterity to depress the keys lightly and quickly.

How can I program repeat out of TS-2068 as a completely user- transparent MC routine? How do I time it? Where in memory do I put it? I must know what to do beforehand, because I'll have to type my stuff for someone else to enter. No room for hit-or-miss trial on this first one!

Roger Keffer, President Friedrich's Ataxia Group in America Kansas Chapter Lawrence, KS

Timex 2068 and Spectrum provide the ability to change both initial and repeat interval of keys using POKES to system variables. You may set a delay of 4.25 seconds (255/60) by POKEing 23561,255 (first delay) and 23562,255 (subsequent delays). If those don't suffice, I suggest an MC routine to reset those registers frequently or a substitute keyboard scan routine. Readers with other solutions can write to us KO.

Some comments for readers who use Programmers Toolkit 16K by Softsync don't REM out any lines containing GOTO or GOSUB statements when using the RENUMBER routine.

The renumber routine works very well but will not renumber a GOTO or GOSUB if the number that follows does not exist as a line number.

Toolkit instructions don't say so clearly, but you can renumber from any line, not just up to 511.

To use FILL and REVERSE, lift them out of Toolkit and save them as separate line 1 REM statements for use in other programs. FILL uses 19 bytes starting at 32265? REVERSE, 20 bytes at 32284. Use a standard relocation routine.

On my menu-driven programs, I find, since the menu starts at line numbers unique to each program, it helps to reserve variable G for the menu start line number. Then you can find the menu start line and run the program from that line with GOTO G two touches of the G key.

R.H. Mitchell, Willowdale, Ontario

What transistor replaces the ZTX-750 or ZTX-752 in the power converter that makes +12V & -5V for the memory chips in the Sinclair or Timex/Sinclair 16K RAM pack?

J.L. Peeler, Costa Rica

As Syntax reported in May 82, use a TIP34A to replace this transistor. Complete collections of back issues are available see p.23 KO

12

Here's my solution to repair traces on the flexible strip that goes between the keyboard and the circuit board.

Bond a piece of 30 AWG buss wire to the bad trace with a drop of "Krazy Glue." Then fold the end over the end of the strip and cut off the excess.

Ray Moore, San Jose, CA Krazy Glue^ _ Buss Wire

Flex Strip Cut Off Excess

On page 12, Vol 4 No 10, Oct 83 you recommend a 9 VDC source good for 650 mA. What kind of setup do you use to measure this?

Frank Kolar, Fountain Hills, AZ

For those of you who need this kind of basic electronic information, I would recommend The Radio Amateur's Handbook, published by the American Radio Relay League KO

I agree with Paul Donnelly's assessment of The Ins and Outs of the Timex TS1000 and ZX81 I found little new. Your readers may like Timex-Sinclair Interfacing by James M. Downey and Don Rindsberg ($10.95 from Prentice-Hall). A broader selection of projects are described in more detail than in Thomasson's book. Still, it's not perfect there's nothing on PIO's, for instance. It's a good place to start and better value for money.

I purchased a 2068 from Sears, but I'm frustrated by the missing pinout for the two expansion ports. I haven't been able to get one from Timex, either. As a service to your readers could you print pinouts and a full schematic?

Does any body know if Memotech 32K RAM packs use the top 40 bytes of the 8 to 16K block of memory?

Paul W. Hunter, Okemos, MI

Call 1-8 00/2 4-TIMEX & tell 'em what you want ALL OF YOU we'll respond

After months of performing well recently my ZX81 can't LOAD tapes.

On the TV I get several seconds of black and white noise, then noise with broad black and white stripes. Now the screen goes white and after a second or two offers K. Hitting space before I get K doesn't affect the screen. I bought a better tape and entered, ran, and saved a 600- step program. Right after saving it, I loaded it okay. Trying to load it another day produced the same condition.

George F. Putnam, Florissant, MO

I have a ZX 81 with a 16K RAM module. While entering a program my TV screen went black. When I reset the computer all I could get was a clear screen with the K missing from the black square in the lower left corner of my screen. I pressed NEW and ENTER; my screen went black again. Unplugging the 16K module returned things to normal.

Charles Davis, Tompkinsville , KY

Noise makes the computer quit the LOAD and execute NEW. Black on the TV denotes positive signals at the EAR jack; white, no signal. Thus, white-flecked black bars mark drop¬ outs, black marks in white spaces mean noise spikes.

Test with short programs and find out if it goes with recorder, cassette, RAM or computer.

If only newly made tapes LOAD suspect a signal-to-noise ratio problem: a small signal buried in

normal noise or a strong source of noise hiding normal signals. If the noise isn't on the signal at pin 20 of IC1, replace it.

Sounds like Charles' RAM has a problem on data line 7. When you only find this with with a RAM pack look for a bad RAM chip or edge- connector contact KO.

13

FIRSTLOADER FROM ZX/TS TO 2 068

Syntax commissioned a custom program, written by David Ornstein, to convert your existing programs for the 2068 or 48K Spectrums.

This program translates input bytes from ZX/TS tapes to an equal number of output bytes in your 2068 that you must edit, and then save. Codes & program control structures differ in the two designs, making functionally identical programs use different numbers of bytes.

Create the program in two parts the translation table shown here and the executable portion.

Direct tables, such as this, consist of an address, derived from the input code, containing an entry that equals a desired output code. Our table address consists of the CODE of the ZX/TS character +44000. Entries consist of 2068 codes to produce the character, command, or function. If no one corresponding code exists, we pick a substitute to hold the space. Then we edit the translated program as needed.

Use the table shown to produce the translator as Syntax tested it. We suggest you fill the table area with code 127 as you begin. That way, listing the table produces (C) symbols if you miss any entries.

You can modify the translation table to substitute any byte. Add 44000 to the ZX/TS character code, then POKE that address in your 2068 with the code you want the program to contain. Codes below 32 trigger errors in the display.

For example, say you want SLOW changed to REM. You take 228, the ZX/TS code for SLOW, add 44000, and POKE 44228,234— the 2 068 REM code.

You can enter the executable code in whatever form you find convenient we've provided both hex and decimal listings but only the assembler listing is annotated.

Save the 2068 program using SAVE "FIRSTLOADR"CODE 44000,1250. Make several copies & VERIFY each.

To use the tape, CLEAR 43999, then LOAD"FIRSTLOADR"CODE (enter). When the 2068 displays 0 OK, 0:1 Position your ZX/TS tape in the 5- second quiet spot. Activate the loader by typing RAND USR 45000, and observe the red and black stripes in the border area. Then start the ZX/TS tape and observe the stripes again as they change width, indicating ones and zeros in the incoming data.

You will need a lower volume setting than if you were loading to a ZX/TS from the same recorder.

You may find a Winky board eases loading. In some cases a 0.2 uF capacitor in series with the center

14

conductor of the ear cord and a lk resistor shunting the 2068 ear jack permits a wider range of volume settings for the ZX/TS tapes.

When the converter finds the end of the VARS area on the tape it switches from load to convert. At completion, your 2068 will display 0 OK, 0:1. LIST your proram and look for junk. If your translation looks OK, save it to a 2068 tape before you proceed. If the screen fills with garbage, or you get no listing, or LOADing of the ZX/TS tape stops early, type NEW, then try a different volume setting.

Edit the 2068 version to account for differences in comments and codes. Of course you can also add color functions to the 2068 program thus created.

Not all keywords translate sensibly check your output list for the following:

Keyword

CHR$

CODE

FAST

PAUSE 0

PEEK

PLOT

POKE

UNPLOT

USR

SCROLL

SLOW

Shift Q

Action

Change char code Change compared value Delete SpacE Delete or use PAUSE 1 Change address Reprogram

Change address, data

Reprogram SpacE

Change address

Delete SpacE or use PRINT

Delete SpacE

Change SpacE to " " "

Also, the program removes all ZX/TS inverse characters, substituting normal characters, and translates the half-tone character graphics to solid blacks of the same shape.

After editing, save the latest updated and enhanced program for use with the 2068.

By modifying the translation table, you can substitute user- defined graphics as you convert.

You can purchase this program on tape for $19.95 ppd from E-Z Key, Suite 75-STX 711 Southern Artery, Quincy, MA 02169. Call 617/773-1187 to use VISA or MC.

This table shows addresses to POKE, in steps of five, with the values reading lef t-to-r ight for the 5 successive locations. POKE them manually or write a loop to advance the address automatically. These decimal codes correspond to the hexadecimal assembly listing on the following pages.

On the following pages you'll find FIRSTLOADER code, assembled to location 45000. This excludes the translation table. Read columns as follows: hex address, hex code for

instruction, assembler line number (ignore it), assembler label (for human use), then a Z80 instruction mnemonic or assembler pseudo¬ operator, operand mnemonics, and a semicolon followed by comments.

1 5

AFC 8

00100

ORG

AFC 8

CD3CB0

00110

CALL

AFCB

CDDEAF

00120

CALL

AFCE

0607

00130

LD

AFDO

3676

00140

INCASE

LD

AFD2

23

00150

INC

AFD3

1 OFB

00160

DJNZ

AFD5

CD59B0

00170

CALL

AFD8

CD8EB0

00180

CALL

AFDB

C9

00190

RET

AFDC

CF

00200

ERR3

RST

AFDD

03

00210

DEFB

C01 4

00220

E 1 LINE

EQU

CO 15

00230

E2LINE

EQU

AFDE

21 09C0

00240

LOADER

LD

AFE1

1 10C00

00250

LD

AFE 4

19

00260

ADD

AFE5

36FE

00270

LD

AFE 7

A7

00280

AND

AFE 8

ED52

00290

SBC

AFE A

CDFBAF

00300

LL36

CALL

AFED

71

00310

LD

AFEE

7C

00320

LD

AFEF

FEOO

00330

CP

AFF1

2 8E9

00340

JR

AFF 3

CD4BB0

00350

CALL

AFF6

CD2EB0

00360

CALL

AFF9

1 8EF

00370

JR

AFFB

0E01

00380

INBYTE

LD

AFFD

0600

00390

LL3

LD

AFFF

CD44B0

00400

LL32

CALL

BO 0 2

3E7F

00410

LD

BOO 4

DBFE

00420

IN

B006

IF

00430

RRA

BO 0 7

3031

00440

JR

B009

1 7

00450

RLA

BOOA

1 7

00460

RLA

BOOB

1 7

00470

RLA

BO OC

3802

00480

JR

BOOE

1 8EF

00490

JR

BO 10

D5

00500

LL3 8

PUSH

BO 1 1

1 E9 4

00510

LD

BO 1 3

0 6 1 A

00520

LL4

LD

BO 1 5

ID

00530

LL5

DEC

BO 1 6

DBFE

00540

IN

BO 1 8

1 7

00550

RLA

BO 1 9

1 7

00560

RLA

BO 1 A

CB7B

00570

BIT

BO 1C

7B

00580

LD

BO 1 D

38F4

00590

JR

BO 1 F

1 0F4

00600

DJNZ

B021

D 1

00610

POP

B022

2004

00620

JR

B02 4

FE56

00630

CP

BO 2 6

30D5

00640

JR

45000

FNAME

LOADER

B, 7

(HL) ,118; ZX/TS NL HL

INCASE

XLATE

MAKPRG

8

3

49172; ZX/TS E-LINE + 32K 49173

HL ,49161 ; ZX/TS VERSN + 32K DE, 12

HL , DE ; SKIP 12 BYTES HL PT 49173 (HL) , 00FEH ; LOAD AT LEAST 256 BYTES A

HL , DE

INBYTE ; GET BYTE IN C

(HL) ,C ; STORE THE ZX/TS BYTE

A , H 0

Z , ERR3

EFIX ; IF HL=E2LINE ADD 128 TO HI ENDBYT ; BYTE ( IND HL) . LAST BYTE? LL36

C, 1

B , 0

BORDER ; FLIP COLOR A , 0 0 7FH A, (00FEH)

NC , LL7 ; IF BREAK IS PRESSED

C ,LL38 ; IF HAVE A SIGNAL

LL32

DE

E, 148 B , 26 E

A, (00FEH)

7 , E A , E C , LL4 LL5 DE

NZ , LL6 86

NC , LL3

16

B02 8 3F 00650 LL6 CCF

B0 29

CB 1 1

00660

RL

B02B

30D0

00670

JR

B02D

C9

00680

RET

B02E

23

00690

ENDBYT

INC

B02F

EB

00700

EX

B0 30

2Al 4C0

0071 0

LD

B0 3 3

37

00720

SCF

B034

ED5 2

00730

SBC

B0 36

EB

00740

EX

B037

DO

00750

RET

B038

Cl

00760

POP

B039

C9

00770

RET

B0 3A

CF

00780

LL7

RST

B03B

OC

00790

DEFB 12

B03C

CDFBAF

00800

FNAME

CALL

B0 3F

CB79

00810

BIT

B0 4 1

28F9

00820

JR

B043

C9

00830

RET

B0 4 4

78

00840

BORDER

LD

B0 45

EE02

00850

XOR

B0 4 7

D3FE

00860

OUT

B049

47

00870

LD

B04A

C9

00880

RET

B04B

11 1 5C0

00890

EFIX

LD

B04E

7A

00900

LD

B04F

BC

00910

CP

B0 50

CO

00920

RET

B0 5 1

7B

00930

LD

B052

BD

00940

CP

B0 5 3

CO

00950

RET

B054

7E

00960

LD

B055

C680

00970

ADD

B05 7

77

00980

LD

B0 5 8

C9

00990

RET

B059

21 7DC0

01000

XLATE

LD

B05C

7E

01010

LXL 1

LD

B05D

FE76

01020

CP

B05F

C8

010 30

RET

B060

CD65B0

01040

CALL

B063

1 8F7

01050

JR

B0 65

110400

01060

LINE

LD

B068

19

01070

ADD

B069

3E7F

01080

LLIN1

LD

B06B

DBFE

01090

IN

B06D

IF

01100

RRA

B06E

3 OCA

01 1 10

JR

B0 70

7E

01120

LD

B0 7 1

FE7E

01130

CP

B0 7 3

2008

01140

JR

B0 75

360E

01150

LD

B0 7 7

1 10600

01160

LD

B07A

19

01170

ADD

B0 7B

1 8EC

01180

JR

C

NC,LL3

HL ; WAS THAT THE LAST BYTE?

DE , HL

HL , (El LINE ) ; IS HL PAST IND E 1 LINE?

HL ,DE DE , HL NC

BC ; GO BACK TO MAIN ROUTINE

8

INBYTE ; LOOK FOR 1ST INVERSE CHAR 7 , C

Z,FNAME; KEEP LOOKING

; NOW START LOADING ZX CODE A , B ; FLIP BORDER COLOR 2 OR 0

2

( 00FEH) , A B , A

DE ,E2LINE ; DID I JUST LOAD TO E2LINE A , D

H ; COMPARE HI BYTE

NZ A , E

L ; COMPARE LO BYTE

NZ

A , (HL)

A, 128 ; ADD 32K

(HL) ,A

HL ,49277; 1ST BYTE OF 1ST LINE #

A, (HL) ; AT 16509+32K

118 ; IS IT 1ST NL IN ZX D-FILE

Z ; IF SO , YOU'RE DONE

LINE

LXL 1

DE , 4 ; SKIP LINE # & LENGTH

HL , DE

A , 0 0 7FH ; TEST BREAK ON 206 8 A , ( 00FEH) ; GET CHAR IN ACCUM

NC , LL7 ; EXIT IF BREAK PRESSED A, (HL) ; GET BYTE

126 ; CHECK FOR ZX/TS SLUG

NZ , LLIN2 ; GET CODE FROM TABLE (HL) , 1 4 ; SUBST 2068 SLUG DE , 6 ; SKIP SLUG + 5 BYTES

HL , DE

LLIN1 ; DO IT AGAIN

17

B0 7D

E5

01190

LLIN2

PUSH

B0 7E

1 1E0AB

01200

LD

B0 8 1

2600

01210

LD

B0 8 3

6F

01220

LD

B0 8 4

19

01230

ADD

B0 85

7E

01240

LD

B0 86

El

01250

POP

B0 8 7

77

01260

LD

B0 8 8

23

01270

INC

B0 89

FE0D

01280

CP

B0 8B

20DC

01290

JR

B08D

C9

01300

RET

B08E

1 1 7DC0

01310

MAKPRG

LD

B0 9 1

A7

01320

AND

B09 2

ED52

01330

SBC

B09 4

44

01340

LD

B095

4D

01350

LD

B096

C5

01360

PUSH

B0 9 7

2A4B5C

01370

LD

B09A

2B

01380

DEC

B09B

ED5B535C

01390

LD

B09F

D5

01400

PUSH

B0A0

CDBB 1 2

01410

CALL

B0A3

D 1

01420

POP

B0A4

ED53535C

01430

LD

B0A8

Cl

01440

POP

B0A9

23

01450

INC

B0AA

23

01460

INC

B0AB

EB

01470

EX

B0AC

21 7DC0

01480

LD

B0AF

EDB0

01490

LDIR

BOB 1

C9

01500

RET

BORDER

B0 4 4

00840

00400

El LINE

C01 4

00220

00710

E 2 LINE

CO 15

00230

00890

EFIX

B04B

00890

00350

ENDBYT

B02E

00690

00360

ERR 3

AFDC

00200

00340

FNAME

B03C

00800

00110

00820

INBYTE

AFFB

00380

00300

00800

INCASE

AFD0

00140

00160

LINE

B065

01060

01040

LL3

AFFD

00390

00640

00670

LL32

AFFF

00400

00490

HL ; STORE THE BYTE ADDRESS

DE, 44000; TABLE START ADDRESS H,0 ; PUT ZX/TS CHAR CODE IN HL

L , A

HL , DE ; ADDRESS OF BYTE IN TABLE

A , (HL) ; GET BYTE FROM TABLE TO A

HL ; RECALL BYTE ADDRESS,

(HL) , A ; PUT NEW CODE IN OLD ADDRESS

HL

13 ; CHECK FOR 2068 NL

NZ , LLIN 1 ; NO, DO IT AGAIN

; FINISHED THAT LINE DE ,49277; APPEND PROG TO 2068 CONTENT A

HL ,DE ; HL PT 1ST BYTE OF D-FILE

B, H ; BC = NO. BYTES IN PROGRAM

C , L

BC ; SAVE SIZE OF PROG

HL, (23627); ADDRESS OF 2068 VARS

HL

DE, (23635); ADDR OF 2068 BASIC PROG DE ; SAVE PROG SYSVAR

4795 ; CALL ROM INSERT-USE 5717 ON

DE ; SPECT-RESTORE PROG SYSVAR

(.23635) , DE

BC ; BYTE COUNT OF PROG

HL

HL

DE , HL ; DE=DATA DESTINATION HL , 49277 ; START OF STUFF TO MOVE ; BLOCK MOVE

LL36 AFEA 00300 00370

LL3 8 B0 1 0 00500 00480

LL4 B0 1 3 00520 00590

LL5 B0 1 5 00530 00600

LL6 B02 8 00650 00620

LL7 B03A 00780 00440 01110

LLINl B069 01080 01180 01290

LLIN2 B07D 01190 01140

LOADER AFDE 00240 00120

LXL1 B05C 01010 01050

MAKPRG B08E 01310 00180

XLATE B0 59 01000 001 70

Only one change will make this program work with a 48K Spectrum as well. At B0A0H (45216 decimal), we call a ROM routine located at 4795 in the TS2068 and at 5717 in the Spectrum. These routines create an empty space, but you must fill it.

Most of this code is self- contained. Only the routine XLATE, located at 45145, passes a value to the code for MAKPRG. If you modify code, restore the value held in HL on return from address 45151 prior to calling MAKPRG.

18

SOFTWARE REVIEW

Program: Tax Return Helper Type: Home/Business ROM/RAM reqd : 8K/16K

Written in: BASIC From: KSOFT Co.

845 Wellner Road Naperville, IL 60540 (312) 961-1250 Price: $14 for TS1000,

$18 for TS2000

No matter who you are, once a year you must pay income taxes.

Many find the job complicated enough to seek expert help. The most difficult aspect of prepara¬ tion, it seems, lies not in knowing tax law, but in computing the fig¬ ures and correlating entries on the forms. Often various forms or values use another specified value.

Suppose after you complete the form you find an error or an over¬ looked check stub. You may need to make ten changes on the return to correct the omission.

But Tax Return Helper can make preparing and correcting your in¬ come taxes simple and efficient.

This user-friendly program uses an automatic data transfer system that makes it work like an electronic spreadsheet, assuring smooth, accurate data correlation between forms.

Even after you enter data or complete the return, you can easily make corrections. Just enter the new figure on the appropriate line and the computer updates all lines that entry interacts with.

I tested five tax return pro¬ grams. Only this version from KSOFT features this system, similar to those found in professional software packages selling from sev¬ eral hundred to $1000 or more.

With Tax Return Helper you can print the entire form or just copy the screen in a 32-character for¬ mat, then transfer data to federal forms and save everything on tape.

Despite the functional ease of

the software, it exhibits flaws.

For example, I found three consis¬ tent spelling errors annoying but they did not interfere with the program's performance.

Gabriela Abramovici, KSOFT president, assured me that her quality control department fixed the mistakes and future editions will arrive perfect.

In the entire package, the documentation falls short. The poorly written instructions need revision. Although the directions detract from the overall excellence of the package, its user-friendli¬ ness more than makes up for what the instructions lack.

Toward the end of my testing, the cursor developed an apparently benign quirk it changed from its usual inverse space to the word PLOT, then after I entered data to ?LOT . This didn't seem to affect program operation and it returned to normal after the system correl¬ ated the affected lines.

As a result of consisting entirely of BASIC, the program handles interaction within the forms somewhat slowly. As a pro¬ fessional tax preparer, I find this limiting. I'd like a 64K machine code version to allow all the sup¬ plied forms to interact swiftly and interface to a full-size printer. For professional use, I would also like to see form 4972 or maybe Schedule G for income averaging.

All in all, KSOFT presents a superior package for home use. You can get the 1983 edition in Janu¬ ary. The program provides Form 1 04 0 and Schedules A, B, C, D and E. A short test program helps you set the proper loading volume.

As a professional courtesy, I remind you that no matter how you prepare you taxes, you are solely responsible for it and must prove your deductions if audited and pay any additional taxes or penalties.

Victor M. Font Jr., P.0. Box 1436, Bayonne, NJ 07002-6436

19

MEMOTEXT SPECIFICS

Overall, I think Memotech pro¬ duces a powerful word processing module. I would like to add these observations to the Memotext word processor review, just published in SYNTAX Sep. 8 3 :

Major Advantages:

1. Memotext totally redefines KB (keyboard) functions to operate as a typewriter without shift, you type lower case letters, numbers, space and period. Shifted letters become upper case. You can't pro¬ duce graphics. You can get other KB symbols such as <, " and ? using easy special commands and symbols not available on the KB such as !,

# and @ with ASCII character hex code commands, if your printer recognizes them. Letters, numbers and DELETE repeat when you hold the key. You can type very fast.

2. When text contains syntax or command errors, the system displays clear, meaningful prompts before printing or saving.

Serious Disadvantages:

1. Deletes only single characters or erases the entire document no words or lines.

2. Lacks a memory-remaining mode.

Minor Disadvantages:

1. Space key does not repeat.

2. Cursor moves only one character or line at a time.

3. Switching the unit off requires you to reset the computer to clear the screen.

Observations :

1. Right margin justification may fail by one or two characters. It also often puts extra space in poor locations, like between a paragraph number and the first word.

2. The manual lacks example text inputs and the resulting print, and does not illustrate cursors.

Cedric Bastiaans, Los Angeles, CA

CASH REGISTER 8K/16K

Cash Register lets your ZX/TS act like a cash register record keeper for a small retail store.

It records sales to each customer by item number, price, tax (if any) and price plus tax for each item.

It shows each customer's subtotal and gives end-of-day totals.

Enter the tax rate for your area, each item's price, whether it is taxable and the flag to go to subtotal. After each customer an¬ swer Y/N to go to another customer or to ending totals. At line 65, enter Cl if using a TS printer to get printed output as well.

This program rounds all fig¬ ures to two decimal places. I used 0 as a flag because you likely won't find it as a price. If you must use 0 as a price, change lines 85 and 100 to -1. The program requests Y/N to taxable or not.

For a fixed tax rate, delete lines 20 and 25 and change line 92 to LET T=tax rate in decimal form.

REM statements list the vari¬ ables used; delete them if you wish to save memory.

Record up to 50 customers with Cash Register as written. With more memory, increase the higher numbers in line 90 and 190.

If you won't use a printer, delete lines 63-65, 73, 88, 166, 176, 181, 211, 251-254, 311, 341, 361 and 370.

/

Arthur Field, Holden, MA

20

21

UNJOMBLE WORD GAMES 8K/2K

CLASSIFIED ADS

Our local newspaper carries a scrambled word game. This program helps me unscramble any word.

RUN Unjumble in FAST. Until it fills, the screen blanks. For short words, hit BREAK to see the list. If you see no correct word, press CONT for more combinations. Successive screens take longer. In 2K, you can do at most 5 letters.

C. Inman, Harmony, RI

This program isn't fast, but it's persistent. To avoid waiting for¬ ever for a new word that didn't exist, I added this routine to count how many words the computer already came up with. With a word of n letters, you can make n! pos¬ sible combinations. With a five- letter word, for example, 5! means 5*4*3*2 *1 , or 120.— AZ

Reach thousands of ZX/TS users for just $9/line! Send your typed copy (35 characters per line) with check or MO to reach us by the 15th to be published in the next issue exactly as typed. No fractions or cent symbols. Include your phone No. SYNTAX Classified,

RD 2, Box 457, Harvard, MA 01451.

****** LEARN ASSEMBLER EASILY *****

* Machine code doesn't load? *

* Find textbooks confusing? *

************ ZX81 - 16K *********** Loader/saver program on cassette with instructions and intro booklet $14.95 (CA add 6%) + $1.00 P&H CK/MO

ORANGE COAST SOFTWARE CORPORATION

PO Box 951, Midway City, Ca.

92655

SERVICE from SYNTAX:

$ US

o

Zilog Z80-Z80A Tech. Man

7.88

o

Zilog Assy Lang Prog Man

15.75

0

Crash Course in Micros

Hardware and Mach Lang

19.95

0

Exper. in Artfcl Intell

AI Programs for Micros

9.95

0

Programmer's Market

16.95

0

Plastic Micro Charts

Z80 CPU

5.95

8080A & 8085A

5.95

8048 & RELATIVES

5.95

6502 (65XX)

5.95

BASIC ALGORITHMS

5.95

Any 5 charts for

24.95

Shipping & handling charges:

Micro Charts $l/order Books (except Zilog) $1.50/book ORDER by telephone: 617/456-3661

PAY by MC/VISA/AMEX/DINERS

ELIZA FOR 16K T/S. DOES YOUR COMPUTER ANSWER YOU? ELIZA DOES. SIMULATES PSYCHOTHERAPY/COMPUTER INTELLIGENCE. CASSETTE $14.95 SINCLAIR SOFTECH P. 0. BOX 82A SINCLAIR, WY 82334

Just 300 bargains available order only by phone, pay only by credit card The ZX81/TS1000 Home Computer Book by David C. Foyt. Shipped to you for $1 0+$1.5 0 P&H: 617/456-3661

22

SYNTAX is published monthly by a wholly-

owned subsidiary of The Harvard Group.

Syntax ZX80, Inc.

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

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

Publisher: Kirtland H. Olson Consulting Editor: Ann L. Zevnik Technical Consultant: Kirtland H. Olson

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

OUR POLICY ON CONTRIBUTED MATERIAL

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

We welcome program listings for all levels of expertise and written in either Sinclair BASIC or Z80 machine code. Programs can be for any fun or useful purpose. We will test run each one before publishing it, but we will not debug programs; please send only workable listings. Programs submitted on cassette can be tested more quickly and with less chance of error.

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

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

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

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

Whether you can run the program over again and how.

How to exit the program.

The Syntactic Sum (program published in Feb. 81 and Jun. 81; send SASE for a free copy).

What RAM size program requires.

What ROM program uses.

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

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

INTRO. TO COMPUTER PROGRAMMING FOR INFO. SERVICES (TS1 000/15 00) . $20. UCLA Course Notes. MC/VISA (213) 760-8110. Cibbarelli, 11684 Ventura #295, Studio City, Ca 91604.

USEFUL SOFTWARE with USEFUL MANUALS (16k ZX & T/S) How to use it, how it works, how to modify it.... STOCK PLOT. . .MEMBERSHIP DIRECTORY. . .GAMES SCOREBOARD, and more. $14 manual & tape, $9 manual & list? incl. $1.50 P & H (CA res. add 6.5% tax), SEND

FOR CATALOG . Kendric C. Smith,

927 Mears Court, Stanford, CA 94305

Three programs. $12. 50/each. *ZX81 TEXT PROCESSOR* 32K, 2 000 Words cpty. *ZX81 APPOINTMENT CALENDAR* 32K, 50 Events cpty. *TIC-TAC-TOE*16K. Chk/ M.O.to A. Rodriguez ,1605 Penn. Ave. No. 204, Mia. Bch. , FI. 33139

**REMOTE "POWER SQUEEZER" CONTROL** TRANSFORM YOUR ZX81/TS1 00016K RAM INTO A HOME ENERGY CONTROL SYSTEM. POWER SQUEEZER TRANSMITS ON HOUSE WIRING TO BSR RECEIVERS. RECEIVERS AVAILABLE EVERYWHERE. POWER SQUEEZ¬ ER PLUGS INTO CASSETTE PORTS. USER FRIENDLY PROGRAM ON QUALITY CASSET¬ TE + APPLICATION NOTES. 6 MONTH LI¬ MITED WARRANTY. ***$79 . 95***UPS AIR MC & VISA CALL 801-943-9857, OR SEND CHECK/MONEY ORDER (USA FUNDS) TO: GOLDWATER MANUFACTURING COMPANY PO BOX 1715 SANDY UTAH 84091

Fill out the coupon below and mail it to: SYNTAX RD2 Box 457, Harvard, MA 01451

s 12/83

My check is enclosed. ! Please charge my VISA

Make checks payable to: Diner’s Club I i American

SYNTAX ZX80. Inc. Express I ! Mastercard

i i Carte Blanche account

Account number _

Exp. date _ _ Bank number (MC only) _

Signature _ _ _ _

Name _ _ _

Address _ _

City - - State _ _Zip _

YES! Please send me:

The Combination (12 issues of SYNTAX and 4 issues

of SQ) . $39

The Catch-up (SYNTAX Jan. 82-Dec. 83, SQ Winter 82-

Winter 83, plus 1 binder) . $77

The Works (SYNTAX Nov. 80-Nov. 83, SQ Winter 82-

Winter 83, plus 2 binders, a 50% savings) . $97

12 issues of SYNTAX . $29

4 issues of SQ. The Syntax Quarterly . $15

D 1 issue of SQ D Premier D Spring D Summer

Autumn 83 . $4.95

1 Binder . $9 1 issue of SYNTAX . $4

Day phone ( ) _ Evening phone (

My subscription number is: _

! This is a new subscription.

Telephone orders call

617-456-3661

These offers expire 1 730 / 84 —SUBSCRIBE NOW.

23

SYNTAX

16K PERSONAL FINANCE PROGRAM TAPES ****RETURN ON INVESTMENT**** Evaluate stocks , real estate, money funds, savings, etc. Rate of return & Gain/Loss. Compare Investments.

******INCOME PORTFOLIO****** Monthly & annual record & graphics. Excellent income tax data record. **Self prompting & Printer copies** $14.95 each, $24.95 both. Check or money order. RAE, 604 Danley Drive, Fort Myers, FL 33907

1983 TAX RETURN HELPER. 5 programs for FORM 1040 & Schedules A,B,C,D,E Data is easy entered and modified on a screen copy of the form. All the lines affected by a change are instantly updated. FORM1040 & Sch.A are corelated. $14 TS1000(16K RAM) $18 TS2068 (+$1.50 s&h) . From KSOFT 845 Wellner, Naperville, IL60540

ZX PRO/FILE: the most advanced best documented file manager you can put in your computer. 16-64K, flexible file size, FAST access, multi-word

search, 59 page text, more . . . $16 . 95 ******************

PRO/FILE Updates-the newsletter for ZX Pro/File users-Mods enhancements Learn about disk, CAI compatibility

4 issues yearly . $9.95

Visa/MC welcome (603) 586-7734 Tom Woods Box 64 Jefferson, NH 03583

************MICR0- load ******* ******

UNUSUAL SOFTWARE *FULLY GUARANTEED** P.0. BOX 1095, T OR C,NM 87901******

(C) VIDEO BLACKJACK: Graphic cards. Player VS computer. Screen scoring. More! * (cassette + instruct) 10.95 (C) WORDTEASE : Game will BOGGLE your mind. On screen scoring and more!!!

*(cassette + instruct) - 10.95

*Requires 16K RAM. GUARANTEED!!!!!! Add $1.50 S&H per order. NJ 6% tax. M.C. HOFFMAN, DEPT. SX12 , P.O.

BOX 117, OAKLAND, N.J. 07436

******game changer interface*******

* TS1000 ATARI 2600 VGS *

Two D.S.T.P. Boards, cable and connectors (uncased fully socketed) Software on cassette plus instructions and documentation.

10K Static RAM +4Kx2K Bank Switch¬ ing Mem. Monitor and 6502 Dis¬ assembler. Emulates 2K, 4K and 8K (Bank Switched) Cartridges.

You can DOWNLOAD-SAVE-DISASSEMBLE- EXECUTE-MODIFY & ORIGINATE GAMES. Assembled & Tested: $139.95 Plus $5.00 S & H (Continental US) MICH Res. add 4%. Send check or Money Order (NO COD) to:

Huron Valley Research Inc P 0 Box 732

* Highland, MI 48031 *

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

H\R\ARD

GROU3

Bolton Road, Harvard, Mass. 01451

U.S. Postage PAID

Harvard, MA

First Class p "iS 8

\