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
\