NOV/DEC 86 BULK RATE
U.S. Postage VOL. 3 NO. 1 PAID ; Colton, OR 97017 $3.00 Permit No. 51 POSTMASTER:
They Are S+'l/ Around EF Write then Fer Dr, QATED MATERIAL.
———
as ia | | eh = | “What's All The a\ea/lvy : AC
— ots Diag yy ) Commotion About?
ITS TDM's
2nd
NIVERSARY ISSUE!"
~
SS . aod oF OF on oe oe on 1S 2 08 OF 06 oe eer
pow Bz Bx Bc Bv Bs Bun Bu § § |
IT’S HERE! !
QL TRIVIA—-GQLUE
HERE IS GREAT NEW COMBINATION GAME! IF YOU LIKED QLUE AND TRIVIA, THEN THIS IS FOR YOU! We HAVE COMBINED THE
SE TWO GREAT THINKING HANS’ GAHES
IN ONE GREAT PACKAGE
13 ROOMS - 13 WEAPONS - 13 SUSPECTS THAT’S OVER 2100 POSSIBLE OUTCOMES! AND NOW - OVER 750 TRIVIA QUESTIONS! QUESTIONS COVER EVERY CONCEIVABLE SUBJECT! RELIGION - HISTORY ~ SCIENCES ~- GEOGRAPHY - YOU’VE NEVER SEEN QUESTIONS LIKE THESE!
Also included, at no extra cost r choice of FOOTBALL FORECASTER or LIFE EXPECTANCY FORECASTER (Specify which you would Like when you order.)
WE THINK YOU’LL LIKE THIS ONE! OUR PRICE? ONLY $19.95 +$2ph
AVAILABLE EXCLUSIVELY FROM: RMG ENTERPRISES
ANNOUNCING
SOUNDESIGN 2068 A NEW PROGRAMMING UTILITY FOR YOUR 2068!
This little package allows you to design your own sound effects or musical effects for your programs Simply and easily. Completely menu driven, usi only 3 keys, you can design a sound, print out t necessary program line (generated by our program) and insert it into your progran.
The core Will let you test out sounds, change volume & pitch, open or close the sound channels - all with only 3 keys!
Sound simple? IT IS! We want you to be able to use our utilities, and the ie we make them, the easier they are to use and the more likely you will use and recommend then!
This one it NEW from ARROW SOFTWARE, a company we hope to hear a lot from in the months ahead!
AT ONLY $12. 9S5t$1.50ph THIS ONE IS A MUST FOR ALL RS! IT WILL SAVE YOU MORE THAN THAT IN TIME ALONE!
SOUNDESIGN TS AVAILABLE EXCLUSIVELY FROM RMG ENTERPRISES
MAKE CHECKS OR MONEY ORDERS OUT TO: RMG ENTERPRISES off? 1/2 7TH STREET GON CITY, OR 97045
503/655-7484
10 AM TILL 1@ PM TUE-SAT
te ere Tee) ee ee eee oe PuteMa2 P88, SE SRP ORR See np x wat Sn a MIR
SEKTOR 29068 FOR THE FD468 USER
bart A full-featured sector editor for use with your 2068 and AERCO FD68 disk system. Very user friendly! Many features that you would not expect at this price!
Some of the features included are!
READ DISK SECTORS - WRITE SECTORS - CORRECT SECTORS DELETE/ERASE FILES - COMPARE BLOCKS - COPY SCREENS TE IBM CLUSTERS - MSDOS (2 VERSIONS) ~ WORKS WITH RP/M AND HORE!
All of this at a price that all FD48 users can afford: ONLY $15. @@t2ph
Available on 5 1/4" disk, 3° disk or cassette. Please add $5 for 3s disk version. Complete with very thorough documentation.
AVAILABLE EXCLUSIVELY FROM: RMG ENTERPRISES
OUR NEW CATALOG IS COMING! WE WANT YOU TO GET YOUR COPY!
OUR NEW CATALOG IS BIGGER AND BETTER THAN EVER!
WE’VE ADDED NEW PRODUCTS IN ALL OF OUR OLD LINES AND ARE ADDING NEW LINES OF MERCHANDISE.
OUR OLD LINES INCLUDE: TS 2068 & TS 1500 & TS 1000/ZX81 * OL
OUR NEW LINES INCLUDES COMPUTER FORMS & PAPER PRODUCTS * DISK DRIVES DISK DRIVE CASES & POWER SUPPLIES & DISK DRIVE CABLES BLANK DISKS % BLANK VIDEO TAPES & CB RADIOS MUCH MORE TO COME!!
BECAUSE OF THE HIGHER COSTS OF PRODUCING AND MAILING A NEW CATALOG, WE ARE FORCED TO ASK, THAT, IF YOU ARE A SERIOUS CUSTOMER, AND WOULD LIKE TQ RECEIVE ONE OF OUR NEW CATALOGS, YOU ‘Sep US $2.00 TO COVER THESE COSTS.
IN RETURN REGULAR ORDER! THAT WAY YOU DON’T ACTUALLY LOSE ANYTHING AND HAVE A LOT OF SAVINGS TO GAIN!
JUST FILL IN THE INFORMATION BELOW AND SEND THIS FORM ALONG WITH YOUR CHECK OR MONEY ORDER FOR $2.00 TO THE ADDRESS BELOW!
AND THAT’S NOT ALL!
IF YOU ENCLOSE 12 LEGAL SIZED S.A.S.E.s WITH THIS FORM YOU WILL BE SURE TO RECEIVE OUR MONTHLY SPECIALS CLOSE-OUTS, NEW PRODUCT NOTICES AND CATALOG UPDATES. YOU WILL ALSO RECEIVE A COUPON GOOD FOR A $5.00 DISCOUNT ON YOUR NEXT CATALOG ORDER!
THAT WAY IT ACTUALLY COSTS YOU NOTHING! DON’T MISS OUT! ORDER TODAY!
NOV/DEC 86
VOL. 3 NO. 1
FOR ALL TIMEX AND SINCLAIR COMPUTERS
TIME DESIGNS MAGAZINE CoO. 29722 Hult Rd.e Colton, Oregon 97017
(503) 624-2658
TIME DESIGNS MAGAZINE is published bi- monthly and is Copyright © 1986 by the Time Designs Magazine Company, Colton, Oregon 97017. All rights reserved.
Editor: Tim Woods Assistant Editor: Stephanie Woods Editorial Assistant/Production: D.L. Woods
Photography: (unless otherwise noted): Thomas Judd Printing by; Toad’! Litho Printing and Comp., Oregon City, Oregon 97045
SUBSCRIPTIONS: $15 a year for six issues (US funds only). No extra charge to Canadian subscribers. All other countries please write for information on air mail rates.
CUSTOMER SERVICE: Customer satisfaction is our goal. For subscription service problems please write or call TIME DESIGNS.
CHANGE OF ADDRESS: Write or call to prevent delay of sevice,
Reproduction of this magazine in whole or in part by any means without written permission is prohibited by law
“NOTICE: Contributors to TIME DESIGNS are independent of the TIME DESIGNS MAGAZINE CO., and opinions ex- pressed in the contents of the magazine are not necessarily those of the management or its advertisers. Time Designs Magazine Co. will not be held liable for any damage or conse- quences resulting from instructions, assertions of fact, review of products or companies provided in the magazine's content."
GIVE A GIFT SUBSCRIPTION TO TIME DESIGNS
* You'll Help Spread Interest in sinclair Computers
* We will Supply a FREE CARD
SEND YOUR ORDER BEFORE DECEMBER 15th TO INSURE DELIVERY.
Michael E. Carver
eee
D. Hutchinson
The Folks Who Bring You TIME DESIGNS
y ,
a
Tim Woods and Tom Judd, Staff Photographer
Stephanie Woods Assistant Editor
Woods Editor
Tim
SEES.
Soe: Mii tinea
Syd Wyncoop Stan Lemke
This being our 2nd Anniversary Issue and the start of our 3rd year of publication, I'm going to pass up the usual column featured here, and introduce you to some folks responsible for putting out TIME DESIGNS six times a year. Most of you know this is a "family" business, which not only employs both my wife and I, but also other family members and friends on a part time basis. TDM really wouldn't be possible without our great contributors...I feel the very best around. Some of them have been with us since Volume One.
Above you will find photo's of some of these people who you have read about, but this time you can tie a picture to a name. It's all in fun, and at the same time gives them some deserving recognition. (I've even in- cluded my own "mug shot" for what it's worth.) There are many others who aren't pictured above, who are also regulars to our pages, such as: Tim Stoddard, Warren Fricke, Bill Ferrebee, Charles E. Goyette, Dick Wagner, Dennis Jurries, Dennis Silvestri, R. Lussier (as well as several others). We'll have to get them next time.
I look forward to working with everyone for the next six issues of TDM, and serving you our readers with the magazine "written by Sinclair enthusiasts---for Sinclair enthusiasts". I also want to wish our writers, their families, as well as our entire readership...
ge Happy Holidays! Tim ds
Earl V. Dunnington
TDM TWO YEAR ANNIVERSARY CELEBRATION
Tim Woods has asked me to reminisce about the early days of the Timex Sinclair microcomputers. Ah, nostalgia time! The good ol' days...or were they?
When you think about it, the "good ol' days" of the Timex computers only go back to April 1982. That was when Timex Computer Corporation, a wholly-owned sub- sidiary of the Timex Watch Company, announced to a stunned press that it had made an agreement with Sin- clair Research Ltd. (England) to produce and market the Timex Sinclair 1000, Timex's version of Sinclair's ZX8l1...and it was going to sell at 150,000 Timex North American retail outlets for only $99! That didn't happen, since most stores that sold Timex watches de- cided not to try to sell computers...but it was sure exciting to think about!
But the genesis of the TS 1000 goes somewhat further back to when "Uncle Clive" Sinclair shocked the computer world in early 1980 by announcing the first under-$200 computer, the ZX80. This was an immediate hit in England and came to the U.S., mail-order only, in late 1980. This was followed by the ZxX8l1, which was actually manufactured in Scotland by Timex. It sold for 5150 assembled, or $100 in kit form. The ZX8l quickly became the largest-selling computer in the world.
I got my first ZxX81 in early 1982. I ordered a kit for $100, but they had more assembled units than kits, so they apologized for sending me an assembled unit!
I had already cut my computing teeth on a Radio Shack TRS-80 Model I 4k with Level I BASIC, which I had upgraded to 16k with Level II BASIC language. I had written one book for Hayden Publishing ("Programs For Beginners On The TRS-80") and many magazine articles, so the ZX81 was not my first micro...but it quickly got my attention.
It was FUN to program the ZX81 in Sinclair BASIC, which was much more powerful than the TRS-80 Level I BASIC. Because there was only lk of RAM, and much of that was devoted to the screen, there was not much memory left for a program...making the challenge much greater. The graphics were limited, but easy to use.
I started writing articles about the Zx81 and the Timex Sinclair 1000. Since they were identical, except that the TS 1000 had a 2k RAM instead of lk, everything I did with the ZX81 worked on the TS1000. Furthermore, by adding the 16k RAMpack to a ZX8l, it was the same as a TS 1000 with a RAMpack. In fact, I never did get a TS 1000. By the time they were available, I had two ZX8ls with RAMpacks!
I recall the difficulty in getting a printer in the early days, before the Timex Sinclair 2040, Sinclair put one out in England for about $100. I don't even remember what they called it, but it put out so much radio- frequency interference that the FCC banned it in this country. It used an electrostatic process that vaporized a thin aluminum coating to expose the black surface on a carbon-coated paper roll. I ordered one of these little printers from Gladstone Electronics, via Canada. The
“Remember Back When...”
by Fred Blechman
import paperwork, shipping and tariff cost about $35! It was strange, but gave an acceptable 32-column printout that duplicated every dot on the screen. To do that on many of today's micros takes special graphic screen dump programs!
My first ZX/TS-oriented article was in the Sept/Oct 1982 issue of SYNC Magazine. I subsequently wrote 20 other articles covering the 2Zx8l1, TS 1000, TS 1500, TS 2068, Spectrum, and OL for other magazines...Elec- tronic Fun, CES Daily, Microcomputing, TODAY (Compu- Serve), Timex Sinclair User, Computer Shopper, Computers & Electronics, Computer Trader and Modern Electronics. My last "Timex" article was a 7-page hands-on review of the Sinclair QL in the June 1985 issue of Modern Elec- tronics.
Along the way, I wrote the book, "Timex Sinclair 2068 Beginner/Intermediate Guide" for Howard W. Sams. It is now out of print, but available from the E. Arthur Brown Company. They also sell my friend Jeff Mazur's book, "Timex Sinclair 2068 Intermediate/Advanced Guide", also published by Sams, which picks up where mine leaves off. Writing that book was a real challenge, since I didn't have a TS 2068 Personal Color Computer! Dan Ross, the man running Timex Computer at the time, made an arrangement for Jeff and me to each have a Sinclair Spectrum, on which the TS 2068 was based. We also got some advance information, but had to make some educated guesses. Sue Mahoney and George Grimm at Timex were very helpful...thanks, wherever you are today...
The real irony was that my completed book manu- script went to the publisher in early August of 1983... and later that same day Federal Express delivered the first TS 2068 I had ever seen! Luckily, after checking out the actual 2068, I only had to change one paragraph in my manuscript.
As it turned out, the computer had been delayed so long my book hit the streets before the computer...and Timex closed down the computer division just a few months later. What a shame! A great little computer caught in a web of bad engineering and marketing de- cisions.
In their defense, Timex management had a host of problems with the real value of a "home computer" being challenged, and price wars created by the competition forcing profits too low. Add the unreality of trying to effectively sell a device as complex and unfriendly as a computer in drug stores, and the stage was set for re- percussion. Timex was not the only micro manufacturer to fall on bad times. It just seems, however, that if they had “hung in there" about another six months, the superior features of the TS 2068 would have become known.
What have I done since? Well, I've had other computers in my collection...TRS-80 Model III (two of those), TRS-80 Model 4P (two of those), Coleco ADAM, Radio Shack MC-10 Microcolor Computer, Sanyo MBC 555-2, Apple IIc, and just recently got an IBM PC/XT clone.
I've written three more books since my Timex 2068 book, and over 200 computer-related magazine articles. "The ADAM Beginner & Intermediate Guide", a book written for Sams, was cancelled after acceptance and editing, due to the fall of the ADAM. My "Sanyo Beginner & Inter- mediate Guide" and "Apple IIc - An Intelligent Guide"
were published by CBS Computer Books, just before they
abandoned the computer book market. I've personally sold ever 1000 copies of the Sanyo book, since like the Timex machines...it has many devoted users.
I hated the Apple IIc, the ADAM was "unspeakable", but I love the Sanyo! It offers the ease and power of programming remindful of the TS 2068, but with two built-in disk drives and 48,000 pixels on the screen (640 x 200), each in any of eight colors! Wow!
Thank goodness I've got my Amway Emerald Direct Distributorship to support my computerholic tendency!
Nowak’s Letter Gets Response
Editor's note: Our mai£ box has been quite full the past two months due to a fetter and request we published in the Sept/Oct '& issue of TDM, on page 3. To paraphrase Mn. Nowak's fetter, he requested a short program or noutine that would by-pass the monitor and dump dinectly to the printer for doing simple computations. While the angwea appears fo be 4impfe, such as the use of the LPRINT command, here 14 what some of our readers came up with, And thanks to everyone who took the time to write.
Dear Tim,
In the Sept/Oct 1986 issue Michael J. Nowak asked for a way to have the 2068 print to the printer instead of the screen. One simple method, which will work in the immediate mode or as a program line, is: OPEN #2, "Pp" The “#2" part refers to PRINT and LIST commands. The “P" refers to the 2040 printer ("S" would mean screen in this syntax). Hence, PRINT or LIST will subsequently go to the printer instead of the screen, LLIST, LPRINT, INPUT, and lower screen messages will still appear on the screen. CLOSE #2 gets things back to normal.
Opening and closing files in this way was not mentioned in the 2068 User Manual (more Timex unfinished business), but it can be a useful feature. Listing #1 is an example in which channel #4 is used to give a screen or printer option for the output. I chose #4 because #1, #2, and #3 are reserved for INPUT, PRINT/LIST, and LPRINT/LLIST commands, respectively. It's worth ex- perimenting with!
Sincerely,
Larry Dietrich Blanca, CO
100 REM EXAMPLE OF DEVICE INDEPENDENT OUTPUT 110 LET GETKEY=1000
120 PRINT “Output to Screen or Printer? or P>***
130 GO SUB GETKEY
‘Press &
140 IF I8<>"S" AND I$<>"s" AND I$<>"P" AND I$<>"p" THEN
GO TO 130
150 OPEN #4,15
200 REM BODY OF PROGRAM
£10 FOR L=1 TO 10
220 PRINT #4; TAB (L<10);L;" squared = "; L&L 230 NEXT L
240 PRINT ‘"DONE": REM THIS PRINTS TO SCREEN 2 30 STOP
1000 REM GETKEY SUB 1 squared = 1 1010 LET IS=INKEYS 2 squared = 4 1020 IF I$=""" THEN GO TO 1010 3 squared = 9
1030 RETURN 4 squared = 16
5 squared = 25
6 squared = 36
< 7 squared = 49
LISTING 1 An par ge
9 squared = 61
10 squared = 100
TDM TWO YEAR ANNIVERSARY CELEBRATION
Also, well over 1000 Amway Product Distributors have purchased my $100 "AMBIZ—PAK" of 10 programs for the IBM PC/Clones, TRS-80 Models III/4/4P/4D, and the Sanyo MBC 550 series.
I'm pretty much out of the Timex environment now, and will not be writing about the QL. However, I can well understand the fascination and dedication many of you hold for the Sinclair and Timex machines. As I recall, at one time Timex used ads with the slogan "The POWER is in your hands!" May the POWER be with you...
-LETTeR Ss
To the Editor,
In response to Mr. Nowak's letter in TDM Sept/Oct ‘86 issue--the enclosed program works well on the 2068 and TS 1000 (using the proper “to the power" symbol). It can be enhanced by putting in an entry counter with C$ and B tabbed to other locations and/or reversing the position of C$ and B. The base program is: 10 INPUT C 20 PRINT C or LPRINT C 30 GOTO 10 The value of C is calculated and printed (Lprinted) as a single value. The entry prompted by an L cursor jis not printed (Lprinted) and is “lost”.
W.B. Gray Jr. West Caldwell, NJ
1 REM seeeesEValvatorS.s.eneer
2 REM ..e.+sLINES 1,2,3,4,51, 100,101 NOT NECESSARY......2.65
3 LPRINT “INPUT, “ANSVER"™
4 LPRINT “eases” ,™ .
20 INPUT Cs
30 IF Cg$="0" THEN GO TO 102
# ee © @ © @
40 LET B=VAL Cs 50 LPRINT C$; TAB 15;"=";B 51 LPRINT
na a a a ee ee iT}
101 LPRINT “a24444444444434444% ESEESESER EEE"
182 STOP
348= ii
Bi56 50 aad shea ato ba a oe Sikes 465-0 SS ee wens 2 oe ee oe,
eS SS SS SS ia i a ee i ie ee
SSS SF SF SF SS SS SS SSS SE SE ee eee ee ee ee ee
To the Editor,
Regarding Mr. Nowak's letter: There is a very simple solution to this, but it has two small drawbacks. After turning on the 2068, type in:
POKE 26692,80 : POKE 26697,80 (Enter)
Now everything that would normally go to the screen will go to the printer. Drawback #1- No program line or im- mediate command can be entered that is longer than 32 characters (the length of the printer buffer). Longer program lines can be loaded from tape, before or after the Poke's, or typed in before the Poke's. Drawback #2- with an immediate command like: PRINT 2+2 (Enter) the answer (4) will overwrite the “P" in the word PRINT in the printer buffer before it is sent to the printer...so type in: PRINT 2+2 and then hold down the space bar to fill the printer buffer. When the printer starts to print, press enter and the answer (4) will print on the next line,
Yours Truly, P. Aylesworth
Bradford, Ontario Canada
ALSO AVAILABLE FOR THE T/S 2068
POWERFUL AND INEXPENSIVE BUSINESS SOFTWARE FOR 2X81, T/S1000 and T/S1500 COMPUTERS
ZX-TEXT
CorPYRIGHT ALBERT F,
“RHSUEE BY ENTERING A NUMBER’
A word processor is to a computer user what a typewriter is to a typist, except that the former has more advantages than the latter. £X-Text can operate in 16-64K RAM providing from 1300 to 6500 words per document. It features 6 different options: write, read, edit, print, save and clear text. Text is written on a per-line basis with quick speed and with horizontal back-space and delete capabilities being available. You can also access the editor directly from write mode and vice-versa. Text can be proof-read on a per-line basis allowing for enough time to determine if any editing is needed. The text editor allows a line of text to be deleted, inserted, replaced and listed for editing. You may also change a word or expression within a line, stop or start text while it is scrolling up the screen, begin reading text from the first line of the file, re- enter write mode from the editor, return to the main-menu or create a window so that you can read-edit two files simultaneously. The print option takes text displayed in 30-column format on the screen and outputs to either the ZX/TS printer. (With Memotech's Centronics Parallel interface §80-column and lower/ higher - case output is possible.) Files may be saved on tape cassette with the use of one single Command, or by the same token they can be erased from memory / storage so that the full capacity of the program can be used for other purposes such as composing letters reports, articles, memos, standard forms, instructions, ads, graphs, telephone directory, lists of customers, members, friends...etc. Also copies of files are always less expensive and easier to run than using a photocopier. Other advantages are savings in lime, paper, ink, correcting mistakes and adding afterthoughts more efficiently than doing them through either handwriting or using a typewriter
$16.95
ZX-CALC
ic) a RODRIGUEZ ts #82888 8 FO asta” i BUDGET 7
teeeee JAA 3@8
1]
|
rT | PRL
ne al oe Loe a) = setae
25 ia 55 25 2a
-o oe
TtOPdSe OOOH S RESTS SORE E EERE oF
An electronic spreadsheet calculator is the fundamental basic tool for summarising, reporting and analyzing in matrix form any accounting, mathematical or scientific manipulation of num- bers. 7X-Calc operates in 32-64K RAM andatfords a Maximum of 3360 characters / spreadsheet. The entire matrix consists of 15 columns (letters A-O) and 30 rows (numbers 1-30) with 8 characters / cell. Unlike other popular ESCs, 7X-Calc uses in calculations and within cells all 14 math functions on the ZX-81/TS1000. It offers a unique “SUM function that totals one or more rows/ columns simultaneously. Parenthesis can be used within equations. There is no fixed limit on how many equations may be entered. Formulas may be stored in all 420 cells of the spreadsheet. The display affords 15 rows/colums. Loading of data into more than one cell can occur across /down one or more row/column simultaneously. With vertical windowing you Can arrange a set of col- umns in any order, or practice using fixed-variable- alignment display formats. The menu offers 6 options. enter / erase, move, calculate, print, save and clear the spreadsheet. Enter/erase allows the entering, deletion or data alignment within a cell through the use of a mobile cursor. With the move option you may move around the entire sreadsheet to access any row, column or cell. The calculate option allows you to enter labels, values or formulas into a cell or write and enter equations that will act upon the data already within the spreadsheet. You can also enter bar graphs into a cellinthis option. Absolute / relative replica- tion, down/ across acolumn/row, isalsoallowed by this option. Also this option allows the auto- matic calculation of the entire spreadsheet with one single command. Print allows youto outputto either the ZX / TS printer the entire spreadsheet by column-sets and row-pages through use of the COPY command. The entire spreadsheet may be saved on cassette tape or you may clear all data from it or erase the program from RAM entirely The most salient advantage provided by anESC over specifically vertical applications software is that an ESC provides a reusable framework with which you can compose any specific financial model rather than just belimitedto only one stati- Cally fixed format for storing. displaying and manipulating numerical data
$16.95
ZX-CALENDAR
re M ADE
| DAT! ZO @4-i7 ea
ae." EVAH REFO, CAREER 6.308 A...
SOQUEL ae 2 HOUR LT CACE: J 2358 SALZEDO sT., NO. G., 44-1598
De wt RE, O36 , 8008-7
Time management is an important aspect of any serious business and personal agenda. Planning how to spend our time leaves us better prepared before and while we are spending it and we remain better organized after we finish spending it. ZX-Calendar operates in 16-64K RAM affording 25 appointments in 16K, 100 in 32K or 180 in 48K and 64K. Each appointment record holds a maximum of 220 characters. The main menu includes enter, search/check/sort, change, save, clear and print any and all appointments made on a specific date or with any party. Output to either the ZX/TS printer is permissible. This program will permit you to remember to do something or to be somewhere important by cataloging your answers to six questions that you must account for in order not to waste time when it is scarce: when, with whom, at what time, for how long, where and what are you going to discuss and conclude when you get together with someone else? The program lets you permanently originate, record, classify, search, sort, calculate, modify, summarize, obtain a written report and store your answers to the preceding questions so that you will not forget what you decide to do with your time. This program identifies your time according to when you are going to spend it and with whom you are going to share it. Through these forms of labeling appointments you are able to verify or modify how your time is budgeted without wasting ink, paper or more time trying to remember what you said to yourself or what someone else said to you or where you placed certain written messages that you now can't find. With this program you will know where you can find exactly what you need to know about where you want to and have to be, or where you have been, before you get and after you got there. Thus, ZX- Calendar will let you plan your time so that you will never have to worry about what ts ahead or what came before, for you will always know, by using it, lo never be caught astray by any time-frame.
$16.95
$3. 00 SHIPPING AND HANDLING / ‘PROGRAM
A.F.R. SOFTWARE - - 1605 Pennsylvania Avenue, No. 204 - Miami Beach, Florida 33139 DEALER INQUIRIES WELCOME (305) 531-6464 FLORIDIANS ADD SALES TAX L-1 © 1984 a . |
Goyette’s “Ski” and “Cavern” A Hit
Dear Tim,
I found "SKI" (TDM-July/August 86) by Charles €E. Goyette, to be a fantastic game. The only problem was that the person with the highest score for a game was not always listed as being the winner. Changing H$ to S$ in line 500 seems to correct this."
Sincerely,
Kenneth Fracchia Buffalo, NY
Dear Time Designs,
I have enjoyed both "CAVERN" and "SKI" by Charles E. Goyette. They both act and react faster than my fingers can manipulate the keys. I did however, make a slight change in "SKI". I changed the trees that look like "bugs" to trees that look like trees with: g000 DATA 1,128,1,128,3,192,3,19 2,7,a@24,7,224,1,128,1,128 This makes a nice pine tree with the addition of color, “INK 4", in line 1100. For what it's worth,
Sincerely,
Richard B. McMahill Washington, DC
Mathematics Dear Sir,
Readers of TDM might be interested in the following equalities produced by my 2068. Other such relationships can be obtained by use of the program shown on page 232 of Laurie Buxton's book, "Mathematics For Everyone”.
PI - 103993/33102
EXP 1 - 49171/18089
SQR 2 - 66922/47321
SQR 3 - 70226/40545 = SQR 10 - 168717/53353 = 0
-125 - 1/8 = 5.8207661E-11
1.3 - 13/10 = 4.6566129E-10
oe oocea
Sincerely yours, Howard R. Wilkerson
Greenville, SC
Request for LARKEN Help, etc.
Dear Sir,
I am writing in the hopes that you may be able to help me with a few questions. First of all I understand that there is a version of Prologue available for the Spectrum. I have searched all present and back issues of ZX Computing, Your Sinclair and Sinclair User that I own and could find no mention of it. I am hoping that you or one of your readers might know of the program I am talking about.
secondly, I am hoping that someone might be able to help me with some conversion problems. I am trying to convert some of the other languages for the TS 2068 and the Spectrum onto the LARKEN disc drive system. I have Abersoft FORTH, Hi-Soft C, Hi-Soft Pascal and YS Mega- basic which I would like to make full compatable with the Larken system. So far, I have been able to put the main Basic loaders and machine code onto disc, but I do not know how to convert Save-Load routines within each
language to save and load from disc. Perhaps someone has already solved the problem and could offer me some help. I thank you for your time and trouble.
Sincerely,
David Sdlly OTSUG Librarian Ottawa, Ontario
Editon: I have found no reference to a "Paofogue" pro- gram jor the Spectnaum, but some other ieeceie alti may provide the answer. AS fon your software conversion probfems with the LARKEN disc daive interface, it sounds fike you may have an eanfier version of the LARKEN DOS. I have been in contact with Lanny Kenny (a.k.a.; Larken Efectronics) and he mentioned that a mew 72068 DOS 6 available on disc that has improved LOAD/SAVE commands [Supporting Arrays, Basic Code), and also FORMAT, CAT, ERASE and OPEN® commands. Larry also mentioned that he will begin work on offering the DOS (which 4 Spectaum compatib£e) on a cantnidge, therefore using no computer RAM, Ho£d on to youn seat on this one...4t will have the NMI save feature. This will alfow you to do "snap shot" saves Like that on the John Oliger Dise Interface. I would suggest that anyone requiring information on new LARKEN ampnrovements umite to: Lanken Electronics, RR#2 Navan, Ontario, Canada K4B-1H9.
“Pigskin Picks” Dear Tim,
I am sending my check for another enjoyable year of TOM...the only real connection I have with the TS world, and I always look forward to receiving my TDM. I have enclosed a small football prediction program that I wrote. The program will average about 653 correct over the whole season.
I am also wanting to start a Users Group in the Bee County Area. If I can start one, it will be called "Bee County Timex Sinclair Users Group"- 6.C.1.S., and if it is possible I would like to give the members that don't have computers a ZX81 or TS 1000 for joining. I would like to hear from other TS users for some input on this subject.
Sincerely,
Tom Proffitt 706 Morales St. Beeville, TX 78102
Editor: "Pigskin Picks" was fun, but my team Looked just as bleak as before I keyed in your program (better fuck for me next year, I guess). Hope you get a users group off the ground. A free computer offer 18 hard to beat.
1 REM “BY: eos PROFFITT
AT PLACE: BEEVILLE, TEXAS
e& REM “Pigskin Picks" Can alse o be used for Batketbatt. It wor KS bEett after the fourth game. ‘ Not to be used for gambling if y ou want toa acer aS money!"
~ BORDER 1: P : INK F: € iS : POKE 236095, 7a
18 PRINT TAB &:' ‘PIGCSRIN PICKS"
li PRINT ‘FRSFEEFTSETIAATE EADS FFFFRETILERS™
[0 INPUT “enter 1st. team “;ag
ss wae ENTER OFEENSE-POINTS
130 REM ENTER DEFENSE- POINTS 160 INPUT "“POINTS-A8GAaINST “0 178 INPUT “enter games played "
200 INPUT “enter Ond.team “; fs 255 REM ENTER OFFENSE-POINTS 299 INPUT “POINTS-FOR “;1
oO REN ENTER DEFENSE-POINTS 3209 INPUT “POINTS-AGAINST sll ee | 350 INPUT “enter games played
460 LET t=c re
470 LET ve-d-e
430 LET rai -t
4008 LET s=j +k
SO@2 LPRINT ag; " “"“; IMT (45), S108 LPRINT fs; “; INT (u4 é Se LPRINT
S320 LPRINT
540 GO TO 180
TS COMPUTERFEST II Plans Aired
While May is months away, plans and groundwork for the Second Annual Mid West TS Computerfest continue. The "Main event" this time will be held in Indianapolis, Indiana, on May 2nd and 3rd. It is being planned and hosted by nearly all of the representatives of the highly successful TS Computerfest held in Cincinnati last year, including Chairman, Frank Davis of Peru, Indiana.
Time Designs has been in contact with many of the dealers who attended the first show, and the over- whelming response has been "we'll be there again!". In fact several dealers who were unable to attend last year are definetly coming this time. Most preliminary figures estimate that the Indianapolis Computerfest will have double the attendance this time around, with perhaps as many as a thousand, now that the word is getting out.
Interested parties can write to Mr. Davis at: 513 East Main Street, Peru, IN 46970, for further details. Be sure and plan now to leave the first weekend in May open...you won't want to miss the Timex Sinclair “event of the year"!
New SPECTRUM Off To Giant Start American Travelers Abroad Report on PC Show
American Timex Sinclair distributors Rob and Debbie Curry of Curry Computer and John Warburton of Sunset Electronics attended the annual Personal Computer Show in Olympia, Great Britain, the first weekend of Sep- tember. The well-attended showing featured among other things, the premier of the Amstrad/Sinclair Spectrum 128k+2. Many thanks go to Mr. Warburton who thoughtfully picked up an extra brochure, which is pictured to the right, for Time Designs readers. The new Spectrum which replaces the previous 128k computer released six months ago by Sir Clive, offers both a professional full-travel keyboard and an integrated cassette recorder. It also has on-board twin joystick ports that use the Sinclair Interface 2 protocols (non Atari-type). Gone is the traditional black Sinclair look, for a new grey color.
It was curious that Commodore for the most part was absent at the show, while both Amstrad and Atari had huge displays. The Atari section featured many after- market companies, but all were integrated into the main Atari section with corresponding displays and decor... now that's company support! Meanwhile, Amstrad launched the new PC1512, an inexpensive IBM PC clone that is already receiving extremely rave reviews from the press. Watch for this one, it is rumored that it is coming to the U.S.
There were many software companies in attendance including an outlandish display by BEYOND, which rep- licated the bridge of the star ship Enterprise...a gimmick to announce their coming program, "Star Trek". Their were many other Spectrum related booths, and even some for the seemingly ill-fated Sinclair OL, such as the London-based support group, Quanta.
The Curry's stated that software and hardware "deals" struck at the PC Show, will greatly benefit U.S. Sinclair consumers in the coming months.
‘*All The News Fit To Print’’
ARCTAN COMPUTER VENTURES or Northampton, England, is an excellent source of support for the 2X81 or TS 1000 computers. The part software company and 2ZxX8l magazine publishers have a five page brochure available. Arctan Computer Ventures (or A.C.V.), offers over a dozen different software titles, many of which are games (but also some utilities...like a 280 Disassembler). The ARCTAN ZX8l1 Users Club has now published five ex- clusive magazines for ZX8l users. For complete infor- mation and prices, write to: A.C.V., 1 Foxwell Square, southfields, Northhampton NN3 5AT, England.
Many months ago, we reported on the E. Arthur Brown Company of Alexandria, Minnesota, purchasing the ex- clusive U.S. publishing rights to England's popular computer telecommunications book, THE HACKER'S HANDBOOK. Now, Eben Brown (of E. Arthur Brown) reported to Time Designs, that the book is in it's second printing here. Hugo Cornwall, the author of the hacker's guidebook, made a scheduled appearance in San Francisco, California for a lecture at the "Hacker's 2.0 Conference", on the 25 and 26th of October. Mr. Cornwall is a noted in- ternational expert on modem "hacking". For information and prices on "The Hackers Handbook", write to E. Arthur
The Hacker's Handbook
Brown at: 3404 Pawnee Dr., Alexandria, MN 56308, or call (612) 762-8847.
DUNGEON OF YMIR Version Three is here. The all new high resolution maze game is available now for the 2X81] or TS 1000 that has both a 16k RAM pack and an 8k CMOS (static) RAM board such as the popular "Hunter NVM" board. Incidentally, if you have a copy of "Thrust" by the Weymil Corp., you are already set up to run Dungeon Of Ymir V3. Further details on this mega-game and other fine products for your ZX/TS, write to: Fred Nachbaur [Silicon Mountain Computers], C-12, Mtn. Stn. Group Box, Nelson, B.C. VIL 5Pl.
Improvements on the "tried and true" appears to be the trend this month. In the May/June 86 issue of TDM, a program called “Money Machine" was mentioned for those that like word/thinking type games. We said that it re- sembled the TV game show "Wheel of Fortune". Now, the author has taken the program one more step...and we can now say that MONEY MACHINE II is a Wheel of Fortune clone. This should sell a lot of copies, as the TV show has gained a tremendous following. A lot of detail has been incorporated in this 2068 program, including a Vanna White ("Banna Brite" in the program, to protect author Herb Bowers from any legal implications) sprite that turns the letters. Play is conducted as in the show and up to three players can participate. Libraries of additional puzzles will be released periodically, but the 250 that come with the program should keep you and your friends up all night playing this one. Very good graphics and sound. Price is $15 from ABBA Soft, 2588 Woodshire Cir., Chesapeake, VA 23323.
Banna Brite turns the letters.
We've been impressed with all of the new stuff coming out of RMG Enterprises (1419 1/2 7th St., Oregon City, OR 97045) these days. New software titles include SOUNDESIGN (a utility for easy development of sound
code utility for the 2068 that was inspired by a feature on the Sinclair QL. Interrupts allow the user to witness the actual execution of BASIC programs, as program lines are simultaneously displayed.) RMG also has excellent prices on disk drives, cases and power supplies, and many other items for the computer hobbyist. A new catalog is available for $2 (your $2 is deducted from your first order...so actually you pay nothing for the their catalog). Write for a copy.
Pete Fischer and Steve Ishii have put together the TS GUIDE TO TELECOMMUNICATIONS, which lists BBS phone numbers, hardware and software, and many useful tips. To obtain your own copy, write to P.O. Box 2002, Tempe, AZ 85281.
Have you blown your 2068's SCLD chip? Symptoms in- clude video display problems, excessive LOAD and SAVE troubles, problems with internal clock timing and key- board decoding, and others, you may have a faulty SCLD that needs to be replaced. You could send your 2068 in for repairs, but you can now (with some difficulty) replace your own. You may, or may not be aware that the SCLD is the only chip in your computer that isn't available commercially. Through the efforts of the Capitol Area Timex/Sinclair Users Group (P.O. Box 725, Bladensburg, MD 20710), which bought a large supply of them from the Timex computer factory in Portugal, you can now obtain these custom chips. C.A.T.S is offering them for $20 each ppd.
Knighted Computers, 707 Highland St., Fulton, NY 13069 (phone 315-593-8219) has obtained the U.S. rights to market TOMAHAWK, a combination helicopter flight simulation program and arcade game. Knighted has con- verted this popular Spectrum program to the stock Timex Sinclair 2068. The helicopter is a U.S. Army AH-64A APACHE, and features a 3D cockpit/window display, and use of both 2068 joystick ports! Price: $16.95.
i
TOMAHAWK has landed on U.S. shores.
A new ROM resident Monitor/Disassembler is now available for the Sinclair QL called ROMON. This comes from Meta Media Productions, 726 West 17th, Vancouver, B.C., Canada V5Z 1T9. ROMON 1.21 sports a host of fea- tures not usually found in a monitor. These include the display of SuperBASIC Functions & Procedures currently resident, the display of Jobs resident including the starting address and length of the job, the display of the major system variables and SuperBASIC variables, and more, in addition to the usual monitor functions of memory display and modification, register display, ect. ROMON is supplied on a ROMcard for the QOL ROM port. Less than 1k of RAM is used for the storage of Monitor Vari- ables. Write for pricing and further information.
Zebra Systems Inc., has just purchased the entire remaining stock of the popular SOFTSYNC line of 2068 software including the ZEUS ASSEMBLER, ZEUS MONITOR/ DISASSEMBLER, Personal Accountant and several games. zebra is now selling these commercial quality programs at a special price in time for the Holidays (stuff your stockings with these!). Consult their catalog or ads for further details, or write to: 78-06 Jamaica Ave.,
effects in your 2068 programs) and TRACER (a machine 7 Woodhaven, NY 11421.
KNIGHTED GOMPUTERS
707 Highland Street
(315) 593-8219
FULTON, NY 13069
Software & Peripherals
TS 2068 °
TOMAHAWK TOMAHAWE is a real-time flight Simulation based upon the US ARMY AN-64A APACHE Advanced Atack Helicopter - the meanest, deadliest combat helicopter ever Co rale the skies! Its specialized job is to hunt tanks and destroy anything that gets in its way. The Apache was built specifically to fight aad survive, night and day, in the thick of the battlefield. Flying a real helicopter is a demanding task, requiring training and practice - particularly ground attack. TOMANAWK gives you this challenge. Cliab into your cockpit and prepart for take-off.... FEATURES: Spectacular 3D real world display *Fally aerobatic (within limits of the real helicopter) *Ground attack & air-to-air interception *Over 7000 ground features *Day/Hight vision systems *Cloudy conditions, crossvinds ¢ turbulence *Doppler navigation & target tracking system *Laser guided missiles, plus rockets & jam chain gun *Selection of training and combat missions *Iapressive sound effects *Pilot ratings - Trainee to Ace "Uses BOTH TS2068 joystick ports!
ITM * 1212
$16.95
MICRODRIVE CARTRIDGES (pk of 4) Item #1158 _ey ~Microdrive
TRANSFORM BOX - HOLDS 20 CARTGS.
Item #1205 $ 9.95
[S1l2K RAM EXPANSION
This 512K card increases the QL's memory to 640K of Random Access Memory. With this memory expansion you can take full advantage of your QL. Our memory board is equipped with thru-porting so that you will still be able to connect a disk drive interface. This is another high quality product from KNIGHTED COMPUTERS. Item #1069
HARDWARE FOR YOUR QL COMPUTER
QL PRINTER
80 CPS, 9 PIN DOT MATRIX, AND COMES WITH LQ MODE (LETTER QUALITY) AND CABLE TO HOOK UP DIRECTLY TO YOUR QL SERIAL PORT.
Item # 1198 $199.00 QL PRINTER RIBBON Item # 1180 §$ 11.95
VISA
§ 11.95
$199.95
Sinclair QL’
BEST BUY
DUAL 3" DISK DRIVES
ONL Y $249.95 11 These top quality dual disk drive units have their own power
Supply and fan built-in, and very attractively encased. Now, cut your data storage costs by more than half. These drives are single sided, double density drives and format out at 180K per side - with just two disks, you'll have data storage capa- bilities of 720K - and the convienience of having two drives available at your command. INCLUDES: CABLE AND CONNECTORS AND QL DISK DRIVE INTERFACE, AND ALL FOUR OF THE QL PSION PROGRAMS ARE ALREADY PUT ONTO TWO DISKS FOR YOU.
ITEM# 1210 $249.95 3" DISKS (for above)
Hard plastic encased top grade 3" disks. Nice sliding metalic disk protector, and write pro- tect locks for each side.
ITEM# 1211 (BOX OF 10) ITEM# 1212
$ 4.50 $40.25
QL COMPUTER - With power supply, manual, dual microdrives, Data-base, Wordprocessor, Spreadsheet,
and Business Graphics programs
g209.95 |
Item #1140
GUIDE TO TIME OESIGNS BACK ISSVES
COMPILED BY PAUL BINGHAM
Time Designs Nov/Dec ‘84 Vol 1, No. 1 TS2050 Modem announced, Spectrum Emulator announced, U.S.A. @L released, 2068 Tech Manual released, Recoton Cassettes, "Rise & Fall if Timex Computer Corp.", 2068 Software Directory, Portable TS project, BASIC languages, 2048 Music I, 2048 Tasword II review
Time Designs Jan/Feb ‘85 Vol 1, No. 2 MT Sprit Printer (TS2080), Comparing Data Base Services, TS Modems, 2068 MTERM II review, TS1000 & 2068 Screen storage prorm, 2068 "Ant Attack" review, ROMSWITCH review, Static Discharge Bracelet, 2058 BREAKing and SAVE, 2068 "Great Game/Graphics
Show" review, 2068 "Compass" compiler review, 2068 “Straits of Hormuz"&"Exec Clue" review Time Designs Mar/Apr ‘85 Vol 1, No. &
Timex & Dave Higginbottom, TS User Group Directory, 2068 Text Entry/recall in M.C., TS1000 DATA/READ, 2968 House Payment prgrm, TS1000 "Basload" & "Super- tape" reviews, Guidelines on Over-seas Ordering, 2068 Z-LINK I/F review, 2048 OMNI-EMU review, Spctrm "White Lightning", “Lords of Midnight" & “BRAxx BLUFF" reviews
Time Designs May/Jun ‘85 Vol 1, No. 4 User Group Update, Oliger/Kingsley Disk I/F announced, TS2068 returning via Portugal, TS1000 “Intro to Computer Control", 2068 M.C. joystick routine, 2068 Graphics Problem, TV to Monitor kit, Tasword II Tips, 2068 Pro/File review, 2048 "Bill‘s Coupon Magic" & "Dealer's Den" reviews, Damco’s Spectrum Wafadrive review
Time Designs Jul/Aug ‘85 Vol 1, No. 5 Timex Network, Softaid hunger relief, Users Group Update, 2068 Graphics, 2068 Tic-Tac-Toe prorm,
TS 1000/2068 Alphabetizer prgqrm, TS1000 Set RAMTOP, TS1000 8K upgrade & Bank Switching reviews, Aerco FD-68 2068 Disk I/F review, 2068 Zebra-Talker review, 2068 "Night Gunner"&"Grade Book" & Spectrum "Deus ex Machina","Pajamarama" & "Sherlock" reviews
- a
‘i ‘ 4 4
| ia im | 4 1 rth. ae -
Time Designs Sept/Oct ‘85 VYol 1, No. 6 Portugal 2068 Update, 1TS1000/2068 Pablo Pixel-o HIRES Graphics prorm, TS1000 Adventure in the RAM Jungle, TS1500 Monitor Adaptor, 2048 Zebra Graphics Tablet review, 2068 Zip Compiler review, Book review “Minute Manual for Dot Matrix Printers", User Group
Update, Damco Spectrum Emulator, Spectrum “American Football" review Time Designs Nov/Dec ‘85 Vol 2, No. 1
U.S. QOL reduced to #299, Sinclair TV review, User Guide to Halley's Comet, 2068 "Shuttle review, TS1000 Adventure in RAM II, TS1000 Interest praorm, FD-68 Disk I/F review II, Zebra 2068 Disk Drive review, 2068 Obsticle Run prorm, 2068 ZPRINT- BO review, 2068 VIEWord/MAIList/FORMail review, spectrum D‘KTronics Speech Synthesizer review
128K Spectrum Group Update,
released, £068 Gazer'‘s Designer"
Time Designs Jan/Feb ‘86 Vol 2, No. 2 "Why The QL?7", TS1000 Adventures in RAM III, TS1000 Chroma-Soft review, 2068 Shell Game prorm, Linear Programming for TS user, 2068 "Turbos" engine praorm, Radio Shack Mouse & Zebra 2068 Graphics Tablet,
2068 Wrap Disk
"lollipops" prorm, Gamesmate fix, Joystick Around prorm, 2068 Labelmaker prorm, Portuguese Drive for 2068, 2048 Machine Code Tutor review,
2068 05-44 review, 20668 Rainbow Plus emulator review, Spectrum "Astronomer" review Time Designs Mar/Apr ‘864 Vol 2, No. 3S
Frogramming in QL SuperBASIC, QL "Graphi@QL" review, "Of Strings and Things" TS1000, ZBO Machine Code I, 2966 Tasprint & Aerco printer I/F, 20468 Phone # prorm, Convert WC2050 Modem to RS-2232 I/F, How to connect with BBS, 2068 Burglar Alarm, HI Res/64 col utility 2068, Oliger 2068 Disk I/F review, 2068 "ARTIST" review, Top-10 2068/Spectrum prorms, Mini amp for Spectrum SW
A a VOL Pou
(ine DaiCny
maf soo
Time Designs May/June “86 Five TS1000 tips, Printer tips, improve Zebra Graphics Tablet, NEWS: Amstrad Buys Sinclair, TS Computerfest Report, User Group Update, 640K OL upgrade, QOL "Qspell" review, TS1000 Consentration game, TS1000 progrm chaining I, Z80 Mchn Code II, 2068 Cassette Directory prorm, 2068 header reading w/ Mchn Code, 2068 Cavern game, Moving an AROS cartridge to FD-68, Adding a Spectrum/2068 joystick, More on Oliger Disk I/F, 2048 Pro/File Extentions review, 2068 "Address Book" review
Vol 2, No. 4
Time Designs July/Aug ‘84 Vol 2, No. 53 Sinclair Micro Update, Meet the OL Clones, Time Designs Acquires 5.U.M., @L Game reviews: (Matchpoint, Chess, War in the East, Wanderer, Squadrons & Hyperdrive), QL "Cosmos" review, TS1000 External Keyboard Buffer, TS1000 Digital Clock, TS1000 prgrm chaining II, 780 Mcehn Code III, 2068 Bankswitching “Missing 253", Embellishing 2068 MTERM Il, 2068 Ultra-Easy Designer Graphics, 2048 "Poly- scroll" prorm, 2068 Video file prorm, Datagen 2068 DATA statement prarm, 2068 Ski game, 2068 Tasword Word Count addition, 2068 "MacIntosh" Menu, 2068 Sound Synthesizer review, Spectrum "Saboteur"review, 2068 "Colonize the Universe" review
Time Designs
Sept/Oct Sir Clive’s Confessions, User Group Update, "Light
Vol 2, No.6
Show 2000" 2068 prgrm, 2068 Pixel Sketch & Graphics Editor review, 2068 Timachine Compiler review, Larken TS1000 Disk I/F review, TS1000 7X-CALC + R.F.R.G. review, 2068 Bank switching: more about missing 253, 2068 3-D Tic-Tac-Toe prgrm, GL Peintre review, QL,s U.S.A. future, QL Graphic/CAD Systems review, ZBO Mchn Code IV, TS1000 Pragrm Chaining III, Upgrading TS10146 RAM to 64K
SOFTWARE IN REVIEW SMART TEXT TS-2068
A warm grin began to pass over my face late last night. In my mind's eye I could see a little light bulb beginning to glow dimly in the cartoon balloon above my head.
I was curled up with a good book, uh manual. After my second reading of this thirty page treatise and three sessions with the two hour electronic introduction to the program, the concepts by which it functioned were finally beginning to fall into place. I was becoming a cursor instead of a curser.
"SMART TEXT TS-2068" is Bill Jones' effort to create an AppleWorks environment for your TS-2068. The package includes a text editor and manager integrated with a small mailing list routine. Other convenient features are printer formatting for a variety of utili- tarian purposes and in a variety of type styles. The $39.95 price tag makes SMART TEXT one of the more expensive programs available for the 2068. The pro- gramming and memory saving tricks alone seem to justify the cost. In addition to some valuable techniques in data management, you can also perform some useful tasks with SMART TEXT.
Of the programming tricks mentioned, three are Significant. The first is the routine that manages text entry. The character code of the keystroke is checked for validity. This approach is preferable to use of the INKEYS function. It allows, from BASIC, a typing speed of 100 words per minute, according to the manual. Read this as you would a mileage claim on a car window sticker.
SMART TEXT makes extensive use of memory saving techniques we learned in our TS 1000 days. Two old standards are employed by SMART TEXT to include within the software as many functions as possible while still retaining enough memory for a decent amount of text storage.
One of these is the use of letter variables to represent often used numbers, including program line numbers. "Pseudo Hex" is a term coined by Bill Jones to refer to his assigning of the variables oo, oa, ob, ect. to represent the numbers 0, 1, 2, ect. Another memory saver is the use of logical operators in long single program lines to replace the need for many lines to act on menu choices. Bill calls the technique "Dense Pack BASIC".
SMART TEXT functions are many, varied, and utili- tarian. This software appears to have been developed by a "user", first for himself, and now for others. There are so many choices not offered in other word processors that it will take the new user a good number of hours to appreciate the alternatives presented by this text editor and manager.
The first and most basic function is typing. Like other word processors, SMART TEXT allows you to delete mistakes and to retype. You can also insert new text be- tween already typed words. Entire blocks of text can be
10
deleted and inserted. Additional text can be appended to the original, and the whole text file can be saved. Pretty standard stuff.
Unlike other word processors I have seen, SMART TEXT allows you to print what you have just typed with- out having to make a lot of decisions about how the printer should format the output. The text you've en- tered is quickly printed perfectly centered on the page in any print style but without any embedded printer commands.
The secret to this "smart typewriter" mode is the fact that you have already spent some time explaining to SMART TEXT the various commands your printer requires to enable and disable any special modes or pitches.
Program lines must be revised, within the guide- lines of the Oliger protocol, to set up your printer's various capabilities. I altered the review copy to re- flect the pica, elite, condensed, and proportional pitches available on my Prowriter as well as its bold print and double width modes,
SMART TEXT automatically calculates the maximum length of a text line in the selected pitch or mode. It asks you what length line you want to print. Then it calculates the correct margins and adjusts accordingly.
One of the reasons my hair is grey is the time I've spent calculating margins for center printing different print pitches and widths. Embedded commands that are counted in some word processors and not counted in others have driven me to considerable distraction. No longer.
In addition to printing text centered on the page, SMART TEXT provides the capabilities of center printing captions and letter heads, flush left printing of addresses and salutations for business-like letters, and automatic formatting and printing of the signature block of a letter.
Printing form letters to different people is accom- plished by the integration -of a small mailing list. Twenty-four records can be added, displayed, corrected, deleted, and saved.
Mailing labels or form feed envelopes can be printed. The mailing list is also used to "personalize" form letters with the first name of the recipient. A comma should be appended to the first name field, since the software does not include it.
In addition to letter formatting, SMART TEXT TS- 2068 assists with the printing of manuscripts, documents other than letters. The document can be printed with justified or non-justified right margins, with the first line of each paragraph indented or with the entire paragraph in block form, and with entire paragraphs block indented with properly adjusted margins.
The key to the preparation of manuscripts is the concept of the paragraph. SMART TEXT is set up to store discrete paragraphs in separate elements of two string arrays. It can alternately be organized to store con-
tinuous text in three large strings. When one string is filled, the text automatically moves into the next con- secutive string.
Discrete paragraphs are stored in the HS and IS arrays. The dimension of the elements in the arrays is user slected. The maximum is about 850 characters each. Ideally the text stored in these paragraphs has already been edited and does not need to be changed.
Continuous text is stored in the A, B, and C "banks". Any of these banks can be reviewed and edited via menu selections. The user can selectively copy a portion of one of these banks to another string (LS), called "The Paragraph".
This storage area can be altered or appended fore and aft. These editing functions can occur even if you are currently entering new text into the typing buffer (US).
Prior to any editing action, any text that may be currently in the typing buffer is temporarily "set aside" into and S$ storage area. The text to be edited is then placed into the typing buffer for viewing or alteration. When the editing is completed, all the text is automatically restored to its former position.
When all your text has been edited and ready for printing, you have a veritable plethora of printing sequences from which to choose. The text may have been stored in up to twenty different positions. User alter- able program lines determine which text is printed and in which order.
Repeat printing functions take care of the number of copies and the page formatting. Fifty-four lines are printed per page, the pages are automatically numbered,
MUSICIAN ROYAL
MUSICIAN ROYAL is one of the most recent programs released for the 2068. Written by Dr. Oleg D. Jefimenko and sold by Electret Scientific Company, it proves to be one of the more comprehensive music programs available.
One of the most useful features of the program is the ability to transcribe already written music into the computer and have it play it back to you using the BEEP command. Even though only one voice is available, the control over the parameters makes up for it.
The play options allow you to change the key in which the composition is played, the tempo can be changed as well as the order in which the song(s) can be played. The editing features allow you to change any possible errors.
The tape comes with three programs as well as a demo program with six compositions already transcribed and ready to play. The first program is the actual transcribing program where you are greeted by a screen that asks you for the name of your composition and the number of sharps or flats contained in your selection. You are then greeted with a musical staff with notes and their respective pitch (several octaves worth) graph- ically pictured on the screen. A prompt with several different menu choices are also displayed. You enter the notes one at a time adding the inflections (sharp, flat or natural) as needed. The treble clef is displayed but you can change it up or down an octave and also the same can be done with the bass clef.
Next you enter the value of the note for the time Signature (whole, half, quarter note, ect.). At the end of each measure, you can enter a Q which is an aid when going back and editing. A duplicate function is also available when you have two groups of notes that are in the same order which really saves some typing. Entering Z allows you to correct your last entry.
With a printer (TS 2040) attached, the information is printed as it is entered so as to see where you are and to make it easy when looking for entry errors. Once the transcribing is completed, you have the option of
pie |
and form feeds are sent at the appropriate times. make yourself a cup of coffee.
My Aerco Disk version of SMART TEXT makes excellent use of those areas of DOS which have been implemented and works around those that have not. A lengthy tutorial is included.
The tutorial is filled with bells and whistles that tended to get on my nerves after a while. A list of the clever graphics and sounds is provided by. the tutorial to serve a reference for the use of these techniques in your own programming.
The tutorial and the software are both tributes to the fact that the BASIC syntax checker of our Timex Sinclair computer will not forgive misspellings and grammatical errors except in "Print" statements. This untidiness detracts from the cosmetic appearance of the software, although it does not affect its usefulness.
SMART TEXT is available for cassette users in both 32 column and OS-64 versions. A&J Micro Drive, Aerco Disk, and Oliger Disk versions are also available. Aerco, A&J, Tasman, and Oliger printer interfaces are supported. Specify version.
SMART TEXT is $39.95 and is available from Bill Jones, Gulf Micro Electronics, 1317 Stratford Ave., Panama City, FL 32404. Bill welcomes your comments and questions. Call him after 6 pm local time at (904) 9871- 4513. You'll enjoy the experience.
Go
-—-Duncan Teague
playing, SAVEing, LPRINTing, or editing. You play as written, or in any order you wish, ually repeat itself.
The manual is very well written and leads you through the program carefully. The second chapter is de- voted to those with very little background in music. It gives you a crash course in music notation and what all "all them little symbols mean".
The second program on the tape is called MUSIC BOX and it allows you to take the music transcribed in MUSICIAN ROYAL and collect them. Each MUSIC BOX that you make can hold up to 8 compositions with up to 1500 notes (total) in the first seven and 1500 notes in the eighth composition. MUSIC BOX is easily filled by loading in data saved from MUSICIAN ROYAL. A table of contents helps you keep track of what is stored already.
MUSIC ALBUM is called the “ultimate procram" for collecting and playing compositions transcribed in MUSICIAN ROYAL. It can hold up to 2000 notes total in 8 compositions. You have the most control over the tonal- ity of each composition. You can have the slections play in any order, control the tempo, and control the dur- ation of the pauses between compositions.
have it
can or contin-
The programs all have certain safeguards built in, but are all easy to convert to mass storage such as disk drives. Large printer drivers are also easily added.
All in all, the program is very professionally done from the packaging to the 75 page manual which comes with it. I had no problem loading the tape and my order was delivered within three weeks of placing the order by letter.
Needless to say, I was disappointed that it only used the BEEP command. I remember that I was so excited when I saw the ad and ordered it thinking "Great! A decent looking SOUND program has finally been written for the 2068". At least I assumed it used SOUND. Because
SPRITES 2068
Sprites, for those of you unfamiliar with them, are very simply User Defined Graphics (UDG's) which are capable of moving about the screen. Aside from movement, one large difference from regular UDG's is that sprites are normally larger than a single character space. A good example of a sprite, is the ghouls and goblins that appear on the screen of most arcade games.
SPRITES 2068 is a sprite development and handler package. Those of you that have the TDM Technical Manual will note that there is an appendix, number C-5, devoted to this subject. This program is none other than this same code.
SPRITES 2068 co-authors Tidwell and Ruegg have "de- bugged" the Timex sprite package code. This was no small task as I had tackled this myself and found many "bugs". They have also enhanced the original package with the addition of an automatic RAMTOP setter and additional screen attribute capabilities.
Having the Timex sprite service code is of no use however, if you cannot interface a program with it. Therein lies the true value in this package as Tidwell and Ruegg have prepared a comprehensive manual and a very mice Basic program to demonstrate the sprite packages' abilities. The user manual is clear and easy to understand. They have assumed you know nothing on the subject, yet, have not "talked down" to the advanced programmer.
Authors, Tidwell and Ruegg have included in the manual, a section on machine code interfacing. This section is the poorest part of the manual, but if you can write machine code programs, you will not suffer for it. They have thoughtfully listed all of the variables and a memory map, and of course...you already have your own copy of the Technical Manual to go by.
And as if all of that were not enough, there is also a very nice UDG development tool included with the Basic demo program. This could be used alone to aid in the addition of UDG's to your programs. It allows the Gesign of each UDG in enlarged format and then displays the UDG in normal size, as it would appear on your screen. It will also display a group of UDG's, 8 across by 8 down, to view your sprite (or a portion of it) as it will appear.
SPRITES 2068 will allow up to 256 sprites, each one up to 256 by 256 characters. In practice however, you will find the constraints of memory size will not allow for this. The invisible wall, RAMTOP, will not interfere with your use of sprites, as there is enough memory in the 2068 for most all the sprites you will want to use.
The smallest sprite possible is one character space (8 by 8 pixels), due to the use of the UDG's as designed by Timex. This means that your sprites will require some thought as you can only use two colors in each character space. Also, movement of the sprites can appear “blinky" if there is too much going on in your program.
There are vertical and horizontal screen scrolls in
SPRITES 2068, however, they too use the character space
le
of this, I think the $20 price tag is a bit steep. It would be well worth it if it used SOUND with all of the features it contains. Hopefully Dr. Jefimenko will come out with a sequel using all four voices.
The program is available from Electret Scientific Company, PO Box 4132, Star City, WV 26505 for $20. If you would like a sample of what you can expect, (a nice courtesy) they will send you the DEMO ALBUM for $3 which will be subtracted from the $20 if you do decide to order the whole program.
——Joe Williamson
An animated sprite display from the demo program of SPRITES 2068.
as the smallest unit of measure. They can be combined to create a scroll in eight different directions. The scrolls, as well as the sprites should really be ad- dressed on a pixel-by-pixel basis. However, it appears that Timex never intended us to have that kind of con- trol from the "normal" video mode.
SPRITES 2068 is a crude sprite package BUT it is the ONLY one available for the Timex Sinclair 2068. If you are accustomed to the graphics abilities of other computers, such as Commodore or Atari machines, you might be a little disappointed. Keep in mind, however, that those computers were initially designed to play games and therefore, have sprite capabilities as part of their operating systems.
I found SPRITES 2068 to be an excellent "starter" package. If you want to include sprites in your own programs, you will find this utility very easy to use. I would suggest that you do follow the user manual's suggestion of programming in small blocks, as you must be very careful to maintain control over what is happen- ing on the screen. This control is needed due to SPRITES 2068 use of the Attr-P system variables instead of Attr-T. With some careful planning, you will be amazed at the results you can accomplish.
Tidwell and Ruegg deserve a big hand for their thorough treatment of sprites. They have taken the Timex sprite routines and explained them to us in laymans terms.
Price for the SPRITES 2068 development package on cassette, complete with a comprehensive 34 page manual, and an educational (and entertaining) demo program, is $19 ppd. It is available directly from the authors (Vern Tidwell- 1303 Whitehead St., Key West, FL 33040 or Ron Ruegg- 37529 Perkins Road, Prairieville, LA 70769) and some Timex dealers handle it also.
-—-Syd Wyncoop LARKEN | DISK DRIVE pyog 7 Controller Boards for 2POEE
Feotures Common to Both
- LDOS on Eprom supports Basic Programs, Code blocks and Arrays - Commands sre-DIRECTORY LOAD, SAVE,FORMAT, DELETE and EXIT - Up to 52 files per disk - Directory is DOS maintained
- Coan be modified to work on either computer (eprom and cable req) - The most Powerful DOS for the ZX-81 : Very User Friendly - 2066 version is Spectrum Emulator Compatible: Extra commands - Requires double sided 5.25" drive 60 day money back guarantee Prices: $95.00(US) for single dive $99.00 for | or? drives $400 for drove cable (all other cables included) include $5.00 shipping : Send certified cheque or MO. To - LARKEN ELECTRONICS RR#? NAVAN ONTARIO CANADA E4B-1H9
(specify 2X-B81 or 2068)
For wrour 2x81 /TS
KALEIDOSCOPE
A Superior Version Of This
“Dildo Standara™ 16005 And 15800
By feck Xewier Haqueér
Many "Kaleidoscope" programs have appeared over the years. These simple, but fascinating graphics displays have been adapted to virtually every computer ever built. The ZX81/TS family is no exception. Unfortun- ately, since the Z80 CPU in these machines is (effec- tively) clocked at only .5 mHZ in SLOW mode, the result is rather slow and BO-RING. Type in the program Listing #1 (BASIC prototype), and you'll see what I mean.
Now, let's take essentially the same program and write it in Z80 machine code. For a graphic demonstra- tion (pun intended) of the speed and compactness of code »+.-Start by entering a 1 REM line, followed by 172 X's or other character. (HINT: use FAST mode.) Now enter the rest of Listing #2 (machine code loader). RUN the pro- gram, and input the values given in Table #1 (decimal machine code). Go from left to right, top to bottom. Take your time, and proof each number before you enter it.
When you're done, your 1 REM line will look like sheer nonsense. Don't worry about that; just check it against the 1 REM in listing #3 to make sure it's the same. Enter lines 2-6 of Listing #3, overwriting the loader. Delete lines 7 and 8. SAVE to tape with RUN 5. The program will auto-run when the save is finished. WOW! Press BREAK when you're adequately hypnotized.
Line 2 contains the fill characters used for the display. Change this however you see fit: there is no limit on length. HINT: use symmetrical characters, like O, *, =, +, the grey squares, spaces, and their in- verses,
This will run on 2k machines if you modify the BASIC portion as shown in listing #4 (2k changes). This is because this program relies on a fully padded-out display file.
If you're interested in studying the machine code, use a disassembler or HOT Z to take a look at the code. As mentioned, it pretty much follows the structure of the BASIC prototype, so you should have little trouble finding your way around. the code from 408Fh to 49B4h gets pseudo-random numbers in B and C. Next are two ways of implementing a modulo function. At 40B5, C is reduced mod 16 (exact power of 2), and at 40BD B is reduced mod 12 (mot a power of two). The CALLs to 40F6, 40FB, 4100, 4105 and 410A correspond with the BASIC GOSUBs to 250, 300, 350, 400 and 1000, respectively. The routine at 410A is a “print at BC" routine which is MUCH faster than the comparable ROM call to O8F5 followed by RST 10h. It prints the character pointed to by CH ADD at row B, column C. NOTE: it does NOT check for over-range.
The next time some smart-aleck ribs you about your "slow" ZX/TS, boot this program and watch his jaw sag. Isn't this fun?
LISTING 3: M/C KALEIDOSCOPE
1 REM JNINKEYS$<¢, RETURN A487 -RND)I? GOSUB ?MRND™?7LN e< FAST ?77LN =iAT Tek" « 77HRK® O7FEHR ND?7ACS Tacs Tacs TACS Teresi IF 7TVUAL LN PLOT RNDLN INKEY4SLN “INKEY $AT VAL LN PLOT RNDLN § INK EYS$LN “INKEYSAT VAL LN CLS RNODLN INKEYS$SLN “INKEYSAT LN CLS RNDL BINKEYSLN “INKEYSLN 77 AN Y¥¢ OOTAN ¥ (BBY RAND Y2SBCTAN Yf™iy RAN D E£LRND7VVAL : ACS SACS ;ACS SACS ;ACS SACS ;eAT 72 7m GOSUB 7-R ND,ACS 3 Ae
SLoU
RAND USR 16514 SAVE “KSCOPE” RUN
nue wn
13
LISTING 1: BASIC Prototype
10BLET Fs="i Saye 20 POKE 16418.0 30 LET POINT=0 _ 40 LET POINT=POINT41 |
SQ IF POINT>LEN F§ THEN GOTO 3
60 LET AS=FS (POINT) 70 LET B=INT (RND#12) S60 LET C=INT (RND#16) 90 GOSUB 250
100 GOSUB 3590
110 GOSUB 1809
120 GOSUB 250
13Q@ GOSUB 489
on
1010 RETURN
LISTING 2: Machine-code Loader
1 REM XXXXXXMMMMXMRRMK RRM MERE KM MMMM MMMM RM MM ME KM KK KOK x MXM XMM MK MMM MM MMR MMM MRK MMMM KM KM KAKA KKK KK A KKK KAKA ARK AKA KKK KKK XMM MMMM MRM MMMM MMMM RMR KKK XK KKK KKK KKK KKK KKK KKK
FAST
FOR A=16514 TO 16665
| L
E A,6 PRINT A, PEEK A NEXT A
ayaaFoN x te | Iz a Ce a ~ ©
TABLE 1: Machine-code Decimal Data
af: oa: 683: if: fei e Bias 40; 2e47:237: 83: @2: 64: 17: : a: 237: 735: 53@: 64: =: 98 104 205:
9: 19:229: 98:105:205 19: 193:124:129: 468: : 4:103:125: 144 46 1 or:i111: 43 od 50:
64 69 *6:203: S7:203 S7:203:
S7:203: S7 6: 12:184: 56 i ddd: 24:2590: 71:197:205:246: 64: 205 ©: 65:205: 10: 65:193: 197: 205:246: 64:e205: 5: 65:205: 16:
65:193:197:205:251: 64:205 Q:
65:205: 18a 5:193:205:251: 64: 205 S: 65:205: 10: 65:205: 720:
15 S6:i44:201 62 16:i29 79: 201: 62: 16:145: 24:249: 62: 12: 128: 71:201: 62: 12:144: 24:249:
42 12 64 wo:i197 14 @:203:
56:203: 25:203: 5S6:203: 25:203:
56:203: 25 9:193:120:129 6:
7 23/7: Si: 22: 64: 26:
LISTING 4: 2K Changes
3 SLOU
4 POKE 16418,
= FoR a=o TS 23
5 PRINT AT A,31;" " 7 NEXT A
3 POKE 16418,2
3 RAND USR 16514
18 SAVE “KSCGPE2K” 11 RUN
| VERN TIDWELL OR RON RUEGG
SPRITES 2068
FANTASTIC NEW PROGRAM! Exciting & Educational
You’ve heard of SPRITES. Explore the subject. Create Moving Displays and Games. Buy a copy for your TS-2068, they belong together.
FEATURES: SPRITE SERVICE UTILITY (2520 Bytes IMPROVED professionally written machine code) SPRITEDRAW Program (Great NEW program makes | drawing a SPRITE both fun and easy) Operate from BASIC (Utilizes a Machine Code Interface. Twelve SPRITE Commands) Operate from Machine Language (VERY QUICK Screen Action! Bonus MCSPRITES program) Cassette Tape (Includes demonstrations and instructions. Menu driven. Fun to watch) Manual (34 pages written in "user friendly” style for all programmers)
Authors INTRODUCTORY SPECIAL Includes Postage | | To ORDER: Send Check or Money Order $19.00 To
1303 Whitehead St. 37529 Perkins Road | Key West, FL 33040 Prairieville, LA 70769 }¥
"Il heave seen SPRITES 2066. I Have read it and |] heave tested it; and I cannot say enough good about it If I had to sum it all | up, I'd sey that if you HAVE sa TS-2066, SPRITES 20668." If
Uneolicited Testisonial ' r*
79
C. W. Associates 419 N. Johnson Street Ada, Ohio 45810
Ne s ~s = — ee et i ets Ses2=D ib = v ba — ~—s— : o's? -- @'@, 2 — ~~ = SOE es Sh SE +. =1,1
—_
authorized Sinclair QL dealer
SEND FOR OUR FREE CATALOG! Write or Call: (419) 634-4874 (6-9pm)
HHHHHHHHHRRHHHRHHRHRRHHRRRR HERE IT IS!
35 6
Get the CHECKBOOK/BUDGET MASTER program from LEMKE SOFTWARE DEVELOPMENT Chome of the PIXEL SKETCH and GRAPHICS EDITOR v2.0 the only grephics program to cross the ADVANCED VIDEO MODE barrier providing 32 column, 64% column, and extended color graphics!). CHECKBOOK/BUDGET MASTER and the PIXEL SKETCH and GRAPHICS EDITOR v2.0 ere each 315.95 ppd., get yours TODAY!
THE TRACER A NEW PROGRAMMING UTILITY FOR YOUR 248!
This little package allows to SEE WHAT YOUR PROGRAM IS DOING! Ina ine being able to watch the program lines go by at the bottom of the screen as the display continues unaffected (other than the speed)! A GREAT LEARNING TOOL!!
You can see what each command does! What better way to learn the basics Hag itate ’
YOU SET THE SPEED! AS SLOW OR AS FAST AS YOU LIKE! SIMPLE COMMANDS - ONLY 3 OF THEM!
We think that TRACER is the best Learning and de- bugging tool we’ve seen! We think that you will agree! The working part of the program is 100% MC and it is INTERUPT driven!
Another SUPER eon from S & K SOFTWARE, the nane hat brought you KRUNCHER!é
AT ONLY $14. 955+$1.5¢ph THIS ONE IS A MUST FOR ALL PROGRAMHERS! IT WILL SAVE YOU MORE THAN THAT IN TIME ALONE!
TRACER 2068 | TS AVAILABLE EXCLUSIVELY FROM
RMG ENTERPRISES 1419 1/2 7TH STREET, OREGON CITY, OR 97045 503/655-7484
HHHHHHHHHHHHHHRHRHRRHHHHRHH
LEMEE SOrTwAReE DEVELOPMENT
Presents the 26,8
CHECK EPOOK /BUDGET Master
The CHECKBOOK/BUDGET MASTER is a checkbook database program and 8 powerful home or business budget analysis progrem in one compact/lightning Fast program. CBBN was written in BASIC and compiled with the TIMACHINE Cby Novelsoft) Basic Compiler!
Program Specification:
Datebeses holds 600 checks (withdrawl or deposits) Check Receall/Review by: Check Number, Month, Paid To Functions: REVIEW, LPRINT, DELETE, SUBTOTAL ¢+ or -)
Budget Analysis: 14% User Defined Categories + 2 Ceach category has 4 sliases)
Assign 3 Budget to each category (for each month)
Automatically tallies EXPENDITURES as checks are filed end INCOME es deposits are Filed!
Update feature: change categories at any time, use the UPDATE command to re-catalog checkbook Files
OUTPUT: Tabulec or Graphic format 2040 printer or essy Full size printer mod.
Budget Darina Cetagariana
Sonat st Busgtres ef
, Silaectirie Renta Grant Budget
a
For a practical demonstration of a chained program, using the Above RAMTOP method of passing data from one module to another, I have chosen one consisting of three modules. A module to set RAMTOP ("RT"), a text entry module ("TE"), and a text LPRINT module ("PRT"). The program will allow you to enter, store above RAMTOP and print out a set of lines consisting of 32 characters per line. The number of lines in a set is available as
follows? veer Ran LINES PER SET ne Ai meee 489 nol 1001 48K i513
With a full 64k memory, the 8k area between the ROM and the system variables area is available and the program could be modified to store an additional 256 lines per set.
In addition to the computer, a tape recorder, and a TS2040 or equivalent 32 column printer, you will need two tapes. Optionally, one of these can be a_ telephone answering machine message cassette tape--either 60 sec. (RS #43-406) or 3 min. (RS #43-407)-—-price: $4.95 each. These are both endless loop tapes. If you plan on adding more modules to the program, then purchase the 3 minute tape. I have not found a supplier for a longer endless tape.
Figure No.1 is the program listing for the "RT" module that sets RAMTOP to address 17096. Line lis set up to receive a four byte machine code routine to be POKEd by lines 14] to 144, which are then deleted. Line 10 makes the module self running when the program is re- corded with the direct command: GOTO 10. Line 20 pre- vents a TV interupt from occuring during the execution of the program. Lines 30 and 40 POKE the desired address of RAMTOP into the system variable RAMTOP. Lines 50 thru 80 POKE the four addresses under the desired address of RAMTOP with the decimal values that must normally be there (except after a GOSUB and before a RETURN) for the computer to operate properly. Lines 90 and 100 POKE the system variable ERR_ SP with the address in line 80 (i.e.; the addresses of the first item on the new Machine Stack). Line 110 calls the machine code routine that is POKEd into the REM statement (Line 1) by lines 141 to 144. Line 120 in conjunction with 140 activates the actual resetting of RAMTOP to the desired address. Line 130 automatically loads the next self running module if the tape is not stopped. Unfortunately, there is no provision in Sinclair BASIC by which you can directly address any of the Z80 internal registers. You must resort to machine code and the USR_ function. Looking on the left side of page 138 in the TS 1000 or page 142 in the TS 1500 User Manuals, you will find that
15
the Z80 assembler language mnemonic corresponding to the decimal value 49 in line 141 is ld sp,NN. This means load the machine stack pointer registers S and P with the address represented by the values stored in the next two addresses (low byte then high byte). In this case the values 196 and 66 POKEd into addresses 16515 and 16516 by lines 142 and 143. Locating decimal code 201 in the same appendix, you will find that it stands for ret (return). In this case, this returns you to the next line of the BASIC program after the USR function. I hope you noticed that I did not need to use the word hexa- decimal until now. Dr. Ian Logan, the leading authority on the Sinclair ZX, T1TS1000/1500, and Spectrum ROM, states in his book, UNDERSTANDING YOUR 2ZX8l: "The principal behind Hex coding is once again very simple, but it takes a very long time to become fluent in its use, and even programmers of some years experience still have trouble". Because of the interference with the ex- isting GOSUB and machine stacks, RAMTOP must be moved down a minimum of sixty addresses or up a least two addresses using this routine.
Figure No.2 is the listing for the text entry ("TE") module. The program is designed to use as little display as posssible, in order to be able to store more text. Top Down programming was not used in order to locate the text entry loop at the front of the program, adding to the entry speed of text. For the same reason, some memory saving techniques are not used in some places of lines 20 through 80. The dimension for TS and the value of the variable B, are to be entered by direct commands prior to recording the program. The STOP in line 30 is typed using the shifted A key.
Figure No.3 is the listing for the LPRINT module ("PRT"). The programming is fairly straightforward. The dimension for AS and the value for the variable B are to be entered by direct commands before recording the module.
As each of the modules will fit in lk of RAM, in order to save both loading time and tape, set RAMTOP to 17408 before typing in each module. To do this’ enter:
POKE 16388,0
POKE 163897,68
NEW I advise using a regular tape as a master, recording each module with the normal SAVE command before re- cording it on an operating tape using the GOTO command. Those who elected to use an endless tape as their op- erating must locate the place where the ends of the tape are spliced with a yellow strip. Never try to rewind an endless tape. The are designed to operate in one direc- tion only. Be sure you turn the sprocket in the correct direction when locating the yellow splice. After lo- cating the splice, make an audio recording, using the built-in mic, of one word only, such as "“start" or "one". This will make it easy to locate the splice again should you need to re-record the program. The three modules will just fit on a one minute endless tape with- out much to spare.
Set RAMTOP to 17408 with the commands given above. Type in the listing of Figure No.l. After checking the program against the listing, record it on the master tape using SAVE "RT". Now use the command GOTO 141 which Will poke the machine code into the REM statement. Delete lines 141 to 144. Record the second version of the module on the master tape using the SAVE command. Without rewinding, remove the master tape from the re- corder, replacing it with the operating tape and re- cording the module using the command GOTO 10. When the diagonal LOAD command lines appear on the screen, stop the tape. Without rewinding, remove the operating tape, replacing it with the master.
Again set RAMTOP to 17408. Type in the listing of Figure No.2. Check the program against the listing. Enter the direct commands:
DIM T$(32) LET B= (as listed below)
User RAM B
2K RAM 18409 16K RAM a2745 uzkK RAM 49129 48K RAM 65513
Record this module on the master tape using SAVE "TE", then on the operating tape using GOTO 140. When STOP THE
TAPE appears on the screen then stop the tape. Replace the operating tape with the master tape. As the TE module does not change RAMTOP, you can
clear the program using NEW. Type in the listing in Fig- ure No. 3 for the "PRT" module. After checking for typing errors, enter the direct commands:
DIM A$(1)
LET B=(as listed above). Those using endless tape, replace REWIND TAPE in line 100 with spaces. Save this module on the master tape using SAVE "PRT" then on the operating tape using GOTO 10. When STOP TAPE appears on the screen, then stop. the tape.
INPUT TS FOR N=il TO
REM 1234 fee
hd - =
180 33 ANY 110 PAUSE VAL
“2 “6 "6 "2 "6 “3 “s “6
ies = = Go
P TAPE 160 PAUSE VAL
ER TEXT” 160 LET A=VAL 1988 GOTO VAL
POKE 16517,.201 FIGURE NO. 1
Understanding And Upgrading
2. =" STOP “
POKE A,CODE Tsini LET A=A¢1 IF - i =B THEN GOTO VAL “Se”
er’
WAL AT SIN PI, ‘SIN Pi;,” KEY THEN START THRE” “32768"
15a PRINT AT SIN PI,S5IN PI; "
"120" 170 PRINT AT SIN PI,SIN PI;
“i7es?" t | 18”
FIGURE NO.
To operate the program, turn off the computer and then power up. Those not using endless tape must rewind the operating tape. Enter the direct command: LOAD "RT". Then start the tape. When the second module has loaded and STOP TAPE appears on the screen, stop the tape. When the cursor appears on the screen you can start typing in text. The left hand quote symbol marks the end of a 32 character line. After checking the text, use the enter key. Corrections must be made before the enter key is pressed. Spaces to fill out a line need not be typed. Any characters over 32 will be dropped. To stop text entry use the shifted STOP on the A key as the first entry of the next line. Follow the directions on the screen to load the LPRINT module. After the text is printed you have the option of printing another copy or reloading the text entry module to enter a new set of text.
In the CONCLUSION of this series, I will cover how the values for RAMTOP and for the variable B were de- termined.
10 SAVE “PRT” rT AT SIN PI,SIN
VAL "120 aA Pr, SIN
THEN GOTO
LS IF Ag="N" THEN GOTO | IF Ag="¥" THEN GOTO VAL
GOTO VAL "40" 1@8 PRINT “REWIND TAFE,PRESS Y,START TAPE” 11@ PAUSE UAL "32768" 128 CLS 13@ LOAD “TE” 149 FOR N=VAL “17e97" To 150 IF PEEK N=VAL "227" TO VAL “1380" 160 LPRINT CHRS PEEK N; 17@ NEXT 180 LPRINT 198 GOTO VAL “4a”
B THEN &
2
FIGURE NO. 3
The TS1016 RAM Pack
by Tim Stoddard
This is the second part on upgrading your TS 1016 RAM Pack to 64k. Last issue we discussed the ins and outs of dynamic memory and how the Sinclair RAM Pack works. This issue it's time to warm up the soldering irons!
Take a look at Fig.l. You'll note that the circuit schematic looks quite similar to the one in the last issue. There are, however, some significant differances. The biggest change is the addition of selection logic (the 74LS138, 74L5139). Missing is the noisy Dc to Dec converter that generated the +12 and -5 volt bias volt- ages needed by the older 16k DRAMS.
Another more subtle change is the addition of the active low OR gate in address line 15. This brings up the unusual architecture used in the ZX/TS machine. The interupt routines in the Sinclair ROM ASSUME the display to be under the 32k boundry! So if y:ou add enough memory to extend beyond the 32k boundry and then in- itialize it, you will lose the display! To get around this problem we must force the memory to “look" like 32k during an interupt cycle. This is done by oring Al5, the address bit that determines which 32k boundry were in, and Ml which occurs during an interupt cycle. Un- fortunately the Ml cycle also occurs during EVERY in- struction fetch. The effect of this is that you CAN NOT EXECUTE PROGRAMS ABOVE 32K. However, you CAN store data, such as a large array above the 32k boundry which is what most people want the extra memory for anyway...So, warm up the old soldering iron an let's go...
The conversion is done in two steps and should take someone with "good" experience a weekend to complete. I
16
should point out at this time that neither myself not Time Designs Magazine is responsible for any damages caused to your RAM Pack or your computer by this modi- fication. THIS IS NOT A GOOD FIRST OR EVEN A TENTH PROJECT. You'll need experience in PCB repair and handling a low power soldering iron. I will assist any- one having trouble by either BBS communication (Compu- Serve ID 73127,2664; Zebra BBS ID "Tim"), or S.A.S.E. mail from you (85-48 66th Road, Rego Park, NY 11374). I would recommend, if your not too confident, that you purchase a 16k RAM Pack from Zebra Systems or other source, to modify. They are inexpensive (under $10) and Will allow you to use your ZX/TS while taking a break from the modifications.
A WORD ABOUT STATIC ELECTRICITY: Very simply, it can destroy all the work you put into a project in just a few nano-seconds. Work on an anti-static mat. This can be a commercial item or a piece of aluminum foil. The idea is to keep you, the project, and anything that touches the project at the SAME POTENTIAL. Use an un- grounded tip type soldering iron.
You'll need the following PARTS:
(8) 4164 or equivalent 64K DRAMs (1) T4HCT138 or 74L5S138
(1) ?V4HCT139 or 74L5139
(1) T4HCTOO or 74LS00
(8) 16 pin IC sockets
(1) 1K 1/4 watt resistor
(11) 184148 or 17914 diodes
1)
2)
4)
=
6)
7)
8)
1)
2)
3)
4)
ce
6
ta
a
You'll need the following TCOLS:
23 watt soldering iron
solder sucker/wick
small wire cutters (Xcelite 73CG is ideal)
small needle nose pliers (Xcelite 79CG is ideal)
30 gauge wire-wrap wire
20-24 gauge solid wire
Dremel moto-tool with extra-small ball cutter or an Zacto
knife Crazy glue @s) ‘ :
solder Ts =c i Anti-static mat an > ‘Db, Wa FIVE VOLT DREAM CONVERSIONS
Dissasemble the case on your anti-static mat. From this point on BE CAREFULL with the ribbon cable connecting the two PCBs, it is very easy to break a wire in it and not even know it ‘till you have powered up.
Remove all componants from the DRAM PCB not marked in Illustration "A". Start with the small componants first by using the solder sucker/wick to remove the solder from the pad and then using the needle-nose pliers to work the wire loose. TAKE YOUR TIME! When you get to the DRAM ICs use this method: take the small wire cutters cut all the leads on one side of the IC close to the PCB, then bend the IC up then back & forth to break off the leads on the other side of the IC. Now use your solder sucker/wick to remove the solder and old IC lead from each of the pads. WORK VERY CAREFULLY HERE. DON'T LIFT ANY OF THE FOIL PATTERNS. Take a break after each DRAM removed.....you'll be rewarded with good clean job, and a ran pack that works! (GE) Tas
Check the DRAM PCB for solder splashes, shorts, etc. At this point o) 1 you should only have 6 de-coupling caps and 1 electrolytic cap left (%) Te
on the board. (@) TA doe
Install the eight 16 pin sockets in the DRAM locations placing pin as c 1 toward the electrolytic cap. (ea) TH “edo
Figure 1: Modified Sinclair RAM Pack Schematic Install jumper "A" where a cap used to be as shown in Illustration "A". This jumpers one of the multiplexed address lines to ground to make the ram pack a 16K version. This jumper will be removed later, after testing.
Make the 3 cuts, and 3 adds as shown in Illustration "B".
Carefully install the PCBs onto the computer (leaving them out of the case), and power up. If all is well you should get the usual “K" cursor in just a few seconds. Check to see if the ram was properly initalized by executing the following command: PRINT PEEK 16388 + 256 * PEEK 16389. You should get 32768. If not re-check the above steps and find where you went wrong?
This completes the 5 volt conversion step.
SiIxtY FOUR K CONVERSIONS
Illustration A: Component Side
Your ram pack should be fully operational as a 16K pack using the 5 volt only 64K DRAMS at this point. DO HOT CONTINUE ON UNTIL THIS IS TRUE.
Perform the cuts and adds as shown in Illustrations "C" 4& "D". : as Peewouny cvT Take the three [Cs (74LS138,139,00) and bend all leads horizontal gg ft convenes) from the body except the power leads (pins 8,16 for the 74LS138,139 and 7,14 for the 74L500). See Illustration "E”.
Using Crazy glue, and working VERY FAST glue the 7415138, lining up the power leads on top of IC "A" the 74LS157 on the CONTROL PCB {the PCB with the connector on it). See Illustration "G" for IC identification. Next glue the 74LS139 lining up the power leads again to the 7415136 just glued on. Finally glue the 74L500, lining up it's pin 14 to the 74L5139's pin 16.
Carefully bend back pin 7 on the T4LS00 (top of IC stack) so that it touches pin 6 of the 74L5139 under it. After insuring all the power leads are lined-up and touching, solder them. Check with Illustration “E".
cowreon §=PCR BAG-SIce e ' Using Illustration "F" and 30 gauge wire-wrap wire: Illustration C: Cuts
ih
Illustration D: Adds
7)
8)
9)
10)
11)
12)
ADD WIRE FROM HERE TO HERE
74LS500, PIN 3 74LS138, PIN 3 74L5138, PIN 14 74L5139, PIN 15 MREQ on connector 74L5138, PIN 4 74L5138, PIN 6 74L5138, PIF 5 74L5138, PIN 16 74L5138, PIN 6 Al4 on connector 74L5138, PIN 2 Al3 on connector 74L5138, PIN 1 Ml on connector 74LS00, PIN 5 A15 on connector 74LS00, PIN 4 74L500, PIW 6 74L500, FINS 1&2 Al2 on connector 74LS139, PIN 13 All on connector 74LS139, PIN 14
Add a prepared diode with the anode soldered to pin 15 of the
74L5138. Then add a 30 gauge wire from ROMCS on the connector to the cathode of this diode.
Add five prepared diodes with the cathodes soldered to pins 9,10,11,12,& 13 of the 74LS138. Then add a NOR-PREPARED diode with the cathode soldered to pin 7 of the 74L5138. Bring the diode around the IC “stack” and line up it's anode with the other 5 diodes. solder all six anodes forming a “buss". See [Illustration biel ind !
Next solder a 1K resistor from pin 16 of the 74L5138 (+5 volts) to the "anode buss".
Add diodes in the following table for each of the 2K blocks of 6K "hidden" area that you want to use.
RAM AREA RANGE CATHODE TO PIW OF 74L5139 6192 to 10239 12
10240 to 12287 11
122868 to 14335 10
14356 to 16383 9
Tie the anodes of any of the diodes used above to the "anode buss".
Add wire from the "anode buss” to pins 9 & 10 of the 74LS00. Then add a wire from pin & of the 74L500 to the pad shown in Illustration "G" (this pad runs to pin 5 of the 74LS00 IC "F" on the CONTROL PCB.
Remove jumper "A" in Illustration "A".
Plug the ram pack onto the computer and power up. If all is well you should get your "K" cursor. Execute: PRINT PEEK 16388 + 256 * PEEK 16389. This should give you 32768. If this works enter the following command lines one at a time: (1) POKE 16388,255 (2) POKE 16389,255 (3) NEW (4) PRINT PEEK 16388 +256 * PEEK 16389. You should now get 65535! indicating that the entire ram is now initalized and ready for use.
re-assemble the PCBs back into the case and re-test as above. This completes the conversion.
OPTIONS: You can use the internal RAM socket via the RAM Pack selection logic. This is where I placed my ZX-LRS ROM for high speed cassette access. The cuts for this option are shown in illustration "C", and the adds are shown in Illustration "D". Those cuts and adds just isolate the RAMCS pin on the connectior from the +5 volt buss it was normally connected to (the RAM Pack normally disables the internal 2k RAM). Illustration "F" then shows where to connect the wire to use the RAMCS pin to enable the internal RAM socket. Note that you could use any of the 2k selection blocks from the 74L5139 chip. See the schematic (Fig.1).
Another great option is the ability to change the configuration of the RAM Pack via a DIP switch. On one of my prototypes, I installed a DIP switch to allow en- abling or disabling any of the four 2k blocks in the &k "hidden" area. The best physical location is shown in Illustration "F". The way I electrically connected it is shown in the schematic of Fig.2. You could also use the switch arrangement to enable or disable any ot the 6&k system blocks too. In fact, Fig.2 shows a combination of switching both the 2k "hidden" blocks and the 8k system blocks. After you glue the switch in place, you can cut a small access hole in the side of the case with the X- acto knife so you can change the configuration without taking apart the case.
That's about it. Write and let me know how you made out. I've also designed from the ground up an expansion RAM that uses the new 256k RAMS (64k by 4 bit). The en- tire circuit uses just 9 chips and takes advantage of the mewer DRAM's internal refresh logic. If there is
enough interest, I'll submit the article to TDM. 18
dal cube PY 7, THO 7 ~ pest ToeTMR . (60)
crt, pes BEWT Het QewTAL Ccame prer OT OFF
. trereiae LJ . : - ; : - EDee CONWVECTOR,
Illustration E: IC Stack
Illustration F: Sor Signal Locations
= Sf
Be a STI oe ow
foc need Pa re
/WSHARD wWihE PALMS Theovga ‘
Illustration G: Pad/Feed-Through Locations
a” ye
ns ir
To FAAS
ay TL
Equal THe lt Ae
Pigure 2: Optional RAM Pack Configuration Switch
“a
A)
7s
I left the last lesson with a challenge to you to rewrite the sample disassembly from Lesson 2 to eliminate the overflow error it contained. If you had difficulty, refer to Lesson 4. The answer was given in the comparison which explained the ADC instruction. How many of you thought of rewriting the routine using the sixteen bit intructions? Did you use LD HL,(pq) and LD BC, (pq)? Can you see how a short Basic interface (program) could collect the values and call the MC routine to perform the addition? I trust some of you are beginning to have some ideas.
We know how to load a register (pair) of memory location and perform arithmetic with the values loaded. We would, how- ever, find MC of very limited value if these were all it could do. Most of you are familiar with the Basic commands GOTO and GOSUB. In truth, it is these instructions that give a program the power to do some real work for us.
In MC, the equivalent instructions are referred to as Jumps and Calls. The syntax for these instructions are given in Chart
LESSON FIVE
eyr Syrosd Wyncoop
5. You will note a new abbreviation, c, which is a test for the condition (or status) of a flag. We briefly discussed the Carry flag last lesson. Here is how the F (flag) register is arranged: Bit# 7, 6&© 3&3 43535 2 i 6 Flag 5S £ .H .«.§FPAVN C Where: S = Sign Z = fero H = Hal#-Carry P/V= Parity/Overflow N = Subtract C = Carry .» = Not used Sign Flag - Stores the sign of the last result. Flag will be set for a negative result and reset for a positive result (always reflects the most Signifigant bit of the result). Zero Flag - Checks whether last result was zero. Flag will be set if result is zero, else reset. Note: flag = 1 if result = @. Watch it!
Hal #¢-Carry- bit 3S lz in register pairs.
We will ignore it.
Used internally by CPU to record carry from to bit 4 in registers or bit 11 to bit
Parity/Overflow- Has two jobs depending on the instruction
last executed.
Farity is the number of set bits in the result
and is referred to as odd or even. be set if parity is even and reset if odd. Note: even parity generates an odd flag. this one, also'
Flag will
Watch
Overflow records a carry from bit 6 into bit 7
which effectively changes the sign of result Flag will be
in signed arithmetic operations. set for overflow, else reset.
Subtract Flag- Used internally by CFU to record whether
last instruction was addition or subtraction.
Flag will be set
We will ignore this one, also.
Carry Flag- bit 8 in registers or bit 15 to bit 146 in register pairs. Is also used to bit in the shift and rotate instructions.
You will note that two bits of the flag register are wun- used. The status of these bits are important and there are no instructions that affect them.
Each flag can be in one of two states...set or reset (on or off). A set bit = 1 (on) and a reset bit = O (off). This can become very confusing when using the Zero or Parity/Overflow flags, as the flag will not be as we expect it. For instance, the Zero flag = 0 if the result was not zero. Most of the time, however, you can use the flags without knowing whether they are set or not. You need only test their status and jump accord- ingly.
Our old friend records a carry from bit 7 to
if was subtraction operation.
save the lost
19
Each flag indicates a specific condition based on the result of the last instruction executed. Chart 6 indicates how the flags are affected by the various instructions. It is important to know how the flags are affected as every
in-
struction does not affect them and many instructions do not affect them as you might expect.
Enough of that, back to the Jump instructions. This in-
struction has two versions, Jump and Jump Relative. The mne-
monics are JP and JR, respectively. JP is equivalent to Basic's GOTO. JP begins executing the
next instruction at the absolute address you specify as its argument. A JP 4000h instruction will send the CPU off to address 4000h to find the next instruction tc execute. Your umps can be conditional...that is, they can test one of the
flags and jump only if the condition is met.
JR requires the introduction of another Hex to Decimal con- version chart, Chart 7. You will note that the first half of this chart is the same as our previous Hex to Dec chart (Lesson 1). The last half, however, indicates negative numbers. When numbers are used in this fashion, they are referred to “signed numbers". Signed numbers merely means that the most significant bit (bit 7) is used to represent the sign of the number. A set bit (1) is a negative number and a reset bit (0) is positive.
JR also requires a brief discussion of the register pair Pc. PC is a special register pair not normally accessible to us. It is called the Program Counter and its job is to keep track of where the next instruction to execute is located. All 280 in- structions are 1,2,3 or 4 bytes in length. The CPU will always advance PC by the correct number of bytes for the instruction it is about to execute. The effect of this is to skip any arguments belonging to the current instruction so as to be in position to fetch the next instruction.
Any jump instruction causes PC to discard the address it contains and replace it with the new address, as specified in the jump instruction. Note, PC will always contain the address of the next instruction to execute, not the current one.
The JR instruction adjusts the PC by adding the value specified to the current value of PC. In other words, JR tells the CPU to Jump to address X, which is Y bytes from where PC is. ¥ can only be in the range of -128 to 127 and X is the calcu- lated new address. In the case of negative values, the program would jump back to a previous instruction (loops) while positive numbers would cause the skipping over of the next Y bytes.
JR can also be conditional as indicated in Chart 5 and discussed above for JP.
When programming in Basic, it is quite common line such as:
to have a
100 GOTO 10#VAL At+1000
There is a MC instruction, JP (HL), which emulates this type of operation. This instruction will jump to the address held in the HL register pair. This allows a routine to build up an address from tables or inputs and transfer program control to that address. We will not discuss this much further now as it represents some pretty advanced programming.
CALL is our GOSUB equivalent. It acts exactly like BASIC's GOSUB. A jump is made to the specified address and a return is made to the instruction that would have been executed next had the CALL not been encountered. This is accomplished by saving the address in PC on the stack (we will explain the stack later) before making the jump.
There is a special case of CALL, that does not require an address to be specified, which is know as RST. RST is read re- start , and is unique because it is the only instruction that uses an eight bit address. RST calls a subroutine with a one byte instruction.
Some important points about RST are that it is uncon- ditional and usually computer specific (can not run on another Z80 based computer). Being computer specific is due, unfor- tunately, to there already being instructions at all the RST addressed, which cannot be changed. This is due to our operating system being in a ROM type memory. All is not lost though. Since these are very handy instructions, Sinclair put some of the most accessed routines there. We will find that we can use some of the RST instructions, after all.
As with any GOSUB instruction, Calls and RSTs require a return instruction to let the CPU know the routine has finished its task. The mnemonic for return is amazingly enough RET. RET Will perform exactly the operation you would expect it to, and
your returns can be conditional. Conditional returns allow for many exit points based on completing certain tasks. There are two special RETs which we will discuss later because they are used to return from the interrupts.
We have learned about the flags and how to make jumps and calls based on their status. We now need to explore some of the ways to set these flags in order for our tests to be mean- ingful. One of the ways to do this is directly with the CCF and SCF instructions.
CCF means Complement the Carry Flag. If Carry was set, it Will be reset and vice versa. SCF means Set the Carry Flag. The Carry flag will set by this instruction.
Another way to affect the flags is with the remainder of the arithmetic instructions (I've been holding out on you again). These are also listed on Chart 5, and can not truely be refferred to as arithmetic instructions, except for CP.
CP, which means Compare, is a neat and often used in- struction. CP sets all the flags as if a value were subtracted from the Accumulator, but without changing the value of the Accumulator! It is important to realize the result of the Compare is not stored anywhere, only the flags are affected. CP has two special forms, CPI and CPD, which are read Compare with Increment, and Compare with Decrement. CPI performs the same as a CP (HL) instruction would, except that HL is in- cremented and BC is decremented. The only flag affected is the P/V flag which is set according to the value of BV. If BC = O, then P/V = 0.
CPD is the same as CPI except that HL is decremented. The effect on the flags is the same.
The next instruction is DJNZ...which is not Greek! DJNZ is read "decrement the B register and jump relative if B is not zero", This is an extremely useful instruction which leads to the B register being used as a counter. DJNZ can be compared to the Basic loop control variable. The equivalent Basic statement would be as follows: 1@ For X = 18 to @ Step -1
20 (do job here) =@ Next x
In order to perform the same operation as DJNZ using any
other register, you would need two instructions: DEC L JR NZ, Loop
To use DJNZ, you must properly load the B register. You can then construct a loop to do whatever task you wish. You can even reuse the B register in the loop, if you properly preserve its value first. More on this preservation of values later.
CPL stands for Complement. Each bit of the Accumulator is altered (complemented). For example: if the Accumulator contains 1101110lb, its complemented form would be 00100010b.
NEG is the last unexplained instruction on chart 5. NEG will negate the Accumulator, which means to place the two's complement of the A register in the Accumulator. if the Accumu- lator contains 5, it will be negated to -5.
You now have about one third of the 280 instruction set, and with the stack instructions next issue (they are certainly the most used of the instructions). You are now armed with the tools to write a MC program of your own design. I encourage you to experiment and see if you get the desired results. I will reply personally to all enquiries that contain a S.A.S.E., if you have difficulty (send to- 2107 S.E. 155th St., Portland, OR 97233).
With the next lesson, we will explore printing to the screen as that will give us some immediate feedback as to how we are doing and whether our routine is working. If you have any information on the display file and/or ROM routines, you should review it, in anxious anticipation.
CHART 5 Jumps Flag setting JF man CCF JF c,mn SCF JP (HL) CP n JR e cP r JF c,# CP (HL) DJINZ & CFI CFD CaLL nn CALL c¢,nn CPL RST xx NEG RET RET c Where: mn |= any numeric constant @ to 255 nn @= any numeric constant © to 465555 r = any single register © |= any numeric constant -128 to 127 e = flag status xx = O8O8h, O8h, 10h, 16h, 2Oh, 26h, 38h, or Sh
N Oo
RRC, SLA, SRA,
' or right SRL
CHART 6
Instruct 12 P/V: St Nt Ht Comments ADD, ADC ‘oe t@e#twyvt«»t @ !' # ! B6 Bit add or add
' ! ! t t ! ' wrearry ADD (ere Pe ft= Ff oe!t= !? 16 BLE add ADC '@etlh«e#twvyt @# ! @ !' = !' 16 Bit add w/earry AND '@!t #!t F t # !' @ ! 1 ! Logical operations BIT f=—-!f #@f=—t=- 160 ! 1 ! Specified bit copied
t ' : ! : ? ' into zero the flag RES, & SET fe-e be be Pet = 1 = 1 Bt instructions CCF Pe Pr]|= tf = bt = 1 Bt = | Complement carry flag SCF '@!re=- t= ' = !' B ! @ ! Set carry flag CP, NEG, SUB, 'e# '!@twvt!t #! 4 ! # ! @ bit subtract or sub- EBC, DEC, & ' : ; - : : ! tract w#/carry, compare INC : ! ! ! ! . ' or negate accumulator
1 ! ! ! \ ' &£ B bit decrement DEC, & INC fet—t—t=-_t—! = ! 16 bit decrement and
f . , : ! increment SEC {f@etetyv?t @ ! @ tf = ! 16 Bit subtract w/fearry CFI, CrIF, t= |e iP he Fe ' Block searches; f=i1 if CPD, & CPDR : : : : ' ' B@=(HL), elee 2=0;P/V¥=1
! . L ! : ' ' aif BC not equal to 6,
4 : : ' ' else Ps/V¥ep CPL P_ te Pe Pe toy to tt! Complement accumulator DAA ‘@! # ' Pt # § = | # ! Decimal adjust accum. In Pom Fe Pe Pe 2 = t = | Inpet register direct It '{—!#*# tfPte!t BB! BB ! Input register indirect INIT, IND, f$=— te ti=-t=—- 1 2 ! = 1 Block in & out instruc OUTI, OUTD, f t ! | L ! tions; 220 if B is not INIR, INDR ! : ! : : ' ' equal to @, elee z=1 OTIR, & OTDOR '! f i ! i Lo Ppeebe=be t= ' = + = | Aoignamemnt instructions LOI, LODO, fete t Pt =! 8 ! OB ! Block transfers; P/¥=1 LDIR, & LDDR ! : . . - 4 ' if BC is not equal to 8
t . ; | ' ' elee P/¥=0 OR, & XOR '@t#!P!'# ! @' 8 !' Logical OR accumulator FLA, RLCA, '‘@#te t= ' = ! @ ! @ ! Rotate accumulator RRA, & RRCA } | ' ! ! ! RL, RLC, RR, '* !'o# ' Pt o# !' 8 !' B ! Rotate and shift left
i 4 i] | i] i] i]
- ' : : : :
Where: #® = Flag changed according to result
= Flag either unchanged or undeterminable = Flag reset
= Flag set
= Parity changed according to result
= Overflow changed according to result
<_< ve6 i
CHART 7
Signed Numbers--Hex/Dec Conversions i@tat2etistwet St &@t Ft Ot Ft At Bt Ct wot Ef FF? Bt @t at BF St £1 St hot FirvOet Ftmtaat iz: 13 aia} it
1? dh f iF fat at et 2h tl ei at oe oe ae Oe ze a2? Be | ' 31 '
=---! asee | anes | eee | eoee ! eee | eee | eee | eee | eee | eee | ee = I == | == I feces lees lee I
Z!'st' 33! Set St et Ot Oe oe) ae at at! at oat OS a! OF ese | eee I oes | eee | eee | eee | eee) eee |) eee | eee | eee = | eee = I a | ee Feel eee I | oo 3:86! a9! SB! 81! Set Sst oe! St oe! 6! Se! Se tl lee! ol tl Uo ht 6S eee | eee i eee |e | es Joe | ee fee J eee! eee | eee | eee | eee | eee | eee I ee lee | * ! 68 ? 68 ' 66 ! O67! OB! Ot Fe! at Pat 2! ae) Pt Pe) 2th Pe! ot sees) eee | eee | eel ee = t= | = tl eee | eee | eee en) eee | eee | eee | een | = | | 3S! ' Bi! ot ! Ot oe! eS! ae Oe ! Be! ee! es 2k a! a ae ‘= LY
cone loos ) eee | eee |) eee | eee | ee | ee lee! eees | oees | coe | eee eee =! ! bof ee! Pe! ae ee! 2! eS! 1S! 2! 1S! 1! 1! 1! eee! 118! iit —----!---- i ases locas lessee !eces loess | eens | eee = | eee | eee = | ea | ee | eee fbeaees fossa /ee==! 7 § £12! 213! 224! BES! 206! D7! 118! 1099 128! AL! ABZ! 12S! ARs! ABS! 126! w2zr!
were fee PF et et =!) 0 eee Pee ee Pee ee Pe | He ae eee lee!
a (128! <127!-126!-125!-126!-123!-122!-121 '-120'-219!-118!-117!-216!-1105!-1148'-113! see | ee | eee eee Fe He I aee5 lessen lense! eee lee = fees fees fee | eee = bi-==! P '=202'=$110'=-110 9-189! =188! $187! =186'=$185'=-104'=183!=-182!-181'-188! <9! -F7e! =-97!
- a be ee eee
A! ~9b! -75! ~74! -95! -92! -91! -9O! -OP! -G8! -B7! -O6! ~O5! -O4! -85! -82! -e1!
ad eee | eee Fee ee Fe eases loses loses | eeee ) eee | ee | ee | =! .
Fo! <6! <15! <149 <13! <12! <1! -10! -9! -@! <7! <a! <s! <a! <3! <2! -1!
SS ee ee ee ee eeE*T TT |
Tes SS
8 FS gp HOLIDAY SPECIAL: $199 WITH FREE EXTRA SOFTWARE!
A COMPLETE QL FOR ONLY $199! Our retail price after 1/1/87 will be $459 due to a price in- crease. The QL comes with our extra FREEWARE cartridge filled with additional Super Software! Get Backup Utilities, Graphics Demos, Clocks, Maps, Sound Generators, a Postermaker! Too much to men- tion! All FREE with each OL ordered. Add $7.00 for S & H please. We also offer Special programmers, OS/Languages, Educational and Business System Packages! And Modems. CALL us up on our O LINE!
But what If you ALREADY HAVE A OL? THEN JUST SEND IN A BLANK CARTRIDGE with $2.00 for S & H and you'll get all of the above FREE PROGRAMS tool We offer OL Users QUANTUM SUPPORT. The Computer that by far out-classes the Status Quo PCXTAT & Cloneys!
QUANTUM COMPUTING Box 1280, Dover NJ 07801 Call: (201) 328-8846
(anytime...24 hours!)
eg a SE
Fi i
,
-~_-
QL,with 4 Psion programs,4 blank mdv cartridges,and 640K RAM $399.00+
012K RAM PAK for QL, brings total memory to 640K.......... a $199 PP! AVATEX 3000/1200 BAUD MODEMS, 8 LED, RS232, etc.........500. , $109 PP! AVATEX 3000/1200, 100% Hayes Compatible. ........ccccecccsenes $159 PP! @L MODAPTER, allows use of 300 Baud moden ith QL, includes QCODE terminal program which supports up/downloading, etc......... $ 59.95+ Modapter WITH AVATEX 1200 HC (Hayes Compatible)........ svew S209 FPP!
QL ASSEMBLER WORKBENCH, includes monitor, disassembler, assembler, by teatent; a great tuy, great coftware! Only. ....0.2.ccceeses one S$ 49,95+ TRANSFORM CASE, plastic case holds 20 MDV cartridges........ $ 5.99+ MICRODRIVE CARTRIDGES for QL, ZX Microdrives ONLY(4 carts). $ 10,.95+ QL BOOKS, Assorted, call for titles, only.........eeee: ceeee S$ 9.,95+
stiles? 2Ooe5 is NOT forgotten i! :*
= Machine Code Tutor, Fighter Pilot, Night Gunner, or
pA tescer vs a ey $10 each POST PAID while current supply lasts!
OPRITES 2066, all new! Design, combine, and use sprites quickly and easily. Includes GREAT demos! Includes detailed manual, sprite service utility (2520 bytes MC), spritedraw program. ......sceccecsceces $ 19.95+
oa
SABOTEUR, you are a ninja spy who must get a disk from the eneny
wharehouse; use lethal Eicks,/ punches, leila knives, grenades to
*remove’ guards and dogs who iget in the way’. Super graphics! $ 15.95+
gaa a ne eee ee, eee a ee ee cee eg gee ee oon
CRITICAL MASS, aliens thieaten to. rs your solar system by taking
Pelee 6, es 2. odo ae 00 fe a
over your anti-matter convérsion piant. You must infiltrate the plant
be ee es 0llti‘«i‘éR ee ha
and destroy the converter tefore’BOOM! and it turns into a black hole,
eee ee aa ne
destroying all stars and pianets ie your SISTEM. ss «ssa we $ 15.95+
SPECTERM 64- Brand new 64 colum terminal software for the Spectrum
or 2068 with Spectrum Emulator and 2050 modem OR ANY RS232 BOARD! Yes, 1200 BAUD (300 baud with 2050 modem on a 2068! You get 64 columns ON SCREEN, built in XModem up and downloading, half/full duplex, S1K buffer, can transmit/receive ANY file- Bytes or Program. Automatically
“saves Tasword II files properly! 4K user menu area, and documentation
-or SUL Power Sodeming, ail for only. .. 66s sce ee eee a eee $$ 29.95+
DOUBLE SIDE/DOUBLE DENSITY floppy disks, highest quality, lifetime guarantee, Tyvec sleeves, user ID labels, and write protect tabs, only
15% 73 CENTS each (minimum 10), or 100 for 65 cents each! (100 shipped PP!)
D Unless oOtrerwis=} moteci, Pleas] acici
Ss shippins,g Tor software, s.5 for rAardware, or $10 For Aa Qe package.
Send check or Money Order to:
VARIETY SALE=> COMPUTER DIVISIOPNrn Department TON—sS wae VEST JERSEY ST REET , ## =—1D ye ed ee eo NEW JERSEY O77 cow =_O1l—-S27—-O0OS35 FOR MORE INFORMAT Lor.
SOFTSYNC TS2068 Inventory Liquidation Sale
Zebra Systems just made a special purchase of all the Timex/Sinclair product left in Softsync's warehouse in order to bring you these fine programs at special low prices. Softsync started in the Timex market with excellent products, but they now focus on IBM, Commodore and other large markets, where they sell products like the Personal Accountant for much more money.
All product is new and packaged with documentation in Softsyne’s attractive four-color boxes. Quantities are limited, so act now. These products list at $19.95 to $24.95 and are in our
regular catalog for $17.95 to $22.95. But now our liquidation sale prices are as follows:
INVENTORY SALE PRICES:
1. for $20 1st $10 2 for $19 2nd $9 2: for S27 3rd $8 4 for $34 4th. $7 5 for $40 5th $6 6 for $45 6th $5
Zeus Assembler Cat# SS0S
Machine Code programming is made simple with Zeus. This sophisticated programmers’ aid allows the use of the full Z- 80 mneumonic instruction set and comes with a step by step instruction booklet.
Unique features include: a full screen editor, automatic line numbering and renumbering and mini monitor. Displays current registers and single stroke commands save machine code.
Zeus Monitor and Dissassembler Cat# SS06
Acclaimed by reviewers as the most comprehensive Monitor and Dissassembler available.
This powerful programming tool allows you to translate machine code into comprehensible assembly language instructions, enabling you to examine the BASIC ROM, to investigate the workings of the Timex/Sinclair 2068 or to analyze your own machine code routines.
With the highly versatile Monitor, you get an extensive set of
facilities to aid the entry, inspection, modification and debugging of your own machine code programs.
CYBERZONE Cat# S802
Special Feature: Use your voice to activate your laser fire! The sound of your voice sends lasers shooting at the enemy.
Imagine yourself pitted against the Cyber’s ultra accurate laser fire. The situation is tense as you avoid the swooping, spinning fighters coming to get you.
Can you stay alive long enough to chip away at the floor of Cyber’s spinning spacecraft? And is your aim deadly enough to hit the Cyber’s only vulnerable spot...his left foot?
Cyberzone is a fast game with five levels of play and exciting graphics that place you in the center of the action.
22
bene
SS ———<— = ee ee oe ee 1
Personal Accountant sso.
The Personal Accountant is a powerful yet purposefully simple accounting program for household and small business use. Using a time honored accounting practice known as "Double Posting Book-keeping” the Personal Accountant will instantly organize all your financial information.
Open as many accounts as you need, balance your checkbook instantly, track loans, charge card purchases, expenses and IRA's. Generate financial reports ranging from trial balances to profit/loss, expense vs. income and assetts over liabilities. An amortization table can calculate payments and changing rates, generate future value and growth tables. And a built in data base keeps names, addresses and other vital data at your fingertips.
The Personal Accountant is comprehensive yet simple to use
with no codes to memorize and the screen will guide you every step of the way.
VOICE CHESS cate sso
The Most advanced chess game available for the Timex/Sinclair 2068 actually talks to you during the game. A digitized voice speaks through the computer's speaker, advising of its move, recommending moves for you and making facetious comments.
Voice Chess is written in fast machine code so it responds to your moves quickly.
Features include: analyze mode, recommend move, change colors or levels at any point in the game, save, reload and print out any game you play. Displays full Chess board in detail.
GULPMAN Cat# SS03
The cursed wormoids are out to get control of Gulpland, chasing its inhabitants out of their apple orchards. Eat as many
apples as you can to get bonus points and use your lasers to stun the wormoids. 15 different mazes.
Ordering Instructions: Include $3.00 S&H. VISA/MC Accepted.
Zebra Systems, Inc.
78-06 Jamaica Avenue Woodhaven, NY 11421 (718) 296-2385
| Dear Time Designs Reader,
|We are very pleased Catalog as the November / December Time Designs Magazine. | economic reasons the catalogs were _ printed previously in one large batch and have become | slighted dated. For that reason we supplementing it with several pages of new product announcements, sales, and a short list of updates. Particularly exciting are the new bargain prices we are able to offer on Softsync’s very high quality software products, and on our TS2068 compatible Trackball controllers. We will continue
to bring you our Zebra
to strive to bring you the best support products for
prices. | Please accept our best wishes for the Holiday'
Timex computers and at _ the best
| season and for a happy and healthy New Year. | Sincerely yours,
Jane, Linda, Jeff, Tom, and Stewart The Staff of Zebra Systems
TS2068 Trackball | Only $19.95
Originally sold for $69.95 Specify Cat# TBTMX02
Plugs into TS2068 Joystick Port and
works with all joystick software. Bonus Feature: Also works on Commodore 64,
VIC-20, ATARI 800, and more. Contact factory for more complete list.
You can benefit from our recent purchase of brand new WICO Trackball Controllers at closeout prices. We've taken the model WICO originally made for the Texas Instrument 99/4A and made a very simple modification so it now is fully compatible with the Timex TS2068's joystick port.
WICO is the largest designer and manufacturer of control devices for commercial arcade video games. If you've ever played an arcade video game, chances are you've used a WICO joystick or trackball. You've experienced the superior control. accuracy. The exceptional durability.
Features: Phoenolic ball offers 360-degree movement. Two optical encoders provide split-second movement. Quick-action fire button for smooth, two handed arcade response and feel. Long 5’ computer connection. Heavy duty plastic case for long hard use.
The WICO warranty has been voided by our modification. But we give you our 15-day money back guarantee and a one-year limited warranty from Zebra Systems.
The pinpoint firing
23
center fold of the | For
f\ f) Neve VOY ll
are
SY Gaia Sella Odile Zebra Best Sellers 2
4 For those who are interested, here is a Short list of our currently best selling products to check out in our Time | Designs ads and on the various pages in our 1986B Catalog.
[tsa ated
iJ a_i =
TS2068 Trackballs (TD) Sprites 2068 (TD)
2 Greeting Card/Banner/Sign Designers (P3) TS2068 Technical Manual (P1) Tech Draw Jr.(P2)
OS64 Cartridge (P7) Mscript (P4) 64K TS1000 RAM PACKS (P13) Machine Code Test Tool (P15) Discounted Books (P10-11) TS2050 Modem Boards (P12)
AA LIDTUTAD UNMIS) OND A
Siete f dil A
Timex Games $2 Each
With your order for a TS2068 trackball you can purchase any of the following Timex TS2068 Trackball and Joystick compatible games at the special low price of $2.00 each for cassettes and $3.00 for cartridges.
CAT# TITLE
Cassettes at $2.00 each
64001 Androids
64002 Penetrator
64004 Casino I
64005 Crossfire
64006 Circuit Board Scramble 64007 Dragmaster
64009 Guardian
64012 Fun Golf
CAT# TITLE
64014 Hungry Horace
64015 Horace Goes Skiing 64019 Horace and the Spiders 64021 Blind Alley
64023 Crasybugs
Cartridges at 3.00 each 74001 Androids 74005 Crazybugs
$5 Off Tech-Draw Jr.
You can save $5.00 on the purchase of Tech-Draw Jr. if you purchase it at the same time as a TS2068 trackball. Instead of the regular price of 19.95 you can get it for 14.95. See our catalog for a complete description of Tech-Draw Jr. and a list of printers that it supports. Order Tech-draw Jr. Catalog# C256.
oo WW i oaan ai - is aee < = eh ee TR | La ed
CRITICAL MASS Zebra Catalog Updates
An arcade game by Durell. Distributed by Knighted Computers. Cat#KC12 $15.95
SABOTEUR
A martial arts arcade
adventure by Durell, distributed by Knighted Computers.
Cat #KC13 $15.95
iii ee SSS. 22 SS SS SSS SS ee ee ee ee
MUSICOLA
Great music program for the TS2068.
New low price! Cat#TEJ1 $9.95.
GRAPHIST
Graphics software from T.E.J. Associates. New low price! Cat#TEJ2 $9.95
SS ZB BB SS SS SS SS Se SS Se ee sf SF SF SS SS SS SP ee ee eS ee ee ee ee
SOUNDESIGN
This TS2068 programming utility allows you to design your own TS2068 sound effects and musical effects and make them a part of your BASIC programs. Wonderfully simple to use.
Software & RMG. CLONE
Now you can make backup copies of all of the tapes that you thought were unbreakable. New program from RMG Enterprises backs up virtually any tape that you can load into the 2068 including spectrum tapes. documentation package.
From Arrow Cat#RMG1 $14.95
Includes very well written
Cat#RMG2 $9.95
THE KRUNCHER
From RMG , this utility helps you compress your BASIC programs so that you can squeeze more program into your machine. Works on TS2068 and Spectrum. Cat#RMG3 $9.95
Used ZX8I’s, RAM’s, etc.
Working ZX81 with Zebra 15 day money back
quarantee. Does not include any documentation, cables or power supply. $15.00 Not Working ZX81's (as is, usually easy to fix) 8 for $25 ZX81 Power supplies when purchased with a ZX81 (new) $2.00 Case of 30 new ZX81 power supplies $50 & Shipping. Video Switch (used, working) $1.00 Cassette Cables or Video Cable (used) $.50 ea. ZX81 Manual (used) $3.00 16K RAM (used, working) $6.00 16K RAM (not working, as is) $2.00
Se eee OE a a. ep ee ee ee
BOOK BARGAINS
Here are some excellent books still in stock but not in our catalog becouse we only have limited quantities available. We'll only take phone confirmed orders on these.
Understanding Your ZX81 ROM by Logan ( 35 left) #C105 $5.00 Machine Language Made Simple for TS1000 (21 left) #C106 $5.00 The Timex Sinclair 2068 Explored by Hartnell (11 left) $5.00
The following are
typographical and other
corrections to Zebra’s 1986B Catalog. Page 1 - We do not cary Omnicalc. Page 5 - The correct cat# for Profile 2068 is TWO2.
Page 6 - The last sentence of the first paragraph is in error. New A&J TS2068 drives use black, version 1 wafers.
Page 8 -
The correct catalog numbers for the following
cartridges are 07-7400 Pinball, 07-7300 Flight Simulator, and for cassettes 06-1000 Vu-Calc, 06-1001 Vu-File, 06-1002 Vu-3D, and 06-3000 Flight Simulator.
Page 12 - MTERM II Tape is currently priced at $24.95 not
$29.95. MTERM II is not available on cartridge.
We no longer
sell Mini Xmod 1.7.
Page 14 - We are now sold out of 03-3020 Computer Coach, and 03-3016 Conversational Spanish.
Page 15 TS1000 software:
We are now sold out of the following Softsync SSTO2 Advanced Budget Manager, SST18
Mothership.
SSS 22282 SSS SS Ss SS SS SSS Se ee ee ee ee ee
TS1000 Joystick
Adaptors Plugs into the back of the TS1000 and
allows a standard Atari compatible joystick to work on the
TS1000. TS1500. This is a closeout. Only 40 left.
Includes free joystick games tape. Won't work on the Cat#C120 $5.00
Sa aS SS SS SSS SS SS SSS SS SS 2 2 SSB SB SS SSS SS SP VB TTT ee
SPRITES 2068
As you may already know, "sprites" are computer graphic objects which can be easily and quickly moved around on a video screen. Hints of how to write sprite software for the TS2068 are given in Timex's TS2068 Technical Manual but it is not really adequately explained.
Now there has been a major breakthrough. After months of research, two TS2068 dichards: Vernon Tidwell and Ron Ruegg, have now figured out how to use sprites on the TS2068. And even more importantly, they have written an excellent 34 page manual that explains all about it in their product called SPRITES 2068.
It doesn’t matter whether you're a BASIC or machine language programmer - with the easy interface of the sprite service utility and the superb manual that explains it, you will be able to create your own moving sprite graphics. You may want to create complete games or just experiment and learn more about computer graphics techniques. In either case you'll enjoy the ease and the amazing high speed with which your own graphic creations will move.
SPRITES 2068 consists of the 34 page manual and a cassette tape. The cassette includes a 2520 byte machine code sprite service utility, a SPRITEDRAW BASIC program for defining and moving your own sprites (including twelve sprite commands), and exciting sprite demonstration programs.
Considering the quality of this product, its excellent documentation, the fact that there isn’t anything else like it available, and most importantly what it can do for you on your TS2068, this is beauty of a program, and a bargain at only $19.00. Be sure to order yours now. Order Catalog No. 321 SPRITES 2068
ZEBRA SYSTEMS, INC.
78-06 Jamaica Avenue, Woodhaven NY 11421 (718) 296-2385
Only $19.00
A Hearty Thank YWou
The heading really says it all. I've been quite pleased and encouraged by your response to Part 1. This is really turning into an “interactive series", as I'd hoped, and I want to invite you to keep writing and calling with your ideas and questions. Your're truly making these articles much better than I could have done alone.
I wish I could have said all this sooner, but the publi- cation delays on my end do get in the way. I have to submit my "stuff" about a month ahead of the publication date. The result is that I'll be submitting Part 4 about the same time you read this. In the same way, your first responses began to come just as I submitted Part 2, when it was too late for me to in- clude a mention of them.
So you see, there's no escaping this little nuisance, and I'll just have to be content in extending a late, but very sincere thank you.
sag _- = anc Now , Thz riai i - = # =
A number of you deserve much more than just a mention for the valuable contributions you've provided. Sadly, that's all I can do. Please don't be insulted if I didn't include you here; I have to limit this much more than I'd wish.
The first pat on the back goes to Robert Orrfelt, from Redwood City, CA. He shows that you needn't use my trick to SAVE the EXROM code to tape; just put your disassembler into RAM, then type: OUT 255,128:0UT 244,16. This will switch the EXROM into chunk 4, starting at hex 8000. Really clever! If you use a Spectrum disassembler, and your emulator is in the cartridge slot (as I use), this won't work, since it would require enabling Dock and EXROM chunks simultaneously. Also, if you want to disassemble in decimal, you can't get the code to start at decimal location 4000. Still, this should be a big timesaver for almost everyone.
For reasons to be seen later, I'd like to thank Eric Johnson of Orange City, FL, and fellow SINCUS member Dave Schoenwetter for making several “dead" SCLDs available to me.
Marty Egan of Herndon, VA has also been busily studying the EXROM code, and working out Timex's bank switching protocol. I've spent a great deal of (very pleasant) time with him over the phone, as we compared out notes. I hope my infor was as helpful to you as your insights were to me, Marty. I don't just owe you one...I owe you a million.
Marty has also suggested that I include a cross-reference between a few of my terms and some of the acronym-like bank switching names that Timex included in a few spots in the Tech Manual. I chose to try to “expand” these acronyms in this series, to make the text clearer.
Timex Name New "Improved" Name Used Here
ENA Bank Number Access (register 60)
ABN Assigned Bank # (AO, in setup mode)
HS Horizontal Select (register 40)
HSP Universal Deselect Byte (AO, in normal mode)
Timex also referred to HSP as HS-prime, but this seemed too redundant
I avoid acronyms as much as I can, and was surprised (and suitably humbled) when Rick Best, from Largo, FL asked if I couldn't include a glossary of terms in my articles; explanations of things like AROS, LROS, SCLD, ect. Well, I'll certainly be glad to explain them. (It's amazing how we can let acronyms be- come a part of our vocabulary without even realizing it!)
AROS (Application ROM Oriented Software) and LROS (Language ROM Oriented Software) are the two types of cartridge programs that the system can run. T5.0 tells about these in detail. Note that AROS and LROS are “nested acronyms"; that is, one of their letters actually stands for another acronym. (A sign that these things have long since gotten out of hand. I gleefully enjoy pointing out such verbal perversities. )
The term SCLD probably stands for either Semi Custom Logic Device, or Standard Cell Logic Device, (both are true) and usually refers to the specially made “workhorse chip" inside the TS 2068. It appears that this term was intended to refer to any
20
Mystery
of the Missing LS
Part Three
Sy Wes Brtorowwsk i
“special” chip to be used in TS 2068 products, and so I've also used it to refer to devices that we can only speculate about.
Another reader who's sent a large amount of infomation is William J. Pederson, owner of the Widjup Co. Mr. Pederson tells me he has a bank switching system working, which he expects to incorporate into a product. Note that some of his bank switching concepts are VERY different from what we'll be discussing here. Interested readers may wish to drop him a line to find out what's available.
If you've written me with a request for a reply, please be patient. I get swamped sometimes, and my time for writing replies is limited. Between queries on my articles in the newsletter for the SINCUS user group and now my articles here, (not to mention actually WRITING the articles) things can get very busy. But I will get to you just as soon as I can.
A Bit “OO The Hard Stuff
We talked hardware last time, but some updates may be useful. You may have noticed that it requires a huge quantity of TTL chips to implement the functions we've described. But there may be easier ways to do it. Marty Egan is investigating ways to persuade a 74L5610 chip to do some of the grunt work, and I might suggest locking at an AMD2901 bit slice chip to do the same.
Further, if we wish to rewrite the READ BS REG and WR_BS REG routines, as was suggested in Part 1, a really dramatic drop in parts count seems possible. Since these routines are the only ones that actually access the bank switching hardware, they can be changed to control circuitry that's simpler to build. Since we already have to make massive bug corrections to both ROMs anyway, changing these two is trivial.
Last time, I said that the RESET signals in my block dia- grams were probably not what Timex really intended, and that some odd “unlock" code was instead intended to disarm some power-on “lock up" circuitry. I'd mightily appreciate it if you'd forget I'd ever said this. (Sometimes we look at a simple problem and imagine complex solutions. Sorry, gang.) The odd code will be ex- plained later. The reset signal really should be there, but i probably doesn't go to the backplane's RESET line.
This is because the RESET signal desn't go to a pin on the standard TS 2068 SCLD either, and so wouldn't reset the standard Horizontal Select register. If RESET only worked on an expansion bank, then applying that signal could result in some chunks not being allocated to any bank. That would hang the machine up, were it to exclude chunk 0.
Were does the signal go, then? A quick look at the sales literature for the NCR Corporation's standard cell devices (of which the 2068's SCLD is one) shows that they can include a power-on-reset circuit right on the chip. I've extracted the actual silicon chip from a dead SCLD, and sure enough, near one edge, is the large capacitor needed to perform such a_ function. (Well, it LOOKS large, at 500X mag.) The SCLD circuits needed to control an expansion bank probably would have had the same function inside. As such, both TS 2068 and its expansion banks would have gotten their Horizontal Select registers reset ONLY at Power-Up. That way, if an expansion bank were in control of chunk 0, and a RESET occurred, someone would still be in control.
It turns out that Chapt.5 of the "T/S 2068 Intermediate/ Advanced Guide" (SAMS) has a tutorial on Extended Bank Switching, which has useful information. Unfortunately, that chapter was obviously written before the 2068's design cycle was completed, and a lot of its information has been rendered incorrect by en- gineering changes in the machine. it shows the old scheme, with I/O ports FC and FD as bank switching controls, making no mention of the memory mapped I/O scheme we can see in the TS 2068 code. It also makes no mention of the Universal Deselect Register, and the bank switching example given sometimes sends data out in nybbles, and sometimes as a byte.
Among the more useful gems to be found is the fact that bit O of a bank's status byte (bit 0 of register AO, to us) would have been set to 0, if that bank had caused an interrupt. The "Interrupt Priority", shown in the SYSCON table last time, affects the final renumbering of the banks. (High priority gives a low bank number.) This means that if we poll each bank to learn if it caused an interrupt, starting with bank #1 and working up-
ward, we will have automatically first checked the ones that demand a fast response.
As a final (and totally unrelated) hardware note, the de- Signer should use caution in designing a Daisychain circuit. Since the clock signal is generated Separately by each bank (as I showed it), the Daisychain flip flops aren't really being clocked synchronously, as is required for a shift register. This type of Situation requires the use of master-slave flip flops, or two flip flops in a master-slave configuration. This will prevent one flip flop from changing its data before the next one clocks it in. If all the banks to be used are on the same circuit board however, only a single clock signal is needed, and synchronous operation is possible.
Wry Bother FT
This is a reasonable question. With considerable circuit complexity and ROM bugs galore, reconstructing the thing would first seem like an exercise in self-punishment. There are already Simpler expansion schemes available.
As it turns out, this would be a very bad method if all we wanted was extra memory. We can now buy RAM cards that plug into the cartridge slot, and one of the available disk systems can “Switch banks" that overlay one another in the Dock bank. User group newsletters have published various "RAM in the Dock slot" methods. (I published one in 1984!) But the level of 2068 soft- ware being developed today doesn't even make full use of the machine. Why would we need another way to expand it?
We don't simply need more memory, but we CAN use many of the undocumented (and presently bug laden) capabilities that are hidden in the ROM. If you're aware of the stream-and-channels I/O system tht the 2068 uses, you understand how it's possible to LOAD in a “print driver" program that redirects the Basic LPRINT and LLIST commands to a large printer. The 2068 tries to expand on this "Spectrum-based" theme allowing such print drivers, or any other software for an intelligent I/O device, to be located permanently in an expansion bank. These programs would take up NONE of your Home Bank memory and so wouldn't conflict with any- thing else running there.
But there's no reason for an I/O device to completely domi- nate a bank. While the extra memory space could have been taken
i771 647D - F awe registers ‘ted (ech Tle ex head dia able i afereapt a TE- 44 “F
4Ad-b4i4~ Sand OO te vegitter BO. (Bask Na mbe- Avcass 2 @) Since the fewest Expansion ask wember is Di, makes ture so En pansion Banks wacenve an Becass GTAD-64B|-Sen4 dhe invested Mevinents| Select byte te regal ae. Deselects the chunks 7] Ba i:
é4CF-d407-A clever Git « gicel contortion | thet give TYo Peet Fa és tha EX WOM BasE Carly «Ff the bewzestsl cn leck b, te aay od chunk @ it tht bas, Dlbarsive, the Perk gets astigned de the Deck bank. |
eer h a e- "age i a7.Cro wrt
e— -
| J648¢-£4F5-Combinn the Hevit Sclect byte with the present Contes és of Port Ft. All clusks specified mtte C wegit Cer will be added te tleia gon teoliad \ the Newe bask, wn Jess vy rte a) * - # 5 i E :
A-WAFF- Giga Pod F4 = Dek Bank é500-650F - Give Chank & owe Bask (seems
redundant) wks ca cha!
de the Hone bank iv) OF 1510-Send the bask sumber to register be Cow,
bSN-E518- Levert the G veqisfler te make the bits = ihe kde registe. 4 CHewiz Select
D* Restore registers (Enable
Flewchart 2. BANKENABLE mA AM Residevt Coda
26
|Koor TOcdo-Read the a ade ae ti (Dank
ToBD/-WE4- Deceem ent MA BAK (hots, flies b's Stored) This stark unde fh, arumplie, that dh Bethan begk te find. |
MODDB-KOBEL- Send dha new *Manimem Bawk Ma=sbkun” bs registe AQ Ty dhe getup wmode, thes ing balls lhe bank member inte the bank galected by the Darsy thar,
YORE |- LORE - Send the nem “Mayenne Bask Member” to Regist Og CBWA). Mow we can talk de thal bank's Unique Fagus bers. |
BED-YOBED- Send @@ to regit ler 46 (AS). Disables all Chunk, Ged fe Femever Gbatevece “Pewee -, Darbaze” may have bean in the rezistee
JOBEE Save the” “Mapiman Bank A’amben”
WOBEF-YORF]-Alew that the bawk :s Hev:gental Selec?
vegiste has bees “diteeneds we unlock ¢t
the mags ® Cesnaed Ee Speeral baud woe
tates) Jf bri 272 the, t0e bak ere, beg bye EJ
evs, ond t=J .
pli de
Reston the momar locadtes Ehed gol wiped whe we “unlecked® He bank xota7- Take wen ec SEs hy gorbaye of F the stack
howg- Sel Cy flay —> he wawk reall, eveuts ocop- RET. : :
XRCA-XKOD-Lestere the memery lecgtie, that 3 ok wiped whe we “swleked” ¢he bask |YOdae- Gel back what we Ehenyht war the wen “mene, baek temban* MOCOF -TociS- Since the bank did't really enn this mramben ig owe tee large. Decrement fd and tere it ai bef, MADR Oe Iman trons WoC - KOcic- Sad OF te epistles C8. Teesimal cs the Setsp Mode NOCID -Ragat CY Flay the bask deeset evist q = Sf Ta:
Flowehat 4. Tie stalls a bawk a ints the bank selectes dhe Daisychain. CY tells
wekhee ae wat Eheee's waally & kan k theme
wonr'd—~ = feet te STSCO Table Or 7-x0Te bh - Inv fishes Maginen Bark # fe DB jnctre-xoAoi ~ Pond te the LAS aren of SYS" table |XOsol-XOAim ~Traeslee the 4 LROS ove-bend bates inte the S¥SCOM Cable o bates te tae iF es LROS wp present
HOAIC- Marck Ehe LAOS wean 23 In gc éive YOAIE-TOAIS- Traasfee BARC warkend bates | inde the SYSCOW table
YOA34-VOAM~Check bytes te See of AROS 13 present
Fresh “expansion bask* i= ST te Bask Meggtee CO: thew gtents dhe peter wep =
NOMC- CAL X@BD! ~ Fastells a bank wuwmbeo imte the begnk Presently selected by tire ‘i im,
poast-yousT- Fit a member Into SYSCOM OL. Tey bewest Thrts wee the bank member Edie MsB fg 2, de signify dhad the bust's oct ren umber cd MOATE-Point te STFCOM C2 KOAST-¥OAGB -Mewe abyte feem lee SOE 7 of new bank & Geog f ELRKomM bank, THIS Is A BUG!IN Shoeld ba the ether way arena! NOAGC-YOATE -Mewe a le (ex) byte block fio. lee OPO) | of fs pang len, bain be de STSCON OF aed Fal lensing. : freegest bank ¢g a FAM bank, how dhis iz grekaye, TF a ROM bask (hese are overhead by ie. Kouto-youge- Gat SYSCON OZ Lempare it te (¥oea 7), These shosld definitely match if wy a RAM bask, & petshl, match by telsctdesce if a hom bank, Me mahal Jelini bely eevee ROM back, Howe VER... btcusge ihe theeve rheey denegfee jas backaaed test ig ereusinglaas.
No4el- Youtg- Meve « begbe firme, lee, CAFE Cmany bank) to K660¢, ALSOA BUG! bad like abeve joatB -yoaac - Move lé(bes) byte Meck, jor liked |XO4AF-YOATI-Compare S¥Scow O2 to (ianeT) B thet awe oe aval id ds ioaac)
IOA¥4~CALL YOADB - Mark SYSCow 02 wilh the thonkys ton taining nr, tery tafe byad | ee Me age Sey = | 4s rut inleck of SYS COW table
10M bank-reset SYSCoM OL Ley “This byte ts semse My % chanel space ty en, Cenvcete pt be appee ota, Lafcé ~ Pend te SY Stow gi hp -CALL KOCIF -Dusdralite Bask -T peques ted te
KOUDS- yo 4% - Fad Gp al END OF Tae JeoAD7 - CALL Locr SB =Fosember banks according te in tereayel peicerties A Tr
FLOWCHART 4, Build The SYScOM Table
up by something like an interrupt driven printer buffer, it sould also have been possible to include extra RAM, or utilities in a ROM. Further banks might have contained a disk operating system, or spiffed-up versions of the 40/64/80 column display utilities in the Technical Manual. And they could have been made directly accessable from Basic! No PEEKs, POKEs, or USR calls should have been needed.
These things just scratch the surface. The point is that the expansion banks, and some extra BEU circuitry similar in function to Sinclair's Interface One for the Spectrum, would have easily extended the TS 2068's repertoire of Basic commands to handle some very nifty 1/0 functions, and they'd have been immediately available when you powered up your machine. We'll begin a dis- cussion of the 2068's I/O system and extended commands later on. Until then, keep in mind that this is where the extended bank switching system would have really made the 2068 shine!
Taking Ca re OF Old Business
Let's first consider Flowchart 2, which describes the BANK ENABLE routine in the RAM Resident Code. To use this, we would first put the bank number in B, and the Horizontal Select byte we want for the bank in the C register. This will work for the standard banks and expansion banks both. No one really uses it for the standard banks at the moment; it's a lot easier to pro- gram the standard banks directly. As we'll see, that's not the case if there are any expansion banks in the system.
At 64A2, we check if there are any expansion banks. If there are, we run some code to deselect the chunks specified from any expansion bank that might have them. Note that if mo expansion bank has them, this can't hurt, and if we're about to give the chunks to a bank that already has them, this momentary loss won't be noticed. At 6487, we check if it's the Dock bank we're selecting. If so, we program it directly, and we're done.
If not, we check if we're selecting the EXROM bank. If so, we pretty much do the same thing, except the code only allows us to give chunk 0 to that bank. Remember, that's the only chunk originally intended to be used there.
If it's not the EXROM bank, then it's either the home bank or an expansion bank. In either case, it doesn't hurt to try to give it to the home bank, because an expansion bank will override this if it has to. We do this at 64EC. The code from 64F6 to 6505 appears benign, but useless.
At 6506, we see if we were selecting the Home Bank. If so,
then we're done. Otherwise, we send the bank number to register
80 (Bank Number Access), and the the Horizontal Select infor- mation to register 40. And that's that. Flowchart 3 is a bit of an embarassment, because it refer-
ences that incorrect "unlock" scheme I asked you to forget. (You don't remember, I hope.) My explanation will correct two errant lines in it. Since I first thought this routine controlled special hardware, it was mentioned last time. Unfortunately it doesn't, and now it would be more appropriate if I first describe the routine that CALLS it. That's the routine that builds the SYSCON table.
Daddy, Where Do SYSCONsas Come FromT
Well, we're mature enough in ovr understanding of bank switching that we know that the stork does NOT bring them! The high level initialization routine (Flowchart 1, in Part 1 of this series) CALLs the routine to build the table. Shown here in Flow- chart 4, it works as follows.
We start by pointing to the SYSCON table and assuming there are no expansion banks (we'll update this assumption if and when we find some.) We then transfer the 4 LROS bytes into the SYSCON table. (TM 5.1.1 explains these bytes.) If no LROS is present, the & AROS overhead bytes are transferred (see TM 5.1.2). In either case, if the device wasn't present, its space is marked to show it inactive. The “bug” described in TM 6.1.4 can be cor- rected by having the JR at XOAIA go to XOAIE, if no LROS is present.
At XOA3E, we point to the SYSCON space for the first ex- pansion bank and enter the setup mode. In this mode, anything written to register AO will become the Assigned Bank Number of the bank selected by the Daisychain. Also, during the bank in- itialization, the HL register is always supported to point to the SYSCON location we're working with.
At XOA4C, we CALL routine that tries to install a bank number, checks to see if it succeeded, and ends the setup mode, if not. Returning from that routine, if we've run out of banks, we leave the setup loop to XOAD4, mark the end of the SYSCON table, and CALL a routine that RE-ASSIGNS the bank numbers, according to their value in SYSCON 17. This is called the In- terrupt Priority.
[Editor: WOW! Wes, we ran out of space already! And just when
Was getting good. We will all have to hold on to our hats next issue! ]
it "til
TONE/PHONE 20687 2. 5. ~2r.0 Peuieen
No, this is not about modems...this is about using the TS 2068's sound chip to have a little fun. We leave it to the individual as to how enthusiastic one's fun becomes.
What we plan on doing here is simulating the tones produced by a touch tone type phone. Each button or key on a tone phone produces two tones when it is pressed. Since the 2068 has three channels of sound on the sound chip (plus another if you include the BEEP command), we easily have enough equipment to do the job.
In order to find out what tones are used I had to do some investigation. Luckily, a friend of mine at the plant where I work was taking an electronics course, and had a book at home
that contained the information...and so, we're in business.
The diagram shows the layout of a standard tone phone key- pad. To the left of each row of numbers is the frequency for one of the two tones produced by that number key on the phone. At the bottom of each column is the frequency for the other tone pro- duced by that key. For example, if you press the "1" key on a phone it simultaneously produces a tone at a frequency of 697 and a tone at the frequency of 1209.
What we need to find is the coarse/fine values for the tone registers of the sound chip. On page 194 of the TS 2068 User Manual is a short program just for this purpose. A little rounding of numbers is required to get the values that reasonably close to producing the tones we need.
come
2848 PRINT "Press D to dial*
aeé2 GO TO 2a62¢+CINKEVSe="d*)
2658 SOUND 7.68: FOR d=ii7 TO 126
2652 IF dt(F)(d)e*=" THHEN GO TO 2675
2655 IF déiFi(¢d)=e" * THEN GO TO 288
2657 LET neVAL (4607) (d)): PRINT fi: GO SUB 28604n 2658 GO TO 2e78
2840 SOUND B,1509.1588.11611.82:2.8213.0: RETURN 2641 SOUND 6,.1527-21518,15411,0812-0:3.8: RETURN ZBé2 SOUND 8.1587.1518-154601,012,8213.8: RETURN 2643 SOUND 8,.15:7-15:8,15411.012.76:3.8: RETURN 26464 SOUND 8.15:9.1510.14211-+0:12.90:3.08: RETURN 2645 SOUND 86.15:9.15:80.14251.0:2.82:13.8: RETURN 2846 SOUND 8.15717 1518+1462:1,812,7413.8: RETURN 2647 SOUND 8.1579.15:50.,12811,.012.70:3.8: RETURN 2848 SOUND 8.15:9.,1510-12611-.0:2.82:3.8: RETURN 2649 SOUND 8.15:9.151:0,12811+0:2.74:3.0: RETURN 2870 PAUSE 18: SOUND 6.0:;7.@: PAUSE 1
Z2e75 KHEXT a
2860 RETURN
Once this is done, a short subroutine like the one in the listing can be written to simulate tone dialing. The example listing is based on the assumption that it is part of an address book type file. In this case, the file is stored in a string array--d$—-whose DIMensions are something like 75 different files each 128 characters long [DIM d$(75,128)]. The phone numbers are stored starting at the 117th character in each file.
Let's review the listing: Line 2850 executes the command to open the sound chip channels, A and B, and sets up the FOR/NEXT loop for reading the phone number off the file. Lines 2852 and 2855 skip over characters which are not numerals, but are usually found in phone numbers. Line 2857 figures which line further below to call based on the number it is "reading" and calls it (GO SUB 2860+n). Lines 2860 thru 2869 do the actual execution of the tones. The last digit of the line number corresponds to the number of the telephone key which is being simulated. Line 2870 off the tones and gives a proper break (silence) between the current and next tones. Line 2880 ends the subroutine and RETURNs you to your main program.
WARNING: You should not use this on your phone as your 2066 in not FCC approved for use as telephone dialing equipment. This is merely for simulation and fun. You certainly don't want the boys from Washington knocking on your door.
Enjoy your Tone/Phone 2068!
SIMPLY MCSIC
ey 5S.
10 REM S880 Rae aE TERT e22
Simply Music (c) by S D Lemke Lemke Software Development 2144 White Oak Wichita, Kes. 67207
PERS SES ELSES SEC EP SSE S Pee eee tse:
=-0 PAPER 1: BORDER 1: INK 7: Cc LS + PRINT AT 10,73 FLASH 1: “PRE PARING SCORE": GO SUB 8000 =O LET p=0: LET vwb=13: LET vs= iS: LET va*i3: LET g=0: GO SUB 5 oo 40 LET bi=0: LET di=0: o 50 LET b=0: LET d=0: LET f=0 60 LET beb—1i: LET d=d-1: LET # =f=1 7O IF INKEYS<>"" THEN GO SUB 200 75 IF q THEN FRINT AT 10, 15;" 75 76 IF NOT q THEN PRINT AT 10, LS; "'?* 77 LET q=NOT q BO IF b¢=0 AND p THEN 38,0 85 IF b¢=0 THEN LET bl=bi+1: LET best(1,3,61): LET sv=ve: IF « (1,1,b61)=0 THEN LET sv=0 70 IF d<=0 AND p THEN 39,0 935 IF d<=0 THEN LET di=di+1: LET d=s(2,3,d1)2 LET av=va: IF s (2,1,01)=0 THEN LET av=0 100 IF #<=0 AND p THEN 310,0 105 IF #<=0 THEN LET #1=1+41:; LET #=g(3,3,#1)1 LET bvevb: IF s (3,1,#1)=0 THEN LET bv=0 110 IF bitni OR disn2 OR fiSn2 THEN GO TO 4006 12030,5¢1,1,b1);1,s(1,2,b1);2,s (2,1,01)33,8(2,2,4d1);4,5(3,1,#1) j5,8(3,2,41)5;68,sv;9,av;10,bv: GO TO 60
LET f1i=
i950 REM Adjust Settings 200 LET it=INKEYS: IF if="" THE NW RETURN
210 IF if=*B" OR itf="b" THEN L ET vwboevb+l: IF wb>15 THEN LET v b=0
220 IF i@=*A" OF if="*a" THEN L ET wa'vatils IF vwa>15 THEN LET v a=0
220 IF it="S" OR if]="s" THEN L ET vweeveti:t [IF we>i5 THEN LET wv 2=0
240 IF i$="S" OR if="s" THEN FP RINT AT 12,0; "SOPRANO "sAT 12 eO8;vezAT 12,123: FOR i=1 TO ws: PRINT PAPER Ss" “g: NEXT i: FOR
deve TO 15: PRINT PAPER 1;" “; : NEXT i
250 IF igf="A" OR if="a" THEN FP RINT AT 14,0; "ALTO ";AT 14 »B:varAT 14,133: FOR i=1 TO var PRINT PAPER &6:" “3:2: NEXT it FOR
itva TO 15: PRINT PAPER 13% “3 : NEXT i
260 IF if="B" OR iS="b" THEN PF RINT AT 16,0; "BASE "SAT 14, Bsvb;AT 14,123: FOR i=1 TO vb: P RINT PAPER 23" “3: NEXT i: FOR i=evb TO iS: FRINT PAPER 13° “;3
NEXT i
270 IF if="P" OR if="p5" THEN L ET p=NOT pt PRINT AT 18,0; "Phras ing is “; ("not “ AND p); "Legato.
280 RETURN
40038,0;9,0;10,0: PRINT #0;AT 1 sot"FPress any Key to Continue. ": PAUSE 0: GO SUB 500: GO TO 46 S00 CLS : PRINT AT 3,8;"Simply Rusic™: PRINT AT &4,0;t#: LET it= *S"1 GO SUB 2401 LET if#*A*: GO SUB 250: LET it="B": GO SUB 240 510 FRINT AT 20,0; "Press 5 for SOPRANO, A for ALTO B for E ASE, F for PHRASING*
20 FRINT AT 18,0: "Frrasing is ";("not " AND p); "Legato. ™ 530 PRINT #0; INVERSE 1;" Fress
*"ENTER"" to Start Song. ”
540 GO SUB 200: IF if<>CHR® if THEN GO TO 340
SSO PRINT #0;AT 0,0; TAB 31;" “; TAB 31;" *: RETURN 8000 DIN s(t,3,400)130,0;1,0;2,0 15,0; 7,56;6,0;7,0; 10,0; 11,50; 12, 120;13,10 68001 RESTORE 8100: READ t#: READ mit FOR imi TO mit FOR j=l TO 3 s READ s(1,j,4): NEXT j: NEXT i
oO. L_emk &
8002 RESTORE 8110: READ n?: i=1 TO mz: FOR j=i TO 3: 2psnidt NEXT Jt WEXT i 8003 RESTORE 6120: READ nz: FOR i=1 TO nd: FOR je-1 TO 3: READ at S,jJ,4)2 NEXT j: NEXT i
6OO4 DATA 0,192,532, 14,460,40,40,2 35,0,13,4,8,60,40,40,255
6005 RESTORE 8004: FOR i=0 TO 15 ' READ b: POKE USK “a“+i,b: NEXT i
8006 RETURN
80978 REM
FOR READ st
Canon in D by Pachebel
8099 REM 8100 DATA "
S0FRANO Canon in D
by Pacheb e1",56,119,1,8,245,1,8,170,1,8,8 4,2,8,51,2,8,259,2,6,51,2,5,245, 1,8,74,0,6,84,0,8,74,0,8, 77,0,8, 112,0,8,125,0,8,112,0,8,99,0,8,7 4,0,8,84,0,8,74,0,8,997,0,8,112,0 78, 125,0,8,112,0,8,79,0,8 8101 DATA 74,0,8,684,0,8,74,0,8,7 7,0,6,112,0,68,125,0,8,112,0,6, 99 »o,8,74,0,8,84,0,8,94,0,8,97,0,8 2112,0,8,125,0,6,112,0,8,99,0,8 8102 DATA 74,0,8,84,0,8,74,0,8,7 7,0,6,112,0,6, 125,0,8,112,0,8,99 »9,8,74,0,8,64,0,8,74,0,8,99,0,8 7 112,0,68,125,6,8,112,0,8,99,0, 20 B1l09 REM ALTO 68110 DATA 126,119,1,8,245,1,6,19 0,1,8,84,2,8,51,2,8,2397,2,8,51,2 »6,245,1,8,119,1,8,245,1,6,190,1 »8,84,2,8,51,2,8,239,2,8,51,2,8, 245,1,8,94,0,8,997,0,8,112,0,8,12 3,0,6,141,0,8,1497,0,8,141,0,8,14 7,0,8 8111 DATA 74,0,4,125,0,4,99,0,4, 125,0,4,112,0,4,149,0,4,125,0,4, 1497,0,4,141,0,4,168,0,4,149,0,4, 168,0,4,141,0,4,1688,0,4,147,0,4, 141,0,4,74,0,2,125,0,2,94,0,2,12 3,9,2,979,0,4,125,0,4,74,0,2,149, 0,2,112,0,2,149,0,2,125,6,4,149, 0,4,112,0,2,188,0,2,141,0,2, 1868, 0,2,149,0,4,188,0,4,112,0,2, 188, 0,2,141,0,2,188,0,2,147,0,4,141, 0,4
6112 DATA 74,0,2,125,0,2,94,0,2, 125, 0,2,84,0,2, 125, 0,2, 99,0, 2, 12 | 5,0,2,94,0,2,149,0,2,112,0,2, 149 »O,2,797,0,2,1497,0,2,125,0, 27,149, O, 2,112, 0,2, 188,0,2,141,0,2, 188, 0,2,125,0,2,188,0,2,149, 0,2, 188, 0,2,112,0,2, 188, 0,2, 141,0,2, 188, 0,2, 99,0, 2, 147, 0,2, 125,0,2, 141,0 2 . B11 DATA 94,0,2,125,0,2,94,0,2, 125,0,2, 99,0, 2,125,0,2, 99,0, 2, 12 S,0,2,112,0,2,149,0,2,112,0,2,14 7,0,2,125,0,2,1497,0,2,125,0,2, 14 7,0,2,141,0,2, 168,0,2,141,0,2,18 6,0,2,149,0,2, 188,0,2,149,0,2,18 6,0,2,141,0,2, 165,0,2,141,0,2,18 8,0,2,125,0,2, 167, 0,2, 125, 0,2, 14 1,0,14 6119 REM BASE
8120 DATA 54,119,1,8,245,1,8,190 |
,1,6,64,2,6,51,2,8,239,2,8,51,2, 8,64,2,6,51,2,8,259,2,6,51,2,8,2
45,1,8,119,1,8,245,1,8,190,1,8,8
4,2,8,51,2,8,229,2,8,51,2,8, 245, 1,8
B121 DATA 119,1,8,245,1,8,190,1,
8,64,2,8,51,2,8,237,2,8,51,2,8,2 |
45,1,6,119,1,8,245,1,8,190,1,8,8 4,2,8,51,2,8,2397,2,8,51,2,8,245, 1,8,119,1,8,245, 1,8, 190,1,8,84,2 »8,51,2,8,239,2,8,51,2,8,245,1,8 B122 DATA 119,1,8,245,1,8,190,1, 8,64,2,8,51,2,8,239,2,8,51,27,8,2 45,1,8,119,1,8,245,1,8,190,1,8,8 4,2,6, s1,2; 6,237, 2,48, si »=,8, 245, 1,8,119,1,8,245,1,8,190,1,8,84,2 »8,51,2,8,239,2,8,51,2,8,245,1,2 o
9999 SAVE “Simply M" LINE 1
SIMPLY MUSIC is an all Basic program that uses the three
SOUND channels of the TS 2068 to create music. Each
"volce" can
* SMART TEXT TsS-206s x
“gives you the prettiest letters that you'll ever see from a computer. It's DATA BASE lets you edit and move data at will. It's MAIL MERGE lets you create or LOAD mail list files for PERSONAL FORM LETTERS. HEADERS, FOOTERS, BLOCK INDENT, Repeat Print reports, do invoices, outlines, AUTO LETTERHEADS, AUTO SIGN OFF! A complete ADMINISTRATIVE PACKAGE for home or office.
$39.95 Check or H/0. Fost Paid.
Specify type of Interface, and for Cassette, Micro Dr, or AERCO FD Disk. Supports all printers. 70 page illustrated manual, plus Phone info service. Guaranteed.
Bill Jones, Gulf Micro Electronics, 1317 Stratford Ave, Panama City, FL 32404. 904-871-4513 Inquiries welcome.
Lio a BS Fesacoiution
ate ee a } Graphics =
_Lolossts
ta) Welcome
Home EA ndMSie at" it’s
Teudtsi edeyte
cirt! COLOSSUS is a graphics-banner program. Now you can mix banner-size TEXT with banner-size graphic PICTURES. Route your graphic banner to the 2040 thermal Printer or a full size printer (you must supply your own customized Zprint-80 printer driver code.) Specifications; Banner size: 24 rows a 102d coniinecus columns (32 screens long!)
Font Typer Standard Moder, Italics, Bold, Load Font (Chancery included)
Font Size: fa, 162, and 24 2 normal
Scrolling Banner Program
Functions: Scroll Forward / Backward Insert’ Delete Columns InsertDelete Rows Copy/ Erase Segment Load/Save Banner Dota 32 Sereen, Low Res Animation
Output: 240 Printer Pull Size Printer (Z-Print £0 Printer driver required!) (Print from any column!)
Se sic Bboan
be adjusted before and while the music is playing {although the music is interupted while the adjustment is made). Phrasing can be selected as Legato (smooth), or not smooth. A tiny metronome ticks off the beats while the music plays.
The program creates a “musical score" by READing in values from DATA statements. Each tone consists of three pacts, a FINE TUNE value, a COARSE TUNE value, and the duration (in beats). See chapt.21 of the 2068 User Manual. Note durations are all rela- tive, but in the present song, a WHOLE note gets 8 beats, a HALP note gets 4, a QUARTER note gets 2, and an EIGHTH note gets 1 beat. RESTS are input as O (zero). The MUSICAL SCORE begins with the DATA statement in line 8100. First is a title (in quotes). The first number is the number of notes played by this voice. Voice 1 in this case is the Soprano voice. The second number (119) is the FINE tune value, the third value (1) is the COARSE tune value, and the fourth number is the duration of the first tone, 8 beats, a whole note. The following numbers continue to define the musical score of voice one. Line 8110 starts the musical score of voice two. The first number defines the number of tones (and rests) played by this voice. This is followed by the values that define these tones. Line 8120 starts the musical score for the third voice.
This particular arrangement of "CANON IN D" starts with all three voices in harmony, and it sounds as if there is only one voice. After a few bars, the second voice appears, and a short time later, the third. Though simple, the music is effective!
Listing notes: Lines 75 and 76 each have a "?" in quotes, These are UDG "A" and "B" characters respectively. These are the tiny metronome defined in lines 8004 and 8005. Lines 80, 90, 100, 120, 400, and 8000 all have “brackets" in them. This is really the Basic SOUND command, and must be typed with the key- word SOUND. About the only way to debug this song, is to listen as it plays and seek out the "kinks". When you INPUT data from a printed score, you can actually follow the music one voice at a time and find your errors. If the program plays too slow, it can be speeded up by deleting lines 70 to 77. Lf you want only Legato (smocth), delete lines 80, 90, and 100 also. SAVE the program to tape after you have typed it in by “RUMing 9999". The program will auto-run when it loads. "PREPARING SCORE" will flash on the screen as the DATA is read. When completed, you will be able to adjust the voices by pressing "S" for Soprano (voice 1), "A" for Alto (voice 2), and “B" for Bass (voice 3). Press "P" to change the phrasing. Press "ENTER" to play the song.
28
Get your copy of Colossws (only $19.95 ppd!) from: Lemke Software Development 2144 White Oak Wichita, KS 67207
oe, Gs
The FootePrint Printer Interface
® for Centronics parallel printers
® works in both 2068 and Spectrum mode
* compatible with OS5-64 & Spectrum emulators
* EPROM socket and on/off switch on board
© works with both Tasman and Aercodriver software
® plugs into cartridge dock—door completely closes with cable running back under computer
® frees up rear edge connector allowing other peripherals to be used; less chance of a crash
* print driver software for LPRINT, LLIST, and COPY included for 2068 and Spectrum modes
FootePrint Interface w/software & cable .$45° |
FootePrint with OS-64 option included . 65°
Bare board & instructions only ..... save hl 50
Cable only for use with bare board ....... $1509 | All prices are pre-paid and include shipping charges.
FOOTE 2%, SOFTWARE
P. O. Box 14655 — Gainesville, FL 32604 904/462-1086 (6 pm -9 pm EDT)
Now at last...
O Ultra-Easy Designer Graphics
by Paul Bingham
The large and warm response to the ULTRA-EASY DESIGNER GRAPHICS Program for the 2068 (which appeared in the July/August 1986 issue of Time Designs attests to the many 2068 users yearning for ways to use UDGs effectively. Many sent listings of enhancements they had added, some sent tapes, one wrote to say he had been looking for this program for a long, long time and wished I had written it sooner. ‘Truth is, so do I! I think all this renewed interest in our 2068's graphic programming abil- ities is great.
In the first article I made mention, "that there were only 21 of them,"--UDGs that is. Well, as things turn out I was wrong again! So what appears here is some new program lines to soup up the old version 1.0 so it will do 115 UDGs at a whack instead of just 21. I call it "SON OF UDG".
Now if you crack your 2068 manual open to page 262 you will find the name CHARS listed. By reading the content note you will discover that by altering the address in CHARS we can set up an alternate table of letters and symbols in RAM and the 2068 will use them instead. How exciting! New symbols, new fonts, new graphics--its all possible. CHARS covers the Character set starting with the space (code 32) and through to the copyright symbol (code 127). This is in diference to an article on fonts I just read in SWN. The entire set is not pointed to by CHARS, only CHRS codes 32 through 127.
Check the listing of these characters in the manual's Appendix B (page 240 and on). Now lets experiment. Type in the short Listing #1. This looks in the table in ROM and lists the values for each of the eight bytes which comprise each char- acter. Character #124 and #126 list eight bytes the same as_ the rest, but the manual states they are STICK and FREE. What the table lists produces a vertical bar symbol and a reverse quote, just like the SPECTRUM. But elsewhere in the ROM, the 2068 ignors this and prints STICK or FREE...two commands the SPECTRUM does not have. Because of this fluke "SON OF UDG" ignors #124 and #126 as well, so as not to cause problems.
Figure l 120=0,0,638,42,16,40,63,2, 121=0,0,68,68,68,60,4,56, 122=0,0,124,8,16, 252,124, 0, 123=0,14,8,48,8,6,14,8, 12420,8,8, S°3/8's. Qo, 125=0,112,16,12,16,16,112,2, 126=0,20,49,0,0,8,6,0, 127=60,66,153,161,161,153,66,60,
Figure 2
1 136 2127531554156uDG:
110M 1116 1112p 1139 1idr Liss 13161 iifu 1i18v 1icSw i120x i12i1y 12e2z iz3t 1e4- iz5; iz6- 127= 1625 addr:i6z 6S464164de@
PF Cu SUATH SAVE CODES
3 a 3 =) 3 a 3
ager eo
730 SaP1904 81i0i1d1e B2R1def 6351039 S47 id4n | 8SU1asi 86V106 j B7W1id7k BSax1a3l ao7v13om
i6i®
2Q
The program keeps track of what CHARS is set to at any given time, but in your own programs you must change the con- tents back to the original values before, say breaking or listing. If you don't every symbol will become total gibberish. In that case try POKEs to put things as they were: 23606 should be 0 and 23607 should be 60. In the program GOSUB 610 will per- form the same service.
The "SON OF UDG" program uses all the same keys original plus the “a" key which is a screen toggle. One old graphic work slate, the other is a current list of 115 Characters (see Fig.2). You will be asked upon switching screens if you will be returning or wish the work slate's contents dis- played. This is so if you toggled in mid-stream to check some- thing that your current efforts won't be obliterated. SAVE and LOAD have also been modified to proper size for all 115.
In order to get your old listing up to "SON OF UDG" status you will need to do the following:
1. DELETE lines 10 thru 20, 36 thru 39, 43 thru 110 =20 thru S20, 7010 thru 97050, 9095 thru 97120, 9220
as the is the
thru 9225, line 25, and line 200 2» Alter "65368, 1597" in lines 28 & 29 to "64598, 9741" Ss. Alter "20" in line 190 to "750" 4. Alter line 9060 by removing "PAPER 5S:" command
=
Alter line 1 to include "SON OF" so you know later é.
Add all the lines of Listing #2
And thats all there is to it! You are of course welcome to make any alterations or enhancements you wish to the program (Several found grids on the work slate to be helpful last time, for example)...and feel free to send ideas and comments to me also. If you would like a complete listing of the entire "SON OF UDG" program the way it is supposed to look, just mail a dollar and I'll send you one. Write Paul Bingham, P.O. Box 2034, Mesa, AZ 85204. (If you're not up to typing, I will send copies of the complete program on tape for $5.)
Listing l
1 REM 18
‘pe
30 40
2063 CHRS Table Peeker FOR f=32 TO i127: PRINT f;"=
FOR t=f284i1526e@ To
PRINT PEEK t:", NEXT t: PRINT
F#8+1536
NEXT Ff
Listing 2
ps CLEAR 64597: GO SUS eae: FR =15616 TO i6384: PCKE 3) ‘PEER 1: NEXT t: O 65525: READ o: t: FLASH @: CLS : 0 ‘Bo, gs DATA. 8,08,63,252,252, £4
22 DIM K(257): OIM cla): FOR t 21 TO 4: LET cit) s32: NEXT t: DI d(32): OIM u(2a): LET ese7: LE at=s7:; LET px=S: LET pysi: INPU “Press ENTER to continue...";h GO TO i185 25 GO Tc 350 36 LET LET qx =@: af LET LET qx zi: car LET s2i7: LET ax =6: a" LET s=25: LET Qx2i:
42 INPUT "“Zsi:";c1);" 2nd: ";¢ (2);" Ord: ";,c(3);," 4th: "j;¢c (4)
43 IF ci=8303 THEN GO SUB 358: GO SUB 609: PRINT AT @,1;CHRS c (1) ;,;CHRS cCi2);AT 3,3;CHRS$ ci3i;c HR$ ci(4): GO SUB 6108: FOR t=6 TO 18 STEP 4: PRINT AT @,t;ct14+(t- 5) 7/4): WEXT t: PAPER 1: RETURN
FO (t+4898 FOR t=65526 T POKE 1,0: NEAT
; SUB S015: G
e4a4tw
$=]:
&=0:
GO TO 41 GO TO 41 GO TO 4 GO TO 4
44 FOR t=1 TO 4: IF ti=2 THEN S : 9550 BRIGHT i: LET a=za: =1 eens es ee ee ;CHRS e: Go $05 (620. RETURN oT “OR 5 eeenate +4: GO S25 PRINT AT 20, 7 9560 LET j=19: GO SUB 9500: LI
2O T =e: oy = ¥ 46 IF ¢(t).143 THEN LET haicit 9o8nt ok “Se ioe) ee ee . BalsHt 6: BETiRn °° | PAPER )-144)48+655368: GO TO 63 S35 IF e€:70 THEN LET ox=6: LET S600 INPUT “Returning to current 47 LET h=(c i(t)}-32) 43+64598 gy=48: GO To sso work? ";ng$: IF ng<>"n" THEN PAP ated FOR m=h TO h+7: LET ai1=PEEK S40 IF ©4908 THEN LET gx=10: LET ER 7: Go Sus S20: LET tx=5: LET ae : ‘ 9y=68: GO To 5é6e tyel: FOR t=1 To 256: GO TO 9602 ar FOR g=8 TO 1 STEP -1: LET a S45 IF e<110 THEN LET gx=14: LE 9691 GO To sées isaive: IF INT 31<a1 THEN PAPER T gu=88: GO To Sse S602 IF INT (ATTR (ty,tx) 48) «97 Sr steiur'sat ange gg Mo) + TSBBTER edb orheg ter axaso: ve SRN PETE it}zd "a0 ¥6 8068 Se: eee a T gy=108: 7" 360. - 65 PAPER 7: PRINT AT y1,x149;C eke LET evens, cet euates 9605 LET tx=tx41: IF tx»20 THEN HR$_ 125; * » eaoeine 56@ PRINT AT 21,16;1;AT_@,6+INT LET txsS: LET ty=ty+i 66 NEXT 9: LET ylsyiti: NEXT m (s/8)44;" “J AT 8,64INT (578) 4 da ae iklce p . =) L Ci=9000: ) 123 GO SUB 9008: GO sUB ss2a ait 0058, S00: oe aes oe bhas : HT 8: FOR t=O)
$ €;AT 9u-e,9x;CHRS RP 5S: PAPER 5S: BRIGHT @: FOR t=a
105 PAPER 1: PRINT AT cs,26;" “ €: GO SUB 6i@- RETURN TO 21: PRINT AT t,9;” 2 PAPER 7: PRINT RT cs,26,CHRS 1 60@ POKE 23605,85: PCKE 236297,2 “: NEXT t ; 64: IF ci=9690 THEN GO SUB Soca: 9610 LET bb=@: LET xp=32: Go To 110 ee he ne a =49: LET wp=28: LET beet G0 sus hg hg ora ee. ore parame iret selena : ; Ont : | xp=5@: LET yp=69 _ if CODE INKEYS=S1 THEN LET’ cs = . Ree THEN GO SUS cies p=43: LET xt=4: GO sip e720 ee 790 IF ci=¢909 AN = - = LET xp2e2/0@: LET yp=s89: LET w yg02, IF CODE INKEYs=97 THEN GO $ ior ta 548 She OG nen scat mee p26s: LET xt=8: 60 SUB S720 = ‘oo = H : => ‘ UL 218 GO TO 105 i 795 RETURN P=83: LET xt=12: GO SUB 9720 35@ PAPER 7: IF ci=9@00 THEN PR S0@ FLASH 1: PRINT AT 17,8; "jes S650 LET xp=i@d: LET yp=i@9: LET ANT ne O33 | 7A €,6; 7 oe ght emenet!": RETURN Xt=ll: GO SUB 9720 @,10;" _";AT @,44;° ;AT 0,18 S808 GO SUB 9015; INPUT “Display pe + i a gt Le A pe GE Sai ;AT 21,16; previous work? “;ng: IF n$<¢>" jwpsies: LET xt=i6: G0 SUB S722 : RETURN : THEN LET tx=S: LET ty=1: FOR t= 9670 LET xp=i44: LET yp=i64: LET 362 FOR m=21 TO 24: GO SUB m: N 1 TO 256: GO TO See2 wp=i43: LET xt=21: LET bb=1: 60 EXT m: RETURN 9701 RETURN SUS s720 see FOR hex TO Sirians Gan Meee 9003 IF kit)=1 THEN PAPER ®@: PRI Ee eee S: tie art t: NEXT h: RETURN A oe one Hi Ge 2607 Peren 7: © 16,25)" “iAT 16,18;"- “jAT 18,19 410 INPUT "“CHRS Number (cH) as _s ge05 PRINT AT ty, tx: CHRS 125 = “SAT @,0;"2° 3"; AT 1,0; "2 torage: “;¥v¥n: IF VnosSl AND Yh¢ R=tx41: FP tx>20@ THEN 7 eke AND vn<>led AND vni>226 OR vn>d LET tx=S5: LET ty=ty41 eA hee ioe. BR tc saT 43 AND vn<i6S THEN LET e=vn: GO S@11 NEXT t: GO SUB 34: RETURN “4: PRINT AT 3,0; “Ca: “ "AT 2, 21; aa: ~¥iteest ehttys~ohis S015 LET ci=96@0: BCROER 1: PAPE UDG: "“; AT 28,16; "addr:”: PAPE 5. ENTER’ - vs: GO TO 410 bbe. RS: GERICGHT i: FOR t=@ TO 21: PR BRIGHT @: PRINT AT a1, 16; ' ‘63563 ad 2¥5: se ‘ INT AT 1.8; ‘AT @,1:; -AT 1, 420 IF €9127 THEN LET j=INT (s. NEXT 1 otee ehchicr o) RETR vd og a LET 31 =65560+5 2u sane PAPER = BRIGHT Oo 9720 FOR z=xp TO up: LET aa=z-wp : = BRIGHT @: FOR t= . BI — T Ort AdnGee LET wre =o1 oe . mrs s eae 5: BRIGHT bb: PRINT AT a = : gree OR t=@ TO 21: PR an Steen | 430 LET russ: FOR t=i TO i+7: P INT AT 1,27; “: NEXT t as. pee pees fa Aegggr Baad BE OKE t.dtru): LET fusrud¢i: NEXT t 9540 BRIGHT 32: PRINT AT @,27;' geo ; sir i ami " 435 PAPER 7: IF ci=9@00 THEN GO ASE"; AT 7,27; “SWATH”; AT 8,27; ri a a ts TO 530 VE “IAT 9,27; "CODES"IAT 19027; "5 | i ws S08 LET kisi: LET f=e: FOR h=18 TORE’; AT 21,27; “PRINT”
+i TO 21: GO SUB 68@: PRINT AT h »11;,CHRS €;AT h,23;CHRS fF: GO SU 610: PRINT AT h,13; hi; AT h,1i9; ;: PAPER 5S: BRIGHT 1: PRINT
;; PAPER 7: BRIGHT G@: LET ki=khi+ 3: LET fef+i: NEXT fh
SOS IF CODE CHR§$ e=124 OR CODE
CHRS €=126 THEN RETURN
510 GO SUB 609: FOR h=19 TO 21:
PRINT AT h,Jj+1:;CHRS €: NEXT h
edit
Renew Your Subscription Today!
GREAT BOOKS FOR YOUR SINCLAIR
Courtesy Of Pete Fisher | | OFFICIAL 2068 TECHNICAL MANUAL .w.....825,00
CONTROL THINGS with your Timex/Sinclair by R.L. Swarts...... ncarnenesrps ed Oy
TIMEX SINCLAIR—-RELATED BESS’ s IN THE U.S.
2481: Programming for Real Applications by Randle Hurley iesniestaeaiinapiniaiiterciamansiaiaa al
Both “CONTROL THINGS” and "ZX81"._........$10.00
—F Los Angeles, | fornia = 3 Atlante, on Georpia
Build a Microcomputer - Controlled NEW! ROBOT By B.C. TrylOt...n.resrsssssrssssessserserseseserserersasennt) 1 Ft)
_ he aks FF ]
| The Best of TIME DESIGNS Volume 1..............$12.00
San " con California
Taking the Quantum Leap Available February 1987 BY MIKO BO SOS Cn cecececsnsracnsesecrsseressessesesstvensasensees 92 OID
$
WE PAY THE POSTAGE ON ALL ORDERS!
a uA i
stotah 8% ign edad Ve dt Cinals Ord Goters.
SE aa it aeRe ;
| } Send Name, Address, along with chech/MO OR Credit Card NoJExp. date to:
TIME DESIGNS MAGAZINE COMPANY 29722 Hull Rd, Colton, OR 97017 _ (503) 624-2658 |
T/S
MODEM-ing
If you have spent any time on a local Bulletin Board System, you will have certainly found the mighty, but humble, TS 2068 in the minority. I have had the occasion to offer BASIC programs to fulfill a few BBS users' requests. However, Sinclair BASIC is incompatible with other computer BASICs. With the help of BASIC2text, one can upload a Sinclair BASIC program via MTERM II to another brand of computer. On the receiving end, the re- ceiver can print out the text/program and key it into their computer, making needed alterations. Some computers can compile a text file into BASIC format, allowing some receivers to simply tailor the text file to their system requirements without having to key in the program.
Sinclair BASIC is stored in the machine using many control codes (number slugs, floating point numbers, line length, ect.) and single codes for Tokens (IF, THEN, GO TO, ect.). BASIC2text will remove any non-ASCII control codes and expand the Tokens to their full ASCII equivalents.
To use BASIC2Ztext, first LOAD a BASIC program, set RAMTOP to 64900 (CLEAR 64899), then LOAD in the machine code version of BASIC2text (LOAD "BASIC2text"CODE 64900). BASIC2text is run in two separate steps. PRINT USR 64909 will move the actual BASIC program to high memory, allowing room to build the text file. When this step is complete, a message will appear on the screen prompting you to Press Any Key to reset memory. RAMTOP will be raised to 28416, protecting the area for the text file. The screen will black out and the copyright message will appear. The machine is now ready to translate the moved BASIC into a text file (use PRINT USR 65042). The program will now convert Sinclair BASIC to an ASCII text file starting at 28416. When the translation is complete, a message will appear on the screen providing information on the start of the text file and its length. Follow the prompts to SAVE a copy to tape. IMPORTANT NOTE: Both routines must be called with the PRINT USR...not the commonly used RANDOMIZE USR. This will insure that the messages will appear on the screen.
To send the text file via MTERM II, load MTERM's buffer with the text file. I prefer to use LOADER IV. If the length of the text file is larger than the buffer area, it should be saved in two parts, allowing two smaller text files to be loaded and sent separately via MTERM.
BONUS: I have two different printer-drivers for a full-size printer, both of which do not faithfully reproduce a BASIC listing. By using the text file produced by BASIC2text, a faithful copy of the listing can be sent to a full-size printer. Set the driver's margin to 32 characters wide, and use the following BASIC program to print it to your printer:
10 FOR X=start of text file To
end of text file: LPRINT CHRS PE EK X3: NEXT xX
ENTERING BASIC2text
In order to save space, I have not provided a BASIC program to install the machine code. If you have access to an assembler I would suggest enterign the program via the mnemonics. If you do not have and asembler or a favorite machine code loader use
Listing 2, and enter the OP Code column in the DATA statement lines.
The author can provide a copy of this program on tape for $4.00 (includes shipping). Please send a check or money order
to: Michael E. Carver, 1016 NE Tillamook, Portland, OR 97212. Please specify "BASIC2text". ROM CALLS NEW #gu OD1D PR_STRING equ 21DB TO_TABLE «#gu OOoOfe PO_SEARCH equ o77Cc K_SCAN equ OZEO Listing i STSTEM VARIABLES PROG equ 3C33 VARS equ Sc4B RANTOP equ Sceaz ORIGIN equ FDa4 (447000) Address Op Code Mnemonics Label Hotes |PROGRAM VARIABLES FRea4 oo @ FLAG defb OO FODesS 6000 MOVED_BAS defm OOOO jAddress of moved BASIC Foe? oooo HOVED_END defw OOOO fend of moved BASIC Foe? 0000 BAS _LENG defw 0800 jlength of BASIC FOeR oo00 T_FILE defun 0000
ptile
jcurrent pointer in Text 31
Foeod FO?! Fora Fo? Fo?? FD?s FO?? FO?A FOVE FDAZ FOAG FDA? FDAB FDAC
FDBO FDES FDBS FOR? FOaC FOBD FOSF Foci
Fpc2 Fpc4 FDCé Foc? FOCA FocEe FORCE FOOD.
FDDS FoDea FODOR FDEL
FDES FDREA FDF1
FDF4 FOFA FOFE FEO? FEOS FEOB
FE1IZ FE1S FEIG& FEIB FEID FE2O FE24 FEZ22 FE23 FE24 FE2S FEZ6 FE2? FE28 FE29 FE2ZC FEZD FEZF FES2 FE33 FEI64 FEI? FE3c FEF FEa2 FE44 FE43 FE46 FEB FE4E FES. FES4 FES? FESA FESD FE4o FE4&3 FE4&é3 FE4&8 FEa&? FEéA FESR FEAD FESF FE? 1 FEZ FE?4 FE?S FE?76 FE?8 FE??? FEBi FEa? FEoF FE?v4 FE?S4 FE? FEAZ
f1Enter here to move BASTC iCall vis PRINT USR 449707
ED4ES335¢ Z2A4B5C ED4z
MOVE _ BASTe
ED43e9FD
EDSBEB25¢
EDS387FD
2A4B5C
EDES
413
EDS3esFD
Reset RAMTOP and NEW 11D68FD o13A00 CDDB21 cDBOO2 78 FEFF z20Fe 7a FEFF 20F3 cpBOO2 7B FEFF 26Fe 11006F EDS3525C cDiDOD 160000 MOVED_MSG 424153494320 68617320 62654654E20 6D4F7665642E20 140200 505245535320 41465920
48455920
S44F20 434045415220 4D454D4F52592E
WAIT
NO_KEY
Program to translate the moved BASIC to
id be, (PROG) id hl, (VARS) abc hl,be inc hl
inc hl
push hl
pop be
ld (BAS_LENG),be
ld de, (RAMTOP)
ld ({hOVED_END),de
ld hil, (VARS)
lddr jMowe BASIC
ld (MOVED_BAS) ,de
System
ld de, AOVED_ASo ld Bc, OO3A call PR_STRING call K_SCAW
ld «,#
cp FF
jr nz,¥ArT
ld a,d@
cp FF
jr nz,WAIT call K_SCAN
ld a,@
cp FF
jr 2,HO_KET
id de,4F0o
ld (RAMTOP) ,de call NEW
defb 14,000,006 defm "BASIC = deftm "has * defm "been * deim “moved, * defb 14,07,00 defm "PRESS * defim “ANT * defm "KEY * defm "TO * defm "CLEAR = defm "MEMORY. *
1Call via PRINT USR 43042
ZAB25C 226BFD Z184FD 3400 2AeS5FD START 34 LINE_NO 23
SE
23
23
23
ES
ES
ci
2A87FD
AF
ED42
D2AEFE
El
LL76FE DONE 013700
CDDBZ1
2ABBFD
11006F
EDS2
2B
111027
CDé6FE
11E803
CD69FE
114400
CDé9FE
110A00
CD469FE
110100
CD69FE
3EFD
cD3012
SET_UP
AF CONVERT aC COUNT
i? PR_LENGTH
1400 SAVE_MSG
S44P 2073417466320 a2413 34742320 6173207465787 420 6é64746CH6S534
oDpoD
3341344320 2276E4140452220 ai444443520
Id hl, (RAMTOP) ld (T_FILE),h1 id hl, GFLAG
ld (¢hl),00
id Al, (MOVED_BAS)
id d,thl) inc hl
1d @#,¢hl) imc hl inc hl imc hl push hl push hl pop be
ld Kl, (MOVED_END)
Zor 2
gbe hl, be
ip nc,OT_DONE pop hi
ld de, SAVE_MSG ld Be,0037 call PR_STRING ld hl, «{T_FILE) ld de,4De4
abc hl,de
dec hil
ld d#,2710 call CONVERT ld de, O3E8 call CONVERT ld de,0044 call CONVERT id de, 000A call CONVERT id de#,0001 call CONVERT id a,FD
call 12306
ret
nor &
inc -
sbc hl,de
jr c,PR_LENOTH yr COUNT
add Al,de
add a,2F
ret io
ret
defb 14,000,060 nop
defm “To gave =
defm "BASIC * defim "as text * defm "“#ile:*
BASIC2 text....Extending the use of MTERMII
by Michael E. Carver
ifind length of IBASIC program
iProgram length
lend of moved FBASIC
jetart of moved BASIC
message length [Print Fesseage
fWeailt until noe fkey is pressed
iWailt until a jkey if pressed iNew RANTOP
{Reset Memory IPRINT AT O,O1
IPRINT AT 2,05
text #ile
lprogram flags iClear flags
iskip length of jline
icheck for end jof BASIC
[me@pfpage length
Text #ile Start 18% of bytes in itext #ile
1 LOOOOd
to decimal ,io000d
11000
1104
jlower screen jfor cutput
febtain CHES code
IPRINT AT 0,01
defb OD,00 tline#@eed * * *
defim “SAVE * detm *"*name** defm "CODE *
FEA? FEAD FEAE FEAF FEB! FER4 FEB? FEBA FEBD FECO FECS FEC4 FEC4 FECa FECA FECD FECE FECF FEDO FED! FEDS FEDS FEDA FED? FEDS FEDE FEDF FEE! FEES FEES FEE? FEES FEEB FEED FEEE FEFO FEF2 FEFa FEFS4 FEFB FEFA FEFR FEFE FFoOo FFOX FFo4 FFOa Fro? FFOB FFOE FFL FFis FFILS FFié FFL? FFIA FFID FFLF FF22 FF23 FF24 FF24 FF28 FF24 FF2c FF2ZE FF30 FFIs3 FFiS FFi? PF.i? FFIB FFID FF4ao FF43 FF43s Fra? FFa? FF4B FF4pD Frar FFS1 FFS3 FFS5 FFs? FS? FFSA FFSD FFF FFa2 FFés Fras Free FFAB FFé&eE FFP FFT3 FFT4 FRE?? FETA FF?B FFTVE FFeO FFex FFeSs Fre? FFa? Free FFeD FFeF FF?2 FF? FER4a FFs FF?? FF?a FFoA
SZ2I383431342C
oo
EB iE20 OLEBOS CDB4FF 14400 COBAFF o10400 CDB4FF 7D FEZO 2802 C430 COCerFF El
7E
Fe |
ES FEZ2 2004 FS SAB4FD EEO! a3284FD Fi FEOD 2817 FEOE 2007 El o10300 ED4A ES isDD FEZO so002 isp? FE?S JO2A FS S484FD CESr IZ64FD Fi FEOD CcCLSFF FETA ccilvFr CocrrrF FEOD 2OBGa El CIZ20FE FS S484FD che? I264FD Fi
Cc? FE&O 2010 FE7c 250F FE7E 2608 Z2164FD cB44 2o0c3 CEs4 2OBF Da4iF Cao77FF CO4EFF isee FE?O 2004 SEZO IBAD FEAS 2004 DéAaP 1BAS FEEA 2004 FS SAB4FD CBD? =284FD Fi DAAS €a77FF CoAEFF CcIcorE S3A84FD Ccacr 2264FD Cc? LLi?eoo Fa corco? as80C SAB4FD Char 2005 sEZO CDOASFF 1A Ea7F CDASFF 1A
ia
a? 30FS Di FE46 z7B03
NOT_DONE
STORE BODY
ENTER
NHOT_SLUG
PRINTABLE
ASCII
UNREM
NONASCII
ExXPaAnD
BLOCK_GRAPH
GRAPHICS
TOKENS
NOT_REM
TOKEN_FLAG
TOKENS_1i
PO_TABLE
FO_EACH
defm "26414," nop
x de,hi
id «#,20
id bc, O3E8 call OUT_SP_NO Id be, 0064 call OUT_SP_NO id be, OOOA call OUT_SP_NoO ld a,1
cp 20
jr z, STORE
add 4,230
call STORE_CHAR pop hl
Id a, (hl)
inc hl
Push Al
ep 22
ir nz, ENTER push af
Id a, (GFLAG) nor Of
Id (@FLAG) a pop af
ep OD
jr 2, ASCII
ep OF
jr nz,NOT_SLUG
Pop hil
ld be,0005 adc hl,be
Push Al
jr BODY
ep 20
jr nc, PRINTABLE jr BODY
cp 75
jr nc,MONASCII Push af
ld a, (@FLAG) ree l,a
ld (GPLAG),a pop af
cp oD
call z,UNREM ep IA
call z,UNREN call STORE_CHAR cp OD
gr nz,Bopr
Pop Al
jp LINE_NO Push oF
id a, (@FLAG) ree 2s -
ld (GFPLAG),« Pop af
ret
cp 80
ir nc, BLOCK_GRAPHC cp 7c
ir z,EXPAND
cp 7E
jr 2, EXPAND
id h1,@FLAG bit 0, (hl)
jr nz,ASCII bit 2, ¢hl)
jr nz,ASCII gub iF
call TOKENS_1 call TOKEN_FLAG jr BODY
cp 70
jr nc, GRAPHICS id a,20
jr ASCII
cp AS
jr ne, TOKENS gub 4F
jr ASCII
cp EA
jr nz,NOT_REM Push a¢
id a, (@FLAG) get 2,8
id (@FLAG),a« Pop af
Sub AS
call TOKENS_1 call TOKEN_FLAG jp BODY
id a, (G@FLAQ) get 1,a
ld (@FLAG),« ret
id de, TO_TABLE push af
call PO_SEARCH jr c,PO_EACH ld a, (GFPLAG) bit l,«
jr nz,PO_EACH id a,2z0
call PO_SAVE ld a, ide)
and ?7F
call PO_SAVE id a, (del
inc de
add a,
jr nc, PO_EACH pop dea
cp 468
jr z,PO_TRSP
{convert ling # ito decimal $1000d
1100d
10d
| space
[obtain CHR® code
(Guoten
iTeggle Guotes flag
1ENTER
iNumber Slug
[BASIC Pointer Igkip #loating ipoint number
iControl Code?
FASCII?
Reset Token flag
iff Enter ireset REM flag Vi¢ &
Ireset REM flag
fEnter?
[REAR #lag
1Block Graphics? STICK?
i FREE
iGuotes flag? 1REM #lag?
1044 eet
iUser graphics? Space
User graphics? IHake ASCII
[Set REA flag
'Set Token flag
ibase address of iToken