SYNTAX
Serving Timex-Sinclair Personal Computers
A PUBLICATION OF THE HARVARD GROUP
VOL. 5 NO .1
ISSN 0273-2696
JAN. . 1984
IN THIS ISSUE
8K Programs
Biorhythms . 9
Kaleidoscope . 19
Not Entirely Clear . 9
Pi . 18
Renumber . 14
Reuseable Loops . 6
Classified Ads . 22
Dear Editor . 12
Games . 9,19
Hardware Review UM-64 Memory Module.... 4
ROMPAK ROM Card . 5
Hardware Specifications 2068 Connector Pinouts. 8 2068 Port Assignments .22
Machine Code . 14,19
Math . 18
New Products and
Services . 3
News
Sinclair Announces QL..1 New Timex Per ipherals . . 4 Program Improvements
ROM Calls . 2
Cassette Labeler . 2
Software Hint
RAND and AutoRUN . 7
Software Review
Timeblasters . 6
Mazeball . 6
Syntax Errors . 2
Users' Groups . 2
Utilities . 6 ,14
Vendor Report . 2
Index of Advertisers Byte Back Co . 17
SINCLAIR ANNOUNCES QL; PLANS US MKT RE-ENTRY
Sinclair Research, Ltd announced in London a new machine — the Sinclair QL — using the 68008 processor running at 7.5 MHz. Late February should see initial shipments in the UK, with production building to 20,000/mo by summer. Introductory price in the UK is $599, but the US price will likely be $499 when the machine arrives here, perhaps by fall of 84. Specs call for a word-processing quality, 65-key keyboard with 5 keys for functions & 4 cursor control keys. With a monitor, you'll get 85 char, by 25 lines, but only 40-60 characters with TV display. Display outputs to both BW RGB monitors and PAL UHF TV characterize the UK version. Standard memory of 128K with two improved microdrives (100K each) plus bundled software from Psion for word-processing, data base, spreadsheet & graphics make a powerful machine. Although the QDOS operating system & Sinclair SuperBASIC set the machine apart, the multiple-window feature and export/import of files between programs place this design well ahead of similarly priced machines. Up to 6 more microdrives & a Sinclair Local Area Network can attach to this processor. Other features include 32K ROM with provision for 64K ROM cartridges & 4-color high-resolution (512x256) screen or 8-colors at 256x256 dots, 2 RS-232C serial ports and a realtime clock.
Sinclair SuperBASIC is fully procedure- structured and extendable. Execution speed does not depend on program size.
Thorn-EMI produces the QL. Sinclair plans to distribute in the US by mail-order.
SYNTAX expects this machine to be in short supply since it competes functionally with machines currently selling at 2-3 times its projected price. Sinclair interfaces for parallel printers, Winchester disks, & IEEE- 488, as well as 500K memories, will follow.
In other news, Micro-Prolog (a training AI language) is available for the Spectrum.
See page 4 for more ZX/TS news from CES.
i
SYNTAX ERRORS: Change First- loader's translation table to 32 at 44125 and 14 at 44126. Some Upload tapes from E-Z Key share the error. This doesn't affect translations, & both programs run correctly. Use a Winky Board II to load ZX/TS tapes.
Connector diagrams in this issue supercede information published in SYNTAX Dec. 83 pi.
PROGRAM IMPROVEMENTS
To see more ROM calls in Marty Iron's program translated for the 2068, you must change lines 100 and 210 to use 14446 instead of 7679. Expect run time of about 1 hour.
Cassette Labeler needs changes in lines 27 0 and 370 if you want to use full 30-character lines on a 2068 version. Insert PRINT AT 18,0 in both locations.
John Slattery, Chatham Township, NJ
VENDOR REPORT
SYNTAX expects to get its act together by March 84.
Larry Weigel of Synergistic Designs can be reached by telephone through 312/252-6356. Larry says the company expects to move to a new location in the Chicago area by the end of the first quarter.
E. Arthur Brown does not have thermal labels in stock, nor does any other vendor known to SYNTAX.
ECC publications professed no knowledge of any problem with issue 7 of Timex-S incla i r User on 5 Jan 1984. SYNTAX has not received its subscription copy, and we have no report from the UK parent company. If you wish to complain, your bank or credit card company and your postmaster should assist you. Or you may write to Mr. Richard Hease, Chairman, ECC Publications, 196-200 Balls Pond, London, UK Nl 4AQ.
Although the New York Attorney General sends form letters claiming inability to locate any assets, you
should file complaints about FROG. SYNTAX believes the FROG case could be serious — it's crucial to build a substantial file in Albany. Call 518/474-5481 for complaint forms.
ZXLR8 orders will be filled by G. Russell — Electronics. Send new orders to RD 1 Bx 539, Centre Hall, PA 16828 ($11 ppd). Advanced Interface Designs no longer sells this high-speed load-save program.
We have two more complaints about non-delivery from KOPAK. The complainants have neither product nor refund. KOPAK informs us they will ship EZ-LOADER starting Feb. 8.
ZX/TS USERS' GROUPS
To check for a local group that's not listed, or to announce a new group, call 617/456-3661 or write SYNTAX, RD 2 Box 457, Bolton Rd., Harvard, MA 01451. Send SASE for name of group in your area.
Dayton, OH: T/S Research Computer Club, Steve Douglas, 1515 Canfield Ave., Dayton, 45406, 513/278-8163.
Long Island, NY: L.I. Sinclair Timex Group, Paul Donnelly, 10 Idle Day Dr., Centerport, NY 11721.
Send phone number or SASE.
Roanoke, VA: Roanoke-Franklin County Timex-Sinclair Area User's Group meets the first Monday of every month, Salvation Army Hqtrs, 7th St. and Dale Ave., 7-SK pm. Contact Gary Preston, 703/576-2390, or Capt. Jim Worthy, 703/343-5335.
Franklin County, VA: Sinclair Local User Group has changed its name to the Southern Virginia Timex User's Network. Their newsletter, SLUG, now goes by the name of TUG¬ LINES. Contact Gary Preston, Rt 1 Box 21, Glade Hill, VA 24092.
Mexico: ZX/TS Users Group of
Mexico. Contact Miki Kronish,
Apdo. Postal 5-450, Guadalajara, Jalisco, MEXICO.
2
NEW PRODUCTS AND SERVICES
Prentice-Hall publishes two new books for the ZX/TS: TIMEX/Sinclair Interfacing; Tested Interfacing Projects for the ZX80, ZX81 . and Timex/Sinclair 1000 (includes instructions for building a relay controller, A-D and D-A converter, joystick interface, printer interface, memory, etc., including pin-outs and specs for chips used) for $10.95 paperback/$17.95 clothbound, by James Downey and Don Rindsberg; 30 Games for the Timex/Sinclair Computer (simulation, fortune telling, graphics) for $4.95 paperback/$9.95 clothbound, by William Behrendt. Available from Prentice-Hall, Englewood Cliffs, NJ 07632, 201/592-2640.
G. Russell Electronics announces four new products; The SRS Speech Recognition System includes an amplifier and software on cassette for recognizing up to eight spoken words. For TS2068 and 16K ZX/TS at $34.95 assembled, $29.95 kit. COMPCOOLER allows you computer to run cooler by reducing the voltage at the 9VDC jack. $7.95 for ZX/TS (except TS1500). KEY cassette program provides UNLOCK to LIST and SAVE normally unlistable programs, PROTECT to shift programs above RAMTOP, MERGE to combine programs, and BYTES REMAINING to give RAM available. $10.00 for 16K ZX/TS. WINKY 2000 makes loading TS2068 tapes easier and lets you copy any program you can LOAD. Includes monitor jack and LED (avail. Mar. 84). G. Russell Electronics, RD 1 Box 539, Centre Hall, PA 16828.
DO-CALC consists of six linked routines; Calculator© Factorial, Accounting/Statistics, Running Balance, Tranform/Regression, and Compound Interest. Written in BASIC for 16K ZX/TS. $16 ppd. from B.V. Gerber, 3707 Downey Dale Dr., Randallstown, MD 21133.
Banta Software offers three new packages for the 2068. SCREEN- SOLV, an electronic worksheet for engineers and scientists, capable of solving algebraic or trigonometric equations and definite integrals, allows up to 48 user defined variables and six 96 element arrays, incorporation of final formulae into BASIC programs, and 288 step SCREEN-SOLV programs. Results can be tabulated or plotted. Available March 84 for around $35. SCREEN-CALC, a Visicalc-like spreadsheet program, allows up to 1008 cells containing an 8 letter label and a number.
All standard TS BASIC functions may be entered into cells. Other features include sums, averages, conditionals, loops, and menu- driven operation, all for $19.95. FOOTBALL, a colorful, challenging strategy game, offers both offensive and defensive plays for one or two players. $14.00, from Banta Software, 8088 Highwood Way, Orangevale, CA 95662, 916/722-4895.
Robotec Inc. introduces RAMPAGER, a machine code monitor for 16K ZX/TS machines. Allows entry of bytes in hexidecimal, inserts bytes (bumping all other bytes up), displays and prints memory in decimal, hex, and characters. It is NOT an assembler or disassembler, but it is written entirely in machine code and loads in under 75 seconds. $9.95 + $1.25 P&H from Robotec Inc., 59 C St., Ampoint Ind. Park, Perrysburg, OH 43551, 419/666-2410.
Color Graphics deals with practical applications of high resolution graphics on the TS2068. Includes techniques for 3-D drawing, maps, geometric figures, pie, bar, and line charts, characters and shapes, and moving objects on the screen. Contains 45 tested program listings with notes. By Nick Hampshire, $12.95 paperback from Hayden Book Co., 10 Mulholland Dr., Hasbrouck Heights, NJ 07604, 201/393-6306.
3
TIMEX SHOWS NEW PERIPHERALS
Model Description Avail Price
TS2050 Modem Now $120
TS2060 Interface 2Q 84 $110
TS2080 80 Col. Printer IQ 84 $325
TS2065 Microdrive 2Q 84 $65
Timex displayed these products at the 1984 Consumer Electronics Show in Las Vegas. Prices and availability are approximate.
Timex's new TS2050 Modem works with all Timex-Sinclair computers and includes menu driven software on cassette. It features direct modular connection, auto-dial, and auto-answer. An optional command cartridge for the 2068 dials up to 14 numbers and contains automatic logon procedures.
For expanding the capabilities of the 2068, the TS2060 Interface provides buffered bus expansion, RS232-C serial and Centronics parallel ports, a port for an extra 32K RAM. RGB color monitor output with audio, a networking facility for up to 64 TS2068s, and a port for up to 8 microdrives.
Plugging into the Centronics port of the interface, the TS2080 printer provides 80 columns of dot matrix output, including all the characters in the TS2068, in normal or italicized format. It looks like a full sized computer printer, and has a price to match.
The most exciting item shown, the TS2065 Microdrive, reads and writes tiny tape cartridges about the size of a thin book of matches. Each cartridge contains 20 feet of tape in a continuous loop and can store 80 to 100K bytes of data. During formatting, the drive looks for faulty portions of the tape and locks them out; thus the storage figure is expressed as a range. A perfect tape holds 100K. The tape runs at 30 ips, so the entire loop passes in 8 seconds. This translates to a transfer rate of 102,400 baud on a perfect tape.
The Microdrive system supports both program and data files using
standard TS2068 commands such as CAT, ERASE, FORMAT, OPEN, etc. The CAT(alog) command reads the entire tape; there is no single directory area on the tape. The Microdrives are powered from the computer.
Timex imports them from Sinclair while gearing up their facilities.
Sinclair Research demonstrated their flat-screen black and white pocket television, with automatic television standard selection, focus, horizontal and vertical hold, brightness and contrast. It measures 5.5x3.5x1.25 inches, weighs 12 oz., and costs $100. Slated availability: Mid 1984.
Cedric Bastiaans, Los Angeles CA
HARDWARE REVIEW
Product: UM-64 Memory Module
Machines: ZX/TS (not TS2068)
From: Byte-Back Co.
Rt. 3 Box 147 Brodie Rd. Leesville, SC 29070 803/532-5812
Price: $119.95 Assembled
$109.95 Kit +$4.95 P&H
Using bigger memories creates opportunities for greater losses in a crash. Byte-Back's battery-back- up scheme cuts this risk. You'll also get the possibility to have your operating system in RAM (all but the characters), compatibility with the TS1500, switch-selectable banks in the 8-16K area, an EPROM socket you can switch-select into 8-16K, and reasonable documentation from a company that maintains an evening help line.
When power fails, 6 alkaline batteries (AA size) keep power on your system for up to 30 minutes. These backup batteries supply 9V to the entire system, including other peripherals. Don't run high-drain items — like a ZX printer — from the backup system. Also, if you're going to SAVE to tape, you'll need a battery-powered tape recorder.
You'll need fresh batteries to get protection with this circuit because the regulator will drop out at 1.22V per cell. Most cells are rated at end-point voltages of 1.1V or less — you can expect about 1/3 rated life in this circuit. The batteries only operate when power fails, so the calendar time can be quite long. SYNTAX recommends testing the backup feature regularly, with non-crucial data.
If you need longer backup times, you can change to a larger battery holder, mounted externally, or modify the circuit to use a re¬ chargeable pack similar to the ones described in SYNTAX (Aug. 82 p.5).
Don't use the Reset function during battery operation. Doing so would wipe out all memory — not just 16-32K. When you lose power, this backup runs your whole system.
With your UM-64, you get MC & instructions to move your operating system into the RAM, where you can modify the code as you wish. Our simple test modified the graphic character codes to make both the 1 & 2 keys print the 1-key graphic — not sophisticated, but enough to see that we really operated from RAM. Changing the character set code in the RAM will not suffice to change the characters, though. The part of your ZX/TS that reads these codes is isolated electronically from the edge-connector where the UM-64 attaches. One use is to change printer USR calls to use LLIST, LPRINT and COPY.
Byte-Back's UM-64 will work on your TS1500, as well as on the other ZX/TS machines. Of course it doesn't work on Spectrums or 2068s.
SYNTAX could not get the UM- 64, TS1500 and MW-100 printer to function together. By telephone, Jerry Minchey informed us that this is a timing problem for which Byte- Back provides a fix incorporated in later production models than we tested. This fix also allows you to LOAD 32K BASIC programs directly and Jerry will provide it at no
charge to people who need it.
In a nice touch, this memory provides two sets of switches to control the 8-16K block. Four of these disable 2K blocks of internal RAM; four control the address of the built-in PROM socket. If your system uses one set configuration, you won't mind having to open the case to set the switches. SYNTAX constantly reconfigures systems and suggests that you may want to cut a slot in the case.
Documentation includes a parts list, schematic, component layout, and clear directions for use. You also get a clearly stated warranty, a real address, and a phone number.
Construction of this unit uses generally good practice. You will find one piggy-backed IC, a diode, a resistor, and a 3-inch wire that provide a ROM CS function. Also, the battery leads can extend out of the case for your convenience. None of these are, by themselves, bad — but all can cause you trouble in a place with lots of vibration. For most uses, expect no trouble. We like the gold, bifurcated contacts on the connector.
HARDWARE REVIEW
Product: ROMPAK ROM Card
Machines: ZX/TS Machines (not 2068) From: Rompak, 8206 Blackburn
Ave., Los Angeles, CA 90048, 213/653-9741 Price: $16.95 Assem. , with ZIF
$9.95 Kit, without ZIF +$2.00 P&H
ROMPAK permits you to use many programs instantly — cartridges in the rough. An adaptor plugs onto your ZX/TS and provides a socket to contain the program ROM. A simple machine code routine in the ROM moves the program into RAM in under a second, and you're ready to go.
You can buy the assembled type with ZIF (Zero Insertion Force) socket, or the kit with regular socket (ZIF socket separately
5
$4.95). Both versions include an extender to connect other peripherals. Rompak recommends the ZIF socket and SYNTAX advises using the regular socket only for ROMs you will never change.
This product reads 2764 or 2732 EPROMs in the unused 8-16K block of ZX/TS memory. The newest version has a jumper for 2716s.
One page of instructions give all the necessary cautions. Every word on this sheet is important — read before destroying (your ROM, computer, adaptor, or all three).
Components and design of this product show good judgement. Our assembled version is well-built, and uses a bifurcated, gold-contact connector that fits very tightly. Tin-plated extender pins allow you to connect other peripherals. The double-sided glass circuit board is cleanly laid out and well-marked.
Changing ROMs with the Rompak attached to your computer will test your dexterity, as the bottom of the ROM socket lies too near the top of the computer — hold the ROM by the ends. Also, the "1" referred to in step 4 of the instructions is at the top right of the ROM socket. There's also one below and to the left, so watch it.
SYNTAX tested two EPROMS available for this product, one no longer available. The other contains Dan Tandberg's programs Timeblasters & Mazeball. Both require 16K of RAM.
Timeblasters is an arcade game with moving graphics. Your space ship travels to the right (we must be the good guys) and fires at enemies moving leftward. Actually, the background moves by you. Your moves are up, down and fire. But as you miss, time speeds up. With 6 levels of play, you can spend a lot of time getting good at it.
Mazeball extends the classic pong game by bouncing the ball through one of seven mazes. All you gotta do is keep the ball bouncing — HA!
REUSABLE LOOPS — 8K/1K
You can shorten and clarify some of your programs by using one loop and several flag variables to perform related operations. For a sample, let's take a utility that creates, modifies, moves, checks, & prints a ten-byte MC routine.
You could write separate loops for each operation. But, since we always need 10 steps, one FOR-NEXT sequence (100 & 190) will do. Once inside the loop, we do some things on every pass, so we put them first at lines 102-107. Next we test the flag variable, K$, to see which of the choices we want to execute this time. If we cannot complete the task in one statement, we use a GOSUB to a lower line number. When we finish, we send the program back to our elementary menu to choose the next step.
This sample program also includes several methods to save memory. Single-letter variable names, a space variable (S$), and tokens in the menu cut the memory required for this program. You can cut more by substituting variables for numbers, then assigning values to the variables in command mode.
Before you enter this program, set RAMTOP to 17376 (16514+862) on your ZX/TS. This value corresponds to RAMTOP for Syntactic Sum in IK. You can now load ten bytes into the REM statement and manipulate them. Using the POKE option, you over¬ write 10 bytes of Syntactic Sum.
When you enter this program, use only keywords following the colon in line 2. When you operate the program, just touch the key that controls the keyword — 0 for POKE — and the program responds.
One feature needed here, but not implemented, is a test of K$ for keys not on the menu. If you push an unflagged key, the program doggedly traverses the loop ten times, doing nothing, then returns the menu message. SYNTAX would love to see a memory-efficient way
6
to test for "none of the above" in an arbitrary menu.
INPUT lets you enter decimal code that will transform the REM statement to a short machine-code routine. You see the address, put in the code, see the code next to the address, and proceed. Enter 0 to create a NOP, or 201 to for a return, in spaces you don't use.
LPRINT lists the byte number, REM address, code in REM, MC address above RAMTOP, and content of that address to your printer.
PRINT generates the same display on your monitor or TV.
POKE takes the bytes from the REM statement and inserts them 862 bytes higher, above the RAMTOP you set prior to loading the program.
STOP lets you break out of the program to perform other operations of your choice.
To alter the BASIC program for Spectrum or 2068 operation, locate the beginning address of program space, add 5 and substitute the result for the constant 16514.
PEEK 2 3635+256*PEEK 2 3636 gives the address for your 2068 or Spectrum. Set RAMTOP where you want, then change the constant 862 to reflect the difference in REM and RAMTOP addresses .
Spectrum and 2068 users gain nothing by storing machine code in REM statements; these machines let you SAVE machine code. But these instructions will let you try this reusable loop example.
You can expand this program to handle up to 32 bytes by expanding the REM statement and changing the upper value of I in line 100. Do not make those changes until the short version works. This program is slow and will annoy you during testing if you also make it long.
Expanding the concept, you can use several flag variables and more complex tests to make user-friendly routines with one master loop, but many functions. Arrange the tests (IF statements) so the most likely choice is tested first.
RAND AND AUTORUN
RAND will not work properly on ZX/TS machines if the program RUNS automatically when LOADed. Type in this program and SAVE via GOTO 40:
i_ k_- r\ n i '4 l--
Now LOAD "RANDOM" and watch the numbers on the screen. LOAD again and you will see the same sequence! RAND works by counting the frames displayed between the time the program started running and the execution of RAND. When RUN automatically, this number is always the same. Using 50 GOTO 10 instead of RUN yields the same result. To solve this problem, add a PAUSE before RAND, so your program looks like this:
r~: T~i T iv iT £=. xJ T- r*. -L I I
Harold Miller, Ph.D., Clayton GA 7
TS2068 CONNECTOR PINOUTS
This information, from TIMEX Technical Memo #6, is supplied by TIMEX for publication by SYNTAX.
Boldface indicates active low or inverted signals (normally indicated via an overline). The letter B appended to the end of a signal name indicates the TS2068 buffers the signal.
REAR EDGE CARD CONNECTOR
Solder Side Component Side
|
Sig GND |
IB |
1A |
Sig .GND |
|
SPK/TAPE 2B |
2 A |
EAR |
|
|
+15V |
3B |
3A |
A7RB |
|
+5V |
4B |
4A |
D7 |
|
Unused |
5B |
5A |
DZIN |
|
Slot |
6B |
6A |
Slot |
|
POW GND |
7B |
7A |
D0 |
|
POW GND |
8B |
8A |
D1 |
|
0 |
9B |
9A |
D2 |
|
A0 |
10B |
10A |
D6 |
|
A1 |
11B |
HA |
D5 |
|
A2 |
12B |
12A |
D3 |
|
A3 |
13B |
13A |
D4 |
|
A15B |
14B |
14A |
INT |
|
A14B |
15B |
15A |
NMI |
|
A13B |
16B |
16A |
HALT |
|
A12 |
17B |
17A |
_ MREOB |
|
All |
18B |
18A |
IOROB |
|
A10 |
19B |
19A |
RDB |
|
A9 |
2 0B |
2 0A |
WRB |
|
A8 \ |
21B |
21A |
BUSAK |
|
A7 |
22B |
22A |
WAIT |
|
A6 |
2 3B |
2 3A |
BUSRO |
|
A5 |
24B |
24A |
RESET |
|
A4 |
25B |
25A |
Ml |
|
DZOUT |
2$B |
2 6A |
RFSHB |
|
R |
27B |
27A |
EXROM |
|
G |
28B |
2 8A |
ROSCS |
|
B |
29B |
2 9A |
BE |
|
BUSISO |
3 0B |
30A |
IOA5 |
|
VIDEO |
31B |
31A |
SOUND |
|
Sig GND |
32B |
32A |
Sig GND |
Pins 4-26 comprise the ZX/TS compatible pins. Use a 64 pin 0.1" dual readout edge card connector to mate with this card edge. Case clearance: 0.20" (top), 0.25" (bottom), and 0.15" (sides).
ROS (a/k/a DOCK, TCC) CONNECTOR Solder Component
|
_A14B |
1 |
2 |
+5V |
|
A12 |
3 |
4 |
A13B |
|
.00 |
5 |
6 |
D7 |
|
D1 |
7 |
8 |
A0 |
|
D2 |
9 |
10 |
Al |
|
D6 |
11 |
12 |
A2 |
|
D5 |
13 |
14 |
A3 |
|
D3 |
15 |
16 |
A15B |
|
D4 |
17 |
18 |
MREOB |
|
IOROB |
19 |
20 |
A7RB |
|
RDB |
21 |
22 |
Ml |
|
WRB |
23 |
24 |
. A8 |
|
A7 |
25 |
26 |
A9 |
|
A6 |
27 |
28 |
Al 0 |
|
A5 |
29 |
30 |
All |
|
A4 |
31 |
32 |
RFSHB |
|
BE |
33 |
34 |
EXROM |
|
ROSCS |
35 |
_3£_ |
GND |
ROS stands for ROM Oriented Software; TCC stands for Timex Command Cartridge. Use a 36 finger 0.1" double sided edge card with a slot between pins 4 and 6 to mate with this connector. Cartridge bay dimensions: 2.25" (width at bottom), 2.55" (width at top),
0.45" (height), and 3.35" (depth, including edge card fingers).
JOYSTICK CONNECTOR
/
/
/ 5 9
4
8
3
7
2
6
\ 1
\
\_
Pin STICK Signal Meaning
1 1 DIR1 Up
2 2 DIR2 Down
3 4 DIR3 Left
4 8 DIR4 Right
5 Unused
6 1 BUTTON Button Input
7 +5V +5V DC Power
8 RDSTB Read Strobe
9 Unused
(See pp 173-5, 2068 Manual)
Use a female 9-pin D connector (DB9S, Atari Standard) to mate with this. The value STICK returns appears above. STICK reads through the 8912 sound chip I/O port. The actual bit value for the button on this port is 128.
8
SIGNAL NAMES AND MEANINGS
BIORHYTHMS — 8K/1 6K
|
Symbol |
Meanina |
|
Signal GND |
Logic Ground Ref |
|
Power GND |
Power Supply Ground |
|
+15V |
+15V DC Power |
|
+5V |
+5V DC Power |
|
SPKR/TAPE OUT |
Tape MIC jack signal |
|
EAR |
Tape EAR jack signal |
|
R |
Red Color (TTL) |
|
G |
Green Color (TTL) |
|
B |
Blue Color (TTL) |
|
VIDEO |
Composite Video |
|
0 |
System clock |
|
A0-A12 |
Address Lines 0-12 |
|
A13B-A15B |
Address Lines 13-15 |
|
A7RB |
Refresh Addr bit 7 |
|
D0-7 |
Data Lines 0-7 |
|
BUSISO |
Bus Isolate |
|
DZIN |
Daisy Chain In |
|
DZOUT |
Daisy Chain Out |
|
INT |
Interrupt Request |
|
NMI |
Non-maskable Intrpt |
|
HALT |
CPU Halt Output |
|
MREQB |
Memory Request |
|
IORQB |
Input/Output Request |
|
RDB |
Read |
|
WRB |
Write |
|
BUSAK |
Bus Acknowledge |
|
WAIT |
CPU Wait Output |
|
BUSRQ |
Bus Request |
|
RESET |
CPU Reset Input |
|
Ml |
CPU Ml State Output |
|
RFSHB |
Refresh |
|
EXROM |
Extension ROM Enable |
|
ROSCS |
ROS Chip Select |
|
BE |
Bank Enable |
|
I0A5 |
8912 I/O Port bit 5 |
|
SOUND |
8912 Sound Output |
BUSISO tristates all buffered signals (those ending in B) . IOA5 is the 8912 I/O port bit not used by the joystick circuitry. RGB color signals do not include sync (sync must be stripped off VIDEO).
NOT ENTIRELY CLEAR — 8K/1K
Enter this line by hitting 1, CLEAR, cursor back, REM, NOT, /. Execute via RAND USR 16514.
Dan Tandberg, Albuquerque NM
I wrote this program as a result of a great disappointment I experienced after purchasing a Biorhythms program from one of the prominent software companies. The program did not print an accurate set of curves, and did not print a mathematically correct result.
I developed a printing routine first, which works on a PLOT,
PRINT, UNPLOT basis, allowing a sine plot made of letters. The positive half of the curve usually prints first, then the rest of the curve in reverse (negative STEP).
Biorhythms computes time (T) in days and divides it by each cycle length to get the number of cycles since birth. It decides where to print each curve by converting the fraction of each cycle remaining to X PLOT coordinates (J) relative to the date line. The date line displays 2 pixels offset (column 16) to make it read accurately.
With 15 days on each side of the graph date, the completed chart represents a 31-day time spread. Relevant information appears at the top and bottom of the display, for a permanent record if you COPY.
Each date displays after INPUT. After you enter a name, Biorhythms goes into fast mode, usually making the time and offset computations in under 3.5 seconds. The graph printing, taking about a minute and a half, is rather interesting to watch (you wonder where the next curve will hit).
After typing the program, SAVE it with GOTO 1000. It will run as soon as SAVEing completes and after LOADing. Prompts are adequate, but if the program stops a simple "GOTO 150" will bring it right back.
Important variables:
T = Time in days
W = Number of cycles since birth J = Sets start pt of sin print L = Sets start pt of back print
9
Lines 5-45 . Intro display
Lines 145-275 .... Prompts and Input Lines 297-360. .. .Graph Print + Info Lines 37 0-600. .. .Sin Print P,E,I Lines 61 0-71 0. .. .More prompts and
terminate display Lines 82 0-885 ... .Time Computation Lines 89 0-986 ... .X-Axis Offset
Computations
This program uses up about 6.2K of RAM. I have an enhanced version with more user-friendliness and error-trapping features that also prints out a compatibility factor between two persons when given the birth dates of each, within a 10% range for each curve. It uses a little more than 15K of RAM and includes a brief explanation of biorhythm theory.
I will furnish the extended 15K version by mail to anyone for $10.00 post paid.
Doug McRoy 5 Pfister St Laurel, MD 20707
lO
DEAR EDITOR:
For a TS2068 version of Dave Wood's HIGH LINE NUMBERS (SYNTAX Dec. 83 p4) you need only add two PEEKS which locate the line number bytes in memory. Line numbers store as high byte followed by low, reversed compared to most other 16- bit quantities.
On your TS2068, enter as line 1 the line which will be last in the listing (highest line number). Then use this direct command:
LET a=PEEK 23635+PEEK 23636*256: POKE a, (hi byte): POKE a+l,(lo byte) Write down decimal values of POKEd lines (high byte*256+low byte); any line numbered higher than 16383 (63*256+255) won't show on-screen.
To add more high-number lines, enter the next highest line in the listing as line 1. As long as RUN or CLEAR have not been used after defining a in memory, use the direct command:
POKE a, (hi byte):POKE a+l,(lo byte) The highest possible line number is 32767 (hi byte=127 & lo byte=255).
Only lines numbered less than
16383 will function with a normal RUN command, GO TO, or GO SUB.
Lines numbered from 16384 to 32767 will function only by a direct RUN or GO TO and then execute only the statement contained in that line — useful only as a curiosity or to store listings off-screen. When lines numbered 1-9999 are pushed off-screen by a line numbered from
16384 to 32767, and a GO TO is then made to the high-numbered line, it will be processed along with the normal lines which follow it in the listing order.
To EDIT the last line entered, if it doesn't show on-screen, enter the direct command POKE a,l. Lines 10,000 to 16383 may be brought down with EDIT, re-numbered to less than 10,000, revised, and POKEd back to a high number. You can calculate the location of line number bytes after the first line in a listing, but otherwise the only way to EDIT
a line POKEd above 9999 is to delete all preceding lines in the listing, both on- and off-screen.
For locating start of 2nd line:
1 LET a=PEEK 23635+PEEK 23636*256
2 PRINT "Demo"
3 FOR n=a TO a+1000
4 IF PEEK n=l 3 THEN LET a=n+l :
GO TO 10
5 NEXT n
10 POKE a, 10 20 LIST
In comment on the "New image" Timex now has for their 1-800- 24-TIMEX customer support service, in contrast to the rather vague responses most of us received in the past, they very helpfully provided me with a schematic, I/O map, and pin-out as well as an approximate availability date on the forthcoming TS2 000 Advanced Programming Concepts Manual. I greatly appreciate this kind of support and, judging from the amount of time it took me to get a free line on the TIMEX number, I am sure there are many others.
Robert Hartung, Palmyra, NY
SYNTAX (Aug. 82 pl9) describes the illegal line number 3E00H (15872) as the marker for the top of the GOSUB stack in ZX/TS machines. The Spectrum uses the same marker, but we don't know about the 2068. — KO
MAINTAINING THE ZX81
Calling 1-8 00-24-TIMEX seems an exercise in futility. After 4 days of 20-30 calls per day, I gave up. Only twice did I get a ring.
On these two occasions the nice recorded voice told me "everyone is busy, please be patient, someone will soon help you." In about ten seconds, the line disconnected.
I was trying to call about a replacement ULA chip for my TS1000, out of warranty, modified circuit
12
board system. I guess I zapped it with body electrostatic charge, although it broke out while typing in a program.
Testing the system using an oscilloscope I found no clocked signals associated with ROMCS and RAMCS (6.5 Mhz clock was OK).
Since contacting TIMEX was a total failure, I then spent about $30.00 on phone calls, eventually locating a TS1000. Believe me, the inventory of TS1000 computers in the US is very close to zero. If Syntax readers want to obtain a "spare" for their upgraded ZX/TS systems, I advise them to act now. Sunset Electronics (415/665-8330), still has a few at $29.95 as of this writing. Some twenty other suppliers I called have none and cannot get more. For $29.95 plus shipping I can get a spare set of ULA and ROM chips for my future needs. I suspect a spare ULA chip would, itself, cost up to $20.00, if one could be found.
US replacements for British transistors: Sylvania ECG-123AP replaces ZTX-313; ECG-391 replaces ZTX-750 and ZTX-752. Almost any "signal diode," such as 1N34A, will replace any diode on the board.
The crystal located in the circuit between pin 35 of the ULA chip and pin 26 of the Z80 CPU, can be replaced with an ordinary JAN 6.5 MHz crystal (smallest metal can crystal with axial leads). All other parts on the circuit board, except the ULA and ROM chips, may be purchased off the shelf.
Bill Jones, Panama City, FL
Use 1N914 or 1N4148 diodes for the higher forward drop of Silicon. — KO
I think your readers would appreciate the answers to the following questions:
1) Why does the Timex 2 04 0 printer emit heat from its top vent even though I have pressed the
"OFF" button and haven't used the printer in days?
2) The new Timex 2068 computer only seems to have 38K available for programming (16K "BASIC" and 22K "VARS"); why?
3) What peripherals can be used safely with the Timex 1500 computer? (e.g. when I plugged in my 16K Sinclair Rampak the computer went blank and I had to send it back to the supplier. I hear there are problems if you use a Memopak 64K and other hardware not manufactured by Timex).
Wm. McConaghey, Pembroke Pines, FL
TS2040 printers emit heat when off because the switch doesn't turn off the 24V printhead power.
Most computers use some RAM to perform functions that permit your programs to operate. Sharon Aker reports that the Commodore 64 also allows only 38911 bytes for users compared with 38652 in the TS2068. Page 254 of the user's manual shows how a 2 068 uses memory. I know of no 16K BASIC limit in 2068's, but SYNTAX has discussed it at length for ZX/TS operation, including ways to get around it. (Sep. 82 pl3; SQ Summer 83 p47 & Nov. 83 pl2)
TS1500 computers will operate with any accessory that doesn't use RAMCS to disable the internal RAM. On 15 00's, RAMRM moves the internal RAM to 32-48K and leaves it active. Sinclair RAMpaks do work, and Byte- Back memories and modules operate (SYNTAX Nov. 8 3 pl4). We hear that some 15 00's would not drive Timex printers, and the 2040 printer will destroy the data-line timing. See SYNTAX Nov. 83 p2 for details of the fix for 2040-generated problems — KO
PLEASE: Check SYNTAX back issues before you write. We can't reply to individual technical letters or republish data. We must devote our resources to new problems. Phone 617/456-3661 or buy a Works.
13
RENUMBER — 8K/1 6K
Utility programs for renumbering the lines of BASIC programs facilitate merging with other programs, spreading out line numbers to make room for additional lines, and neatening up finished programs. Changing line numbers is easy, but a useful renumbering utility must also fix the destination line numbers in GOTOs and GOSUBs, a more difficult task. This program does the job, although slowly since it is written almost entirely in BASIC.
If you have a program merging utility, RENUMBER can be appended to, and used to renumber, any BASIC program of less than about 12,000 bytes (provided its line numbers initially extend no farther than 9722). Even without a merge utility, RENUMBER can still be useful. LOAD it first, then key in your main program as you develop it.
Note the partial Syntactic Sums given at several points in the listing. When typing in RENUMBER, get a Syntactic Sum at each of these checkpoints and correct any mistakes before proceeding. This will reduce the number of lines you need to search to find your error. Since this is a self-starting program, the final Syntactic Sum reflects the program after it has been SAVEd and then LOADed from cassette .
After typing in RENUMBER, SAVE it to cassette with the command GOTO 9976. Whenever LOADed it will self-start and execute Lines 9978 to 9994, storing two machine language subroutines into high memory. You must set RAMTOP to address 32512 or lower, and NEW to reinitialize the machine stack prior to loading RENUMBER. The machine code loads at addresses 32512 to 32542. It is relocatable, but this requires appropriate changes in Lines 9890, 9892, 9904, 9982, 9990, and 9996.
RENUMBER ignores any GOTO or GOSUB whose destination line number does not begin with a digit. With this exception, RENUMBER correctly handles the renumbering of all (or any part of) a BASIC program.
You must specify what part of the target program is to be renumbered, the new starting line number, and the desired increment between line numbers. If only a portion of the target program is renumbered the user must be very careful in selecting the new starting number and the increment. The line numbers that result from renumbering must be consistent with (i.e., in correct numerical order) the rest of the program, otherwise the resulting program may crash. Note that entering 0 in response to the first prompt renumbers the entire program.
RENUMBER starts by searching the entire program, line by line, (main search routine starts at line 9826) looking for IF, GOTO, or GOSUB statements. When an IF statement is found, the rest of that statement is scanned to see whether it contains a GOTO or GOSUB. If so, the program jumps to the GOTO/GOSUB processing routine at Line 9848. Otherwise it jumps back to the main search routine. Line 9842 avoids misinterpreting bytes within floating point numbers as GOTO or GOSUB tokens, ignoring 5 bytes following code 126.
The core of the prpgram begins at line 9848, the GOTO/GOSUB processing routine. After the token for GOTO or GOSUB Sinclair BASIC puts the codes for the decimal digits of the destination line number, then a "number" token (code 126), then five bytes holding the number in floating-point binary form, then a newline character (code 118). Lines 9848 to 9860 put the characters following GOTO or GOSUB into D$ if it is a number, but if the first destination character is non-numeric it jumps back to the main search routine.
14
Lines 9862 to 9874 determine whether or not the number in D$ is a bona-fide line number within the part of the program being renumbered. If not, RENUMBER jumps back to the main search routine, without making any changes. Otherwise, it determines what position that line occupies in the section of the program being renumbered and puts that position number into variable DC. The new line number will be the position number times the step size plus the new starting line number.
Both the old line number and the new line number may have anywhere from one to four digits (1 to 9722). If the new number is shorter than the old, lines 9886 and 9888 put enough leading zeroes in front of the new number to make it the same length as the old. But when the new number is longer than the old, RENUMBER makes room for it in the program line by moving the rest of the target program (including all of RENUMBER itself) upward in memory by one, two, or three bytes. There is a suitable "make room" routine already available in the system ROM, at address 2459. It moves the memory block starting at the address pointed to by register pair HL and ending at the end of the program, one byte up, adjusting the system variables accordingly.
Lines 9890 and 9892 POKE into memory locations 32512 and 32513 the address to load into HL. The FOR. ..NEXT loop beginning at line 9894 makes one or more USR calls to the machine code routine at address 32514, which in turn loads the stored address into register pair HL and calls the ROM routine to "make room". This loop also adjusts the length bytes of the newly expanded program line.
The "make room" routine moves the bytes of the BASIC line that called it, resulting in the return address being off by one byte and, normally, a crash. BASIC can
easily be tricked into returning to the correct address: Line 9902 gets the address of Line 9904 from system variable NXTLIN and POKES the length of line 9904 so it is one byte too high (15 instead of 14). After the "make room" routine executes, it returns to the location 15 bytes after line 9904. Line 9904 is 14 bytes long, plus the one byte it has been moved by the "make room" routine, so the USR routine returns to the correct address. Immediately after each USR call the phony length of 15 is corrected to the proper figure of 14 by Line 9906. This line gets the address of line 9908 from system variable NXTLIN and looks backward 77 bytes (the total length of Line 9906 plus part of Line 9904) to the address of the low length byte of line 9904.
Lines 9910 to 9914 POKE the codes for the decimal digits of the new line number into the program line. Then Line 9918 gets the address of program variable ND from system variable VARS. Variable ND, originally defined in line 9738, contains the value of the new line number in floating-point form, so Lines 9920 to 9924 simply copy those five bytes into the program line, over-writing the original number. This process repeats for each line in the program containing GOTO or GOSUB. Finally, lines 9940 to 9950 renumber the lines within the range initially specified.
You can erase RENUMBER completely with these two commands:
GOTO 9996 ENTER
9724 ENTER
Line 9996 invokes the machine code routine at address 32521, which calculates the total length of RENUMBER and POKES that number minus 4 into the length bytes of line 9724. Thus when you delete line 9724 the entire RENUMBER program goes with it, leaving your finished main program intact.
C. C. Stalder, Orlando FL
15
I
16
|
ADDR |
7F00 |
00005 |
00006 |
|
DFILE |
40 OC |
00003 |
00016 |
|
ERASE |
7F09 |
00010 |
|
|
MAKER |
7F0 2 |
00006 |
In Stock! ALL NEW MD-2
SMA*T MODEM $119.”
ASSEMBLED & TESTED $149.95
• Send Text from Memory
• Send and receive Programs by Phi
• Copy Information into memory i Print it. Review it. Save it on Tapei
• Use Timex 2040 Printer or RS-232 ^
• RS-232 Printer Port provided
• No extra memory Required.
COMPUSERVE PACKAGE WITH 5 'FREE HOUI^^iY$39 95
64-K MEMORY $109’5k.t
the “ULTIMATE MEMORY” $119.95 ASSEMBLED FEATURES:
• Battery Backup • PROM/ROM socket
• Reset Switch • BYTE-BACK EXCLUSIVE FULL 64-K
WHY PAY MORE FOR LESS FEA TURES?
GET THE “ULTIMATE MEMORY” 8 YTRSACI^S UM-64
KEYBOARD . $59.95
GORILLA/BANANA PRINTER . $239.”
NEW ZX PRO/FILE Including shipping Clearly the Best File Management Program Available. RS-232 PRINTER INTERFACE Only $59.* KIT$69.M ASSEMBLED CONTROL MODULE 8 Relays, 8 Inputs, $59.” KIT $69. w ASSEMBLED 16K MEMORY UM16 $59.»5 KIT$69.»5 ASSEMBLED & TESTED Battery Backup, reset switch, PROM/ROM socket PLUS . . .
1 year, 100% Trade-in credit towards the UM-64.
BYTE BACK CO.
Rt. 3, Box 147, Brodls Road Leesville, S.C. 29070 ORDER PHONE 803-532-5812 Add $4.95 shipping and handling 90 Day Warranty On All Modules. 10— Day Return Prlviledge
|
400C |
00001 00002 00003 |
DFILE |
|
|
7F00 7F00 |
0000 |
00004 00005 |
ADDR |
|
7F0 2 |
2A007F |
00006 |
MAKER |
|
7F05 |
CD9B09 |
00007 |
|
|
7F0 8 |
C9 |
00008 |
|
|
7F09 |
21FC25 |
00009 0001 0 |
ERASE |
|
7F0C |
CDD809 |
0001 1 |
|
|
7F0F |
23 |
0001 2 |
|
|
7F1 0 |
23 |
0001 3 |
|
|
7F1 1 |
23 |
0001 4 |
|
|
7F 1 2 |
EB |
00015 |
|
|
7F1 3 |
2A0C40 |
00016 |
|
|
7F1 6 |
A7 |
0001 7 |
|
|
7F 1 7 |
ED52 |
0001 8 |
|
|
7F19 |
EB |
00019 |
|
|
7F 1 A |
IB |
00020 |
|
|
7F1B |
72 |
00021 |
|
|
7F1C |
2B |
00022 |
|
|
7F1D |
73 |
00023 |
|
|
7F1E |
C9 |
00024 |
; RENUMBER MACHINE CODE
|
EQU |
1 6396 |
|
ORG |
32512 |
|
DEFW |
0 |
|
LD |
HL , (ADDR) |
|
CALL RET |
2459 |
|
LD |
HL ,9724 |
|
CALL |
2520 |
|
INC |
HL |
|
INC |
HL |
|
INC |
HL |
|
EX |
DE , HL |
|
LD |
HL , (DFILE) |
|
AND |
A |
|
SBC |
HL ,DE |
|
EX |
DE , HL |
|
DEC |
DE |
|
LD |
(HL) , D |
|
DEC |
HL |
|
LD RET |
(HL) , E |
; ADDRESS POKED IN BASIC ; GET ADDRESS IN HL ; CALL "MAKE ROOM"
; BACK TO BASIC
; FIRST LINE # IN RENUM ; LOOK UP ADDRESS ; POINT HL TO HIGH ; TEXT LENGTH BYTE ; OF LINE 9 724 ; SAVE HL IN DE ; HL= ADDRESS OF DFILE ; CLEAR CARRY FLAG ; HL=# PROG BYTES MINUS 3 ; RECOVER LEN PTR IN HL ; DE=# PROG BYTES MINUS 4 ; CHANGE HI BYTE LEN 9 724
; CHANGE LOW BYTE LEN 9 724 ; BACK TO BASIC
17
PI — 8K/16K
This program can calculate PI to over 8000 decimal places — but don't hold your breath. It takes over 12 hours for 512 digits! The algorithm uses base 100 arithmetic, storing each digit in one byte of a character string (codes 0-99). It is based on the Taylor series for the arctangent.
First PI prints out 8 digits, then it starts all over again and does 16, then 32 , 64 , etc. If you don't have a printer, change all the LPRINTs to PRINTS and add a STOP at line 6095. Go on to the next calculation with CONT.
Since the program allocates 12K of RAM for the accumulators A$ (1 ) , A $ ( 2 ) , and A$(3), CLEAR before SAVEing to avoid storing lots of variable space to tape.
Blanchard D. Smith Alexandria VA
For the TS2068, translate with FIRSTLOADER (SYNTAX, Dec. 83), then delete lines 60 and 70, add 55, and replace 180:
18
KALEIDOSCOPE — 8K/16K
I resorted to machine code in an effort to write a fast program to display a kaleidoscope pattern on the ZX/TS screen. The resulting images may be viewed on the screen and printed out at will.
In order to get random numbers for the plot locations in machine code, I used the FRAMES system variable (locations 16436 and 16437) to set a pointer into the ROM. The program reads bytes out of the ROM and increments the pointer for each random number. If the pointer goes too high, it is reset to 0. This method shows no visible signs of repetition.
To enter KALEIDOSCOPE, type in listing 1. Put 145 spaces after the message in line 1, and no space between "KALEIDOSCOPE" and "PRESS". Line 20 contains 32 spaces. RUN the program and enter the numbers in table 1. For each number, the display will show an address and wait for you to enter the contents. After you enter a number it will appear on the screen. If correct, hit ENTER, otherwise press any letter key and reenter the number. After entering all 144 numbers, the Syntactic Sum should be 29651.
Now delete lines 10-100 by entering each line number. Type in lines 10-50 as shown in listing 2.
Be sure you are in SLOW mode, then set your cassette to record and RUN. The program SAVEs automatically and RUNs when LOADed. When done SAVEing, the title will appear on the screen for a few seconds, and then the screen will begin flashing somewhat random patterns. Press any key and the main part of the program will begin. To print a copy of the screen, hit any key. You can save a picture on tape by changing line 30 to SAVE "KALEIDOSCOPE". The program stops if you press BREAK.
[This program can generate three-dimensional effects if you print out the screen twice with a
small time for the pattern to change in between. Hold the output sideways and cross your eyes until the two patterns merge; some points appear to recede into the paper and
|
some appear |
to |
jump |
out, |
i |
Ed.] |
||
|
Scott |
H. McGur |
r in. |
Macedon NY |
||||
|
42 |
12 |
64 |
1 |
2 08 |
0 |
9 |
2 35 |
|
33 |
130 |
64 |
1 |
12 |
0 |
2 37 |
176 |
|
2 35 |
1 |
25 |
1 |
9 |
2 35 |
1 |
22 |
|
0 |
237 |
176 |
17 |
0 |
200 |
27 |
122 |
|
179 |
32 |
251 |
237 |
87 |
60 |
237 |
71 |
|
2 05 |
187 |
2 |
36 |
40 |
245 |
62 |
30 |
|
2 37 |
71 |
2 05 |
42 |
10 |
2 05 |
187 |
2 |
|
36 |
32 |
250 |
42 |
52 |
64 |
203 |
180 |
|
203 |
188 |
70 |
35 |
2 03 |
176 |
2 03 |
184 |
|
62 |
43 |
184 |
56 |
245 |
78 |
35 |
203 |
|
177 |
2 03 |
185 |
126 |
35 |
203 |
71 |
32 |
|
3 |
175 |
24 |
2 |
62 |
128 |
245 |
2 05 |
|
41 |
65 |
62 |
43 |
144 |
71 |
241 |
245 |
|
2 05 |
41 |
65 |
62 |
63 |
145 |
79 |
241 |
|
245 |
2 05 |
41 |
65 |
62 |
43 |
144 |
71 |
|
241 |
2 05 |
41 |
65 |
229 |
2 05 |
187 |
2 |
|
36 |
225 |
40 |
186 |
2 01 |
197 |
229 |
50 |
|
48 |
64 |
2 05 |
178 |
11 |
225 |
193 |
2 01 |
Table 1. Numbers to POKE
19
|
00001 |
; KALEIDOSCOPE MACHINE |
CODE |
|||
|
00002 |
|||||
|
400C |
00003 DFILE |
EQU |
16396 |
||
|
4034 |
00004 FRAMES |
EQU |
16436 |
• |
|
|
4082 |
00005 |
ORG |
16514 |
||
|
4082 |
2A0C40 |
00006 PRINT |
LD |
HL , (DFILE) |
|
|
4085 |
01DD 00 |
00007 |
LD |
BC ,208 |
|
|
4088 |
09 |
00008 |
ADD |
HL , BC |
|
|
4089 |
EB |
00009 |
EX |
DE , HL |
|
|
408A |
218240 |
0001 0 |
LD |
HL ,16514 |
; PRINT MESSAGE ON SCREEN |
|
408D |
010C00 |
0001 1 |
LD |
BC, 1 2 |
|
|
4090 |
EDBO |
00012 |
LDIR |
||
|
4092 |
EB |
0001 3 |
EX |
DE ,HL |
|
|
4093 |
011901 |
0001 4 |
LD |
BC ,281 |
|
|
4096 |
09 |
00015 |
ADD |
HL , BC |
|
|
4097 |
EB |
00016 |
EX |
DE , HL |
|
|
4098 |
011600 |
0001 7 |
LD |
BC , 2 2 |
|
|
409B |
EDBO |
0001 8 |
LDIR |
||
|
409D |
1 100C8 |
00019 PAUSE |
LD |
DE ,51 200 |
; TIMING LOOP |
|
40A0 |
IB |
00020 PLOOP |
DEC |
DE |
|
|
40A1 |
7A |
00021 |
LD |
A ,D |
|
|
40A2 |
B3 |
00022 |
OR |
E |
|
|
40A3 |
2 OFB |
00023 |
JR |
NZ , PLOOP |
|
|
40A5 |
ED57 |
00024 DISP |
LD |
A, I |
; DISPLAY SCRAMBLING |
|
40A7 |
3C |
00025 |
INC |
A |
; ROUTINE |
|
40A8 |
ED 4 7 |
00026 |
LD |
I, A |
|
|
40AA |
CDBB02 |
00027 |
CALL |
699 |
; KEY PRESS? |
|
40 AD |
24 |
00028 |
INC |
H |
|
|
4 OAE |
28F5 |
"00029 |
JR |
Z , DISP |
|
|
40B0 |
3E1E |
00030 FIX |
LD |
A, 30 |
; RETURN TO NORMAL |
|
40B2 |
ED47 |
00031 |
LD |
I, A |
; DISPLAY |
|
40B4 |
CD2A0A |
00032 |
CALL |
2602 |
; CLS |
|
40B7 |
CDBB02 |
00033 WAIT |
CALL |
699 |
; WAIT UNTIL NO KEY |
|
4 0BA |
24 |
00034 |
INC |
H |
|
|
40BB |
2 OFA |
00035 |
JR |
NZ , WAIT |
|
|
40BD |
2A3440 |
00036 |
LD |
HL, (FRAMES) |
; POINTER INTO ROM |
|
40C0 |
CBB4 |
00037 RESET |
RES |
6 , H |
; TRIM OFF EXCESS BITS |
|
40C2 |
CBBC |
00038 |
RES |
7,H |
|
|
40C4 |
46 |
00039 VALS |
LD |
B, (HL) |
; RANDOM Y VALUE |
|
40C5 |
23 |
00040 |
INC |
HL |
t |
|
40C6 |
CBBO |
00041 |
RES |
6 , B |
i |
|
40C8 |
CBB8 |
00042 |
RES |
7,B |
|
|
4 OCA |
3E2B |
00043 |
LD |
A, 43 |
|
|
40CC |
B8 |
00044 |
CP |
B |
|
|
40CD |
38F5 |
00045 |
JR |
C , VALS |
; GO BACK IF TOO HIGH |
|
40CF |
4E |
00046 |
LD |
C, (HL) |
; RANDOM X VALUE |
|
40D0 |
23 |
00047 |
INC |
HL |
|
|
4 GDI |
CBB 1 |
00048 |
RES |
6 , C |
|
|
40D3 |
CBB9 |
00049 |
RES |
7,C |
|
|
40D5 |
7E |
00050 |
LD |
A, (HL) |
|
|
40D6 |
23 |
00051 |
INC |
HL |
|
|
40D7 |
CB47 |
00052 |
BIT |
0 , A |
|
|
40D9 |
2003 |
00053 |
JR |
NZ , UNPLOT |
|
|
4 ODB |
AF |
00054 |
XOR |
A |
; 0 FOR PLOT, |
|
40DC |
1 802 |
00055 |
JR |
DOPLOT |
; 1 2 8 FOR UNPLOT |
20
|
40DE |
3E80 |
00056 UNPLOT |
LD |
A , 128 |
|
|
40E0 |
F5 |
00057 DOPLOT |
PUSH |
AF |
; SAVE AF |
|
40E 1 |
CD0741 |
00058 PLOT 1 |
CALL |
PLOT |
; PLOT THE POINT |
|
40E4 |
3E2B |
00059 |
LD |
A, 43 |
; GET SECOND POINT |
|
40E6 |
90 |
00060 |
SUB |
B |
|
|
40E7 |
47 |
00061 |
LD |
B , A |
|
|
40E8 |
FI |
00062 |
POP |
AF |
|
|
40E9 |
F5 |
00063 |
PUSH |
AF |
|
|
40EA |
CD0741 |
00064 PLOT2 |
CALL |
PLOT |
; PLOT THE POINT |
|
40ED |
3E3F |
00065 |
LD |
A, 63 |
; GET THIRD POINT |
|
4 OEF |
91 |
00066 |
SUB |
C |
|
|
40F0 |
4F |
00067 |
LD |
C , A |
|
|
40F 1 |
F5 |
00068 |
PUSH |
AF |
|
|
40F2 |
F 1 |
00069 |
POP |
AF |
|
|
40F3 |
CD0741 |
00070 PLOT3 |
CALL |
PLOT |
; PLOT THE POINT |
|
40F6 |
3E2B |
00071 |
LD |
A , 4 3 |
; GET FOURTH POINT |
|
40F 8 |
90 |
00072 |
SUB |
B |
|
|
40F9 |
47 |
00073 |
LD |
B,A |
|
|
40 FA |
FI |
00074 |
POP |
AF |
|
|
4 OFB |
CD0741 |
00075 PLOT 4 |
CALL |
PLOT |
; PLOT THE POINT |
|
40FE |
E5 |
00076 COPY |
PUSH |
HL |
|
|
40FF |
CDBB02 |
00077 |
CALL |
699 |
; KEY PRESS? |
|
4102 |
24 |
00078 |
INC |
H |
|
|
4103 |
El |
00079 |
POP |
HL |
|
|
4104 |
2 8 BA |
00080 |
JR |
Z , RESET |
; LOOP IF NOT |
|
4106 |
C9 |
00081 |
RET |
; OTHERWISE RETURN |
|
|
4107 |
C5 |
00082 PLOT |
PUSH |
BC |
; SUBROUTINE TO PLOT |
|
4108 |
E5 |
00083 |
PUSH |
HL |
|
|
4109 |
323040 |
00084 |
LD |
( 16432) , A |
; PLOT STATUS |
|
4 1 OC |
CDB20B |
00085 |
CALL |
2994 |
; PLOT/UNPLOT |
|
4 1 OF |
El |
00086 |
POP |
HL |
|
|
4110 |
Cl |
00087 |
POP |
BC |
|
|
4111 |
C9 |
00088 |
RET |
|
COPY |
40FE |
00076 |
|
DFILE |
40 0C |
00003 |
|
DISP |
40A5 |
00024 |
|
DOPLOT |
40E0 |
00057 |
|
FIX |
40B0 |
00030 |
|
FRAMES |
4034 |
00004 |
|
PAUSE |
409D |
00019 |
|
PLOOP |
40A0 |
00020 |
|
PLOT |
4107 |
00082 |
|
PLOT 1 |
40E1 |
00058 |
|
PLOT 2 |
4 0EA |
00064 |
|
PLOT3 |
40F3 |
00070 |
|
PLOT 4 |
40FB |
00075 |
|
|
4082 |
00006 |
|
RESET |
4 0C0 |
00037 |
|
UNPLOT |
4 ODE |
00056 |
|
VALS |
40C4 |
00039 |
|
WAIT |
40B7 |
0 0 0 3 3 |
00006
00029
00055
00036
00023
00058
00070
00080
00053
00045
00035
00064
00075
21
TS2068 PORT ASSIGNMENTS
CLASSIFIED ADS:
Timex provided SYNTAX with the following chart, referred to on page 214 of your 2068 manual. This chart is what you would receive if you contacted Timex Corporation for port assignments.
012345678
0
1
2
3
4
5
6
7 9 9
8 6 6 6 6 A 6
9 6 6 6 6 6
A 6 6 6 6 6
B 6 6 6 6 6
C 6 6 6 6 6
D 6 6 6 6 6
E 6 6 6 6 6
F666624586
012345678
9 A B C D E F
0
1
2
3
4
5
6 7
6 6 6 8
6 6 6 9
6 6 6 A
6 6 6 B
6 6 6 C
6 6 6 D
6 6 6 8 E
6667713F 9 A B C D E F
In the table, the vertical borders show the most significant hex digit and the horizontal borders show the hex digit of less significance. Table entries indicate devices from the numbered list that follows.
1. RD WR
2. RD/WR
3. RD/WR
4. WR
5. RD/WR
6.
7.
8.
9.
A. RD/WR
Keyboard/Cassette Border /Beep/Cassette Dock Horizontal Select Enhancement Port Sound Chip Address Sound Chip Data TS2040 Printer Bank Switching Micro-Drive Modem
Centronics Interface
Blanks in the table indicate ports available for use as of 2 Nov. 83.
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.
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
STARBURST SOFTWARE now has 18 soft¬ ware programs : Business, Hobby , Games , Educational , Utility . Send SASE+$1 to:2214 Horine Rd.,Festus, MO 63028
E-Z KEY Has a SPECIAL SALE!
TS1016 16K RAM $19.95 Supply limited-Phone orders only- (617)773-1187 Also available WORD SINC II $19.95 a full featured WORD PROCESSOR for your TS1000 or TS1500 & TS2040 printer.
XFORTH, FORTH-79 FOR 16K ZX/TS WITH ONE PASS LOAD, FULL THREADED CODE,ZX CODE TABLES. SUPPORT VIA USER NEWS¬ LETTER. XFORTH $25.00. W/ F.P. EXT ADD $15.00. ADD $1.00 EACH P. & H. ***NEW***HAWG WILD "HAM HACKER" (TM) SERIES FOR ZX/TS RADIO AMATEURS**** MORSE CODE (16K)/TW0 K CODE-BOTH ON
ONE TAPE . $14.95 + $1.00 P&H
MINIMUF 3.5 - 16K RADIO PROPAGATION (DXERS MUST!) ..$17.95 + $1.00 P&H CE AMP (FROM SYNCWARE) 16K CIRCUIT DESIGN/TEST.... $19.95 + $1.00 P&H FOOTBALL FORECASTER NOW AVAILABLE FOR U.S.F.L.. $17.00 PLUS $2.00 P&H ARK RES ADD 5% TAX. **HAWG WILD SOFTWARE, BOX 7668, LITTLE ROCK AR 72217**WE HAVE THE JUPITER ACE**
Next month in SYNTAX we'll discuss the advanced video modes of the TS2068. You can find some information on this subject in the 2068 manual, appendix C.
"TS1 000/2 068 CANADIAN FEDERAL IN¬ COME TAX RETURN. $9.95 + 1.50 P and H. Ont. res. add 7 pc PST.
JM SOFTWARE, 1852 Appleford St., Gloucester, Ontario, K1J 6T4"
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: Consulting Editor: Technical Consultant:
Kirtland H. Olson Ann L. Zevnik Kirtland H. Olson
© Syntax ZX80, Inc., 1984. 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.
16K* * * * * CAVE MAZE * * * * *16K Fast action 3D Maze. MC display Never the same. Only $7.00 P.P. Doc's Software 4339 Keysville Ave. Spring Hill, Fla. 33526
HOW TO MARKET YOUR T/S SOFTWARE Turn your program into profits with this comprehensive guide - pricing, advertising, publishing, royalties, market trends, plus many references $14.95 VISA, MC, MO, check SOFTMARK ASSOCIATES, DEPT SX2
210 Fifth Ave, New York, NY 10010
***** 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
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
Fill out the coupon below and mail it to: SYNTAX RD2 Box 457, Harvard, MA 01451
sl/84
□ My check is enclosed. □ Please charge my □ VISA
Make checks payable to: □ Diners Club D American
SYNTAX ZX80. Inc Express □ Mastercard
□ Carte Blanche account
Account number
YES! Please send me:
□ The Combination II (13 issues of SYNTAX and SQ Winter
82-Summer 83) . $39
□ The Catch-up II (SYNTAX Jan. 82 -Jan. 84, SQ Winter 82-
Summer 83, plus 1 binder) . $77
Exp. date _ Bank number (MC only) _
Signature _ _ _ _
Name _
Address _ _ _
City _ State _ Zip _
Day phone ( ) _ Evening phone ( )
□ My subscription number is: _
□ This is a new subscription
□ The Works II (SYNTAX No. 80-Dec. 83, SQ Winter 82-
Summer 83, plus 2 binders) . $97
□ 12 issues of SYNTAX . $29
□ 3 issues Syntax Quarterly (Winter 82 -Summer 83) . $25
□ 1 issue Syntax Quarterly □ Winter 82 □ Spring 83
□ Summer 83 . $9
□ 1 Binder . $9 □ 1 issue of SYNTAX . $4
Telephone orders call
617-456-3661
These offers expire 3/31/ 84 — SUBSCRIBE NOW.
23
LAND SURVEYING PROGRAMS: Prog.No. l -,,COORDlNATES"-computes survey coordinates , area of any configura¬ tion; incl . inverse mode. Prog. No. 2- "VERTICAL CURVE "-computes Vert. Curve data in tabular form, inc. Tan. &Vert .Curve Elev.,Low Pt.,High Pt .Sta . & Elev. $14.95 for each prog chk/MO to Paul F. Seymour, P.E.,
P.O. Box 11, Hamburg, N.J. 07419.
TS USER, the full and candid news¬ letter is now 16 pages a month with no ads. All of volume 2 is available for $10.95. Get a manual on office automation with your Timex. Subscribe now to avoid a March 1st price increase. Send a check or M/0 for $16.95 for 12 issues to: YAGSEE PUBLISHING, POB 155, VICKSBURG, MI, 49097. Save yourself hours and dollars by sub¬ scribing now to the largest sell¬ ing unsponsored Timex-related pub¬ lication in the Universe!! I !!!!!! ! Sample issue $2.95. Write now to see who had most material in 1983.
DO SOMETHING USEFUL WITH A COMPUTER Useful software with useful manuals (16k ZX & T/S). How to use it, how
it works, how to modify it .
Menu driven, just load and go!!!!!! SEND FOR CATALOG. .Kendric C. Smith,
927 Mears Court, Stanford, CA 94305
H\RV\RD
GROU-*
Bolton Road, Harvard, Mass. 01451
MR WILLIAM TOMLINSON 3635 RIVEREDGE OR. JACKSONVILLE FL
NEW RELEASE
Now you can translate your BASIC programs from your TS1000 tapes to TS2000 tapes. This program UPLOAD 2000 will do this for you.
All available TS products sold
UPL0AD2 000 - $19.95
Blank C10 Data tapes $9.95/10 Tapes You can purchase these items from E-Z KEY, Suite 75-STXA, 711 Southern Artery, Quincy, MA.
02169 (617)773-1187 MC or VISA
PRINTERS $49.90 — 30 Mindware MW100 available. Prints all symbols for TS1000/1500, three modes, 16 col., ribbon on plain paper. Solves power and extender problems. Pyramid Elec 2174 Gulf Gate, Sarasota, FL 33581. COD, Visa, MC. Ph. (813) 922-9574.
CRYPTOGRAPHY SOFTWARE for T/S-1000S w/2K or more. For cryptosecure re¬ cords, communication? also fun and learning. Instructions, descrip¬ tion and listing . $5.95
DEL PRODUCTS, INC., 13512 Keating St., Rockville, MD 20853
CRYSTAL COAST SOFTWARE. Educational Entertaining and Practical Programs Send for FREE catalog:
PO BOX 233, MOREHEAD CITY, NC 28557
U.S. Postage PAID
Harvard, MA Permit No. 8 01451
First Class
05 8S XU 68 J U