' THE BEST OF TIME DESIGNS VOLUME ONE

FOR ALL TIMEX AND SINCLAIR COMPUTERS m2 Srmciiair

Ne z

THE BEST OF TIME DESIGNS VOLUME ONE

T™

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

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 notnecessarily those of the management or its advertisers. Time Designs Magazine Co. will not be he/d liable for any damage or conse- quences resulting from instructions, assertions of fact, review of products or companies provided in the magazine's content."’

TIME DESIGNS MAGAZINE CoO. 29722 Hult Rd.e Colton, Oregon 97017

contents

Rise And Fall Of The Timex Computer Corp........ 2 Why Time Ran Out For Timex...... ETRE oacece 2 MIiGEO MUSEO. c ccccenecvcsiewcee 6\010' 606 0 0660 6's scvesne: 56 Introduction To Computer Control.......cecescess 6 Automatically Set RAMTOP......ceccescccces oeenes 9 "Boxes". scccesccs Sec welsh weed coed ecevccieeese ewer ee A Monitor adapter For The T/s ih ani ia ROG I DATA/READ ‘On A: T/S LOO ss £050 s0wssesscesssocenee 13 Adventures In The RAM Jungle.......cseccescccees 15 New Products For The T/S 1000 8k ROM Upgrade........-4.- sselessececee seccce 17 BGS 2 :0.0:2-0:0:0 09:06:20 0:0:0:0:0:0:9:9:0.0'9 coccnsecee coececeee 18 Software Reviews BASLOAD..cccccccces ececcccecsccecooececcccecs 19 SUDESL CADE sc 0.0» 00-5006 bod 65 oe cesses eeeeeesec 19 "RADLE) ELMUM-O cies 06s 0'0466.6b.0.08 060 bes coseses dace 20 A Graphics Problem For The 2068.......ccscccces oe: af 2068 Graphics: More or L@SS....cccccsccccccs sbee. 29 Ta, SUGHOL, ogaincies eC CRE SDC cc eReaeeccesneeepes-e 30 Machine Code Joystick Routine..... és ce Senses ees 31 "2068 Color Demo"...... eesccctveccs aecessee esecce 32 "SLOC MAGCHINe . c:casicisceees obo s:si0 Tere oT Ce scnee: OS "Joystick Demo"........ oe vcccccccececcetcsoeensces 34 TALOMADSCISEE . co v.c.v-0:n0:0.0.c10 m6 00: 4:0'06660:6.08100 evrcce. J4 ERO TAS DOR" vies bee's cee bobs pis eceeee ows <eeles cee: OO a COLE nccccucceeee us 00:00:09 cce-er ce. nese ees eee 30 "HOUSE PAYMONCS”™ os < cc's 0i0.0.6ie'0 6 6s bisi0 0 b6 OSs SUSE Ce 35 Entering/Recalling Text In Machine Code......... 36 Screen Display Storage And Memory Relocate...... 37 Make A Static Discharge Bracelet......... clevécce 38 Breaking And Saving 2068 ProgramsS......seeseecse+s 40 VAMP TV To Monitor Kit....... Coccsscccsccccesocs 41 TASHEUD TNO Ti OS cicccccccacccccwcoceasvsccvseceee 41 Bookshelf Review: Manual For Dot. Matrix Printers 42 ROMSWITCH c's cc ccscccscscsvececsces eccccccocescocs 42 ZrULNNeoe:c0e 0.0c02 0 09:60:08 eocceccece oc cccccesecos coe 44 OMNI“EMU..ccccecccscess ecececose svieVousissesdseves 45 Spectrum Software White Lightning......... TeTTTrTera Tree 46 The Lords Of Midnight.......... eseccoccsces 48 BYaxx:-BLUEL » «cc ctvicicncie ceicceeeceeese cvesiens 49 Deus: Ex: MACKINAs sce Uiiccccccevsotcoes ceseece 49 Pyjamarama....... Cocecceeceseveccoeccccesees, DO SHOPLOCK i ociscstevecevecvievcetecse Seeese sees 51 GOLERRO Nh dios o.4.000sis.c8s beceedostivewatoubceen 52 AMELICAN: FOOCHAL] « osiccsecesicecessccsvecess 52 Aerco FD-68 Disc Drive System....... poeceesecese OS Dise DELVE: REPALY Tis «00:00 00'06000 0 0% ee ee Damco/Rotronics Wafadrive.....sccccecccccccceses 55 Zebra: Grapnics: TADLOt . oc 2.cv0e0 0.400 6cen ccc tecces 57 ZOOVA TALKC vc cidcccrcsadorcvecvvesicececcseesvcsos 58 2068 Software Reviews SIP BASIC: Comb ler sc cbcccisecccewsescavevs 59 COUDON MAGIC. << <\0:.0:0:0:5.64/ 1106006 tele dbs scence es 61 Dealer's: Denscccccvicccocevecccossesooeesess 61 PRO/PILE: 2068 .::c.0.c.0:nccccceee coccecccsccoese 62 2068 Grade Book........ TREK E ELIT 63 Night Gunner.......... een siviep-cecgecee veces - 63 Great Game And Graphics Show......eceeesee- 64 National TS Users Group Directory........sseee0- 65

Timex/Sinclair Resource Guide....ccccccccccccces 68

I don't know exactly what came to your mind when you heard the news on February 22, 1984, but as for myself, I was bitterly disappointed. Although, my total investment in this computer "hobby" wasn't that great, it was the fact that the Timex Computer Corporation had made some strong promises on hardware and software support for my machine. To hear that they were dropping their computer line in the U.S. was just a little too hard to swallow. It left some big questions to be answered. Would products still be available? How about repair service? What would happen to the 100 or so Timex Sinclair user clubs. Would mail-order houses and magazines stick it out?

Over a year before, I had discovered my first Sinclair computer. The little device proved to be Surprisingly powerful, and it wasn't long before I had been bitten by the Sinclair bug. Due to the low cost of the TS line, many units had been sold, and it was very evident that there were a lot of fellow afficianado's who shared the same interests and concerns.

The whole story goes back to some years ago, when an extremely bright British "tinkerer", also head of a modest radio electronics company, designed and developed (along with his engineering team), the world's first inexpensive personal microcomputer...the ZX80. It was available as both an experimenter's kit or a fully assembled model. The inventor, Clive Sinclair, was later knighted by her majesty, Queen Elizabeth, for his con- tribution to the advancement of British technology-——-thus the proper name--Sir Clive Sinclair...and fondly nick- named "Uncle Clive" by followers world-wide. It is said that Sir Clive was the single-most factor that made England the most computer-literate country in the world.

The ZX80, was shortly replaced by the ZX81l, with an improved ROM and more memory. The Timex Corporation, was a sub-contractor, and was manufacturing the 2ZxX8l for Sinclair in a Timex-owned factory in Scotland, for the

THE RISE AND FALL OF THE TIMEX COMPUTER CORP., WHERE DO WE GO FROM HERE’... AND SEVERAL OTHER OBSERVATIONS BY THE EDITOR

European market. Through this early partnership, most certainly brought Sinclair's computer technology to the U.S. The celebrated ZX81 took on the form of the Timex Sinclair 1000. Although the original ZX had been avail- able in the states on a small mail order scale from Sinclair's U.S. office, it didn't equal the large dis- tribution by Timex. The TS 1000, with it's flat membrane keyboard, low resolution black and white screen display and 2K RAM (the ZX81 had only 1K RAM), was the first computer in America to sell for less than $100. It was to be found in almost every discount house and drug store, essentially, wherever a Timex watch might be sold. Not’ every pharmacist or department store clerk was prepared to demonstrate or answer computer-related guestions to a curious buying public though. Thus began the start of a rocky marriage between the affordable home computer, and the bizzare marketing techniques of Timex.

However, it was the enthusiastic Timex Sinclair owners that somehow prevailed. Many support groups and user clubs were formed. Buyers of these "new-fangled" little computers were pleasantly surprised at the very powerful capabilities of the Sinclairs despite their cheap packaging and price. A whole new industry grew up overnight--small companies that produced hardware and software support, catering to TS users via mail order. Within two years, over a million Sinclair machines were sold in the states, and nearly two and a half million worldwide. Although they never reached the sales level or popularity of Apple, Atari, Texas Intruments, or Commodore in the U.S., Sinclair maintained the number one sales spot in Europe, outselling the other brands by 50%.

1983 was a disaster in the home computer market, forcing the giant Texas Intruments to drop their 994/A

model. Too much competition and price cuts also affected the Timex Computer Corporation...as the TS 1000 (a

The New York Times

Three decades ago, Timex Corp. made its name by turning wristwatches into commodities, selling inex- pensive, reliable timepieces in thousands of drugstores and discount outlets agross the country.

-. Wednesday, Industry analysts said the same strat-

egy effectively killed the company’s chances in the -

home computer market. And ‘the company’s tradi- tiona} secretiveness,. they added, greatly slowed the efforts of outside parties to design computer programs and equipment... 2 a a

- That assessment came a day after Timex announced that, Jike Texas Instruments ‘and Matte]

Inc. before it, it was abandoning its efforts to sell the .

most |nexpensive computers after concluding that it could not sell thé machines profitably. °

As it bowed out, Timex was estimated to have sold units of the British-designed

more than one million Sinalair computer, largely fo customers that had never before ‘purchased an electronic device more complicated than a calculator. «~~

“Buying a computer fs not like buying a watch, and they. fundamentally did not understand that,” said Kirtland H. Olson, newsletter for owners of the Timex. Sinclair line of computers. “People need support when they buy a computer. When Timex got that message,’ they had already taken a ‘serious licking.”

publisher of Syntax, a monthly °

Why time ran out for Timex’s home computer

Just two years ago, when Timex brought out’ the Timex Sinclair 1000, the compaay looked Jike it was on the brink of a great success. The computer, while limited jn memory power, was the first to sell in the United States for under $100. Moreover, Timex’s broad distribution network, including drugstores, retail discounters and catalog stores, appeared to give the company a marked lead over jess established competitors. . 7

But in the past couple of years, consumers have grown accustomed {to buying computer equipment in outlets (hat can provide them with information as well as additional components and programs. ' -

Wednesday, an official of the privately held ¢om- pany denied that Timex’s: failure was due to any

. Strategic errors, but clted the rapid changes In the

home computer market in 1983, C.M. Jacobi, Timex’s vice dent for marketing and sales, said Wednesday at even ‘in jight of the industry's price war last year, “J don't think we would have done much differently.” at He continued: “Our users were yery complimentary of the machine. It is just that the industry built inventory faster than it should have, and then had to

‘liquidate them at very low prices. We did not think

things would go as far as thev did.” Harold Kinne, senior vice president of Future Com- puting Inc., called the Timex machine “a computer

2

literacy device" that was overtaken by more sophisti- cated computers made by Atari, Texas Instruments and Commodore.

Users of Timex equipment were more critical. Some said Wednesday that they did not believe the machine was a toy a reputation it got within the industry because Timex failed to release more sophis- ticated models until late last year, when the Timex Sinclair 1000 was already overtaken by computers offering better games and graphics. But, they added, Timex took liftle interest in nurturing its users.

Sinclair has said it would market its new $500 computer jiself

Martin Newman, a Manhattan musician who owns two Timex computers, said Timex “always had‘a nasty attitude.” He added, “When you called to ask a technical questions, their attitude was ‘too damn

* ls ey

Similar problems were ‘encountered by the esti- mated 400 companies that sell programs and periph- eral equipment such’as disk drives for Timex comput- ers. Timex “turned away the help,” Olson said. .

- That secretiveness appears rooted in Timex tradi- tion. The company was founded in the 1940s by T. Frederick Olsen, a Norwegian who owns a majority of the company's stock and has rarely granted jnter- views.

victim of more advanced computer models and brands) had nearly slipped into the shadows by that Christmas. A local record store near where I live sold brand new ones in the box for a mere $10! One thing was for certain-- Timex had to do something...and quick. Many dealers and consumers were demanding something new.

Indeed, Timex did have somewhat of a success with the 1000, but had been hinting about an "all new" line of computers with more advanced features. Several other major manufacturers were upgrading their lines. Even Sinclair Research headed by Sir Clive, had developed a new color computer called the ZX Spectrum (available in either a 16k and 48k model).

Just as the TS 1000 was an offspring of the 2Zx81l, the new Timex model 2068 was based on the Sinclair 2X Spectrum design. It was originally entitled the TS 2000, and was to be more or less a stock Spectrum with a Timex label, but when the computer miserably failed the FCC's radio interference certification testing, a model which was to be a future Spectrum upgrade, was readied for production. Like it's cousin the Spectrum, it was avail- able in two RAM versions(the proposed 2048 and 2072). A last minute corporation decision scrapped the lesser version and went for one single model...today's TS 2068. The 2068 improved Spectrum technology by providing a better keyboard, a programmable Sound chip, twin joy- stick ports, bank-switching capabilities, advanced video modes, and a ROM-based cartridge dock. A few weeks be- fore Christmas of 1983, the first batch of new 2068's were shipped. The timing for the important Holiday season was a big disappointment...but Timex did deliver the new computer almost six months ahead of its original planned release date. The pressure from eagerly awaiting

distributors expedited the shipment.

For unknown reasons, another computer model was also briefly marketed--the TS 1500. It was for all practical purposes an upgraded TS 1000, with the optional 16k RAM Pack built in, a pushbutton keyboard and packaging similar to the Sinclair Spectrum, and with a suggested retail price of $80.

With the new 2068 and all of the planned add-on expansion devices, it appeared that the Timex Computer Corporation was back on the right track again. There were published accounts of problems in management and relations with the public and the so called third-party after-market vendors. Some individuals frequently spoke of Timex's frustrating "closed-door" policies. But in early 1984, culminating with a rumored management change it appeared that this situation was finally mending.

The rest is history, when in February, © the vice president of marketing and sales for Timex, C.M. Jacobi, gave the announcement: "We believe instability in the home computer market will cause the value of inventories to decline, making it difficult to make a reasonable profit. Further, we are concerned that those conditions will strain trade relations between manufacturers and retailers, a relationship which Timex Corporation values very highly. These factors, coupled with strong demand in our other product lines, have indicated that Timex can now better utilize it's resources in those areas." Jacobi later added, "Consequently Timex has decided to withdraw from the retail portion of the home computer business. The company will continue as a manufacturer and parts supplier to several large companies in the computer industry." Another Timex spokesman told Time Designs Magazine that, "We believed that our 1500 and 2068 computers represented fine value for both the con- sumer and the retailer, but our overall analysis of the business led us to the conclusion that 1984 would be another year of turmoil in the market place, making it difficult to make a reasonable profit." When asked about computer repairs, the spokesman replied, "Factory repair and service will continue more or less indefinitely...at this time, there are no immediate plans to discontinue this program."

3

The records show that 1984 became a_ stabilizing year for the home computer market. Cut backs were made, belts tightened, but it wasn't the disaster that Timex officials predicted. Most experts agree that their con- servative outlook caused them to jump ship a little premature. Although the TS 1000 had been panned by the critics as a "toy", a "high-tech doorstop" anda "“preg- nant calculator", Timex had a real winner with the 2068. Several favorable reviews appeared in magazines like FAMILY COMPUTING and INFOWORLD, just about the time Timex bailed out. In it's short lived three month existence, over 150,000 2068's were sold.

The Research and Development division of Timex had several interesting items planned for the 2068. Some of the peripherals were released simultaneously with the 2068 such as the TS 2020 Data Cassette Recorder, the TS 2090 Joysticks, and of course the TS 2040 printer was just as compatible with the 2068 as it was the 1500 and 1000. Other peripherals like the TS 2050 Modem became available later. Westridge Communications, the actual manufacturer of the modem, went ahead and sold the units that had been ordered by Timex, on their own along with

InfoWorld Timex 2068 Color Computer

Setup Ease of Use Performance

Documentation

O;0O}0]0]0 |Poor O;}0O)}0/0]0 |Foir O}0;}0/0}0 {Good Q)N)]Q] YQ] Excellent

Serviceability

Above: Even “snobbish” magazines gave Timex's new computer a good report card. Below: The original ZX

Spectrum has literally thousands of software titles available. It's only drawback...a poor keyboard.

80 Column Printer Micro-Drive Telecommunications Modem System Expansion Unit Cassette Program Recorder Personal Color Computer

the terminal software that had been developed by Micro- Systems Inc. (a Florida-based software company).

One of the more anticipated add-ons by "“cassette- weary" Timex users, were the Microdrives-——a unique data storage medium. Sinclair Research again developed this technology, and had units available for the Spectrum. The Microdrives used small wafer cartridges containing an "endless" loop of magnetic tape. Preliminary specs called for 100k of data storage per wafer, with an average load time of four to ten seconds. The American version of the Sinclair Microdrives were to be called the TS 2065. While the 2065 wasn't ever released, the actual Sinclair drives are easily adapted to the TS 2068 with a suitable rear buss expansion card an a Spectrum Emulator.

At the Boston Computer Society's TS Celebration held in October of 1983, then Timex Computer Division Chief, Dan Ross, demonstrated a device which was refered to as the "Chameleon" or Spectrum Emulator. This device, when plugged into the 2068 cartridge port, transforms the 2068 into a ZX Spectrum allowing the user to run virtually any Spectrum software or attach Spectrum hard- ware devices. Although the 2068 is based on the Spectrum design, the two machines have different operating ROM's. The Emulator simulates the Spectrum ROM. Another method is to physically swap the computer's ROM's, or install a switch between them, with the Spectrum ROM mounted on a separate little circuit card. The Spectrum Emulator allows the 2068 user to access the almost 5,000 software titles available for the Spectrum. Thanks to some en- terprising individuals, the Spectrum Emulator is avail-

able today from several dealers and in different con- figurations.

Another device, the 2060 Expansion Unit (or Bus Expansion Unit [BEU]) is shown in a Timex photo "piggy-

backed" to the rear of the TS 2068, while other Timex peripherals are shown sitting atop the device. The 2060

remains a mystery in most TS circles today, and is shrouded in rumor and secrecy to some degree. It was never manufactured by Timex, and most likely will never become available. This low-profile box was to contain several components to greatly increase the power of the 2068. First of all, the 2060 contained the controller card for the Microdrives...essentially the circuitry found in Sinclair's Interface One. Some believe that it would also have contained an optional floppy disc con- troller card as well as a CP/M card. Secondly, it would have offered several interfaces not available on a stock 2068, such as an RGB monitor interface, a Serial port, and a Centronics-type printer interface. Finally, and most important (and most mysterious), the Timex 2060 contained the external banks of RAM and associated cir- cuitry alluded to in the Timex literature. Once source quotes up to 256k of bank-switched RAM!

Four other items worthy of mention (two of which became available and two which didn't), are the original Timex 64 column Word Processor called MSCRIPT, and spoke of in the 2068 promotional literature, and the TS 2068 Technical Manual, both of which are currently available. A Timex-designed composite monitor which would have been manufactured by Samsung in Korea, and a full size 80 column NLOQ printer was scheduled to be produced by the Japaneese firm, Sekosha. Both of these items never rolled of the assembly line with a Timex decal. The printer, however, is offered by Radio Shack for their Tandy line of computers.

We do know today, that the research and engineering of the Timex Sinclair technology was moved from the Connecticut office after the shut-down of Timex's U.S. computer division, overseas to the Timex factory in Portugal. This factory was greatly involved in the manu- facturer of a number of Timex computer items including the ZX81/TS 1000, the TS 1500, earlier versions of the Sinclair Spectrum, as well as 2068 "Command Cartridges" and many parts for the 2068. Timex of Portugal went on to further refine and develop 2068 technology for sale

5

Above: TS 2068 shown with the Sinclair Microdrive

System. The ZLINK adapter and S cartri Cliffo

pectrum Emulator e shown were designed and manufactured by & Associates.

in Europe and now some communist-block countries. For instance, they offer a 2068 that has the cartridge port section removed, and a "rock-steady" video display. In replace of fast load cartridges, they offer a superb floppy disk system encorporating 3 inch Hitachi-style Grives.

In late 1984, I became involved in a project called TIME DESIGNS MAGAZINE, as editor and manager. This bi- monthly magazine had several goals at the time of con- ception: 1. To fill a void created by the departure of SYNC, TIMEX SINCLAIR USER, and SYNTAX from the TS pub- lishing business. 2. To offer the very best magazine possible under the circumstances with the budget and resources available. 3. Customer satisfaction is number one considering how most of our customers have been "burned" in one way or other. Starting with just a $20 investment, myself and a couple of other associates (in- cluding my wife), we made some flyers and bought some stamps. It seemed like forever, but after our first issue (a downright crude first effort) we gained 100 subscribers. Right then and there, it was decided that if we were going to spend the time, money and energy on the project, then "why don't we do it in a big way?" From there, we rented address lists, took out ads in other publications, and basically a lot of old fashioned hard work.

Today, after over two years in the business, we have started to figure out how things are done, and I feel that we have met those original goals. In late 1986 our mailing list included more than 3,000 Timex Sinclair readers.

Interest in "Uncle Clive's" machines has not waned. Many have referred to the following as "cult-like". ZxX8l users are still improving on the old technology by stripping out the motherboard and re-casing the package complete with a real keyboard. Much experimentation with hardware and software applications continue. TS 2068 users also have endured, and overall I would say there is much more available for the 2068 now, then there ever was when Timex was still in the business. Many of the "promises" they made, have actually come true, thanks to a lot of dedicated enthusiasts. Other Sinclair computers have a following also including the new Quantum Leap and the time-less Spectrum.

The following collection of articles, programs and reviews of products are taken from the first six issues of TIME DESIGNS MAGAZINE (our first volume). I re-edited and "cut and pasted" a lot of it, as some of the earlier

Continued Next Page...

Continued From Page 5.

material had become outdated a bit. But I have tried to leave all of the current information in to the best of my Knowledge. Information is grouped together for the particular Timex computer models, and not as_ they appeared in TDM. As an added bonus, in the back of this collection is a current listing of TS user groups and TS dealers and suppliers.

It is our hope here at TIME DESIGNS that you find VOLUME ONE to be useful and informative, and we wish you many happy hours of computing.

Tim Woods Editor

micro muse

FORE AND NEXT

by: P. Bingham

"Personal Computers?" It seemed far-fetched. we viewed in awe technology's stretch. ENTER THE DEALERS: (with mottos iced) “Computing Power...but at a price."

Our british uncle balked and said, "Z-X-eighty for you instead."

Computers by mail? "They must be hexed!* Cur 2-X-eighty-one was next.

Like hot cakes running low on syrup, Timex climbed up in the stirrups. “We'll sell two million, maybe more!" 1000s sold in every store.

The market bucked, the market kicked. "After this licking will Timex tick?" And can the Spectrum reach the gate? Is it?...It is!...*the Sixty-eight."

Sales were brisk, though still in hiding. (Timex continued right on sliding. )

TI's door~slam made us swallow.

“Where might we be left to wallow?"

Tomorrow brought unwelcome news: "You've just contracted the Timex Blues. Syne is sunk, the rumors riz,

I wonder where the info is?"

Amid the flurry ensigns rise....

"We're not alone; we've still some ties!" Unsheived ‘sixty-eights were humming. Software titles were slowly coming.

Along came someone who made a "switch" and saved yet more from being ditched. Wizard disciples of uncle Clive's

unveiled the latest: REAL-LIVE-DRIVES!

Indeed not dead, not even dying,

our proud crowd keeps skyward flying. And shepherd Clive asks of his sheep, “Are you now ready for Quantum Leap?"

(Thanks to Paul Bingham of Pleasantrees Programming for sharing one of his many talents with us.)

INTRODUCTION

OK all you T/S 2068 buffs, dust off that ZxX81 or: T/S- 1000 (excuse me for a moment ZX81 and T/S 1000 users) and let's do some serious things with your computer. No, I'm not talking about doing your income taxes, balancing your checkbook or writing your first novel. When I say serious, I mean controlling something with your computer. Although you can use your T/S 2068..-.your ZX81 or T/S 1000 will do the job very nicely too.

Control what, with your con- puter? Control anything you think might be nice to control. Your lights, your garage door, your coffee pot or even your personal robot. PERSONAL ROBOT? Yes, your lowly T/S 1000 (excuse me again ZX81 and T/S 1000 users) is very capable of nearly anything you want to control with a computer. Remember those personal computer experts who brushed off the Sinclair and Timex computers as mere "toys" good only for learning about the basics of computing, but not for "serious" computing? Those "experts" now say you shouldn't tie up a personal con- puter with mundane home control task Well, the experts can be correct hal the time.

Even in the face of current 16 bit and soon to come 32 bit home com puters, don't let anyone sell the 8 bit Z80 CPU computers short. The Z80 based computers are an excellent choice for control applications. If you don't believe me, look to Japan where an assult on the small com- puter market has been launched with their MSX (MICROSOFT EXTENDED) con- puters. One of the prime reasons they selected the Z80A CPU was be- cause of it's potential for control applications.

In your ZX81 or T/S 1000 con- puters (include the T/S 1500, T/S 2068 and SPECTRUM too) you have the

TO COMPUTER CONTROL

by Bruce C. Taylor

makings of a very capable computer control system. All you need to get started "interfacing with the world" is to add an input/output (I/0) board to your computer.

But wait a minute, before I launch into the details, you may have the following question. Why build a control project from scratch when I can buy a robot or home con- trol/security system out of a box? First of all, it will probably be cheaper to build it yourself. Also, if you are inclined to tinker and build, you can continually expand and upgrade your system as you de- sire. This allows you to take ad- vantage of new equipment/component advances, not to mention software upgrades,

For personal

example, if you built a robot as I have done, you may have designed the controlling software to use the input avoidance technique of navigating around the house. With the addition of a range measuring device, like the Polaroid Ultrasonic Ranging Device, you can advance the navigation capabilities to a goal seeking ability. This can be done by modifying the software so that the robot seeks open areas to navigate through, much like you seek a doorway as opposed to avoid- ing walls in a room.

Back to the problem of building an I/O interface for your computer. Several options are available. One was described in a series of articles in RADIO-ELECTRONICS MAGAZINE last year. Another is an inexpensive I/0 board offered by BUDGET ROBOTICS §& COMPUTING of Tucson, Arizona. Both offer eight parallel lines of input and output, and use simple machine code subroutines to give a very fast I/O capability. How fast? The Budget Robotics board includes documentation for a simple optical encoder that can measure inputs up to several hundred pulses a second, and all for only a

few dollars. Is that fast enough and cheap enough to entice you to get on with this computer control area of interest?

Budget Robotics in fact offers an expanding line of peripherals in- cluding a buffered buss expansion board (currently for ZX81, T/S 1000 and T/S 1500) to allow you to add an almost limitless number of items in your computer control project.

In fact, I have written a book de- scribing these and other projects, to be published by early 1986 by TAB BOOKS. The centerpiece of the book is "H.E.N,R.Y.". an internally computer controlled personal robot. He won a Golden Droid Award for Most Entertaining at the First In- ternational Personal Robot Congress & Exposition in Albuquerque, New Mexico last spring. What computer is inside H.E.N.R.Y.? You guessed it, a Sinclair ZX81. Hardware and software for all control projects is fully explained in the book. A home control interface is also de- scribed.

The expansion board used is the one originally built by COMPUTER CONTINUUM, but has been improved. This board can also be used to build a’memory bank switching capability as described in Paul Hunter's series of articles in T-S HORIZONS Magazine. Using Paul's non-volitale memory board, control routines can be cre- ated and saved for instant loading into computer memory and easily changed as upgrades to your control project are needed. This method is cheaper and easier than burning Programmable Read Only Memory (PROM) chips, or trying to buy Electrically Eraseable PROM (E2PROM) chips.

Other expansion boards and I/O circuits can be used which will also do a good job. John Oliger described an expansion board in a Winter 1982 SYNTAX QUARTERLY article. An I/0

circuit using the 8255 PPI (Pro- grammable Peripherial Interface) integrated circuit chip is not as fast (no machine code) as the RX-81 I/O circuit, but works fine in many applications. Wiring of the 8255

circuit is included in Budget Robotics

expansion board documentation and is described in my book.

To give you an idea of the range of control applications I am proposing, refer to Figure 1 as you read the rest of this article. Start- ing with the computer expansion port at the rear of your computer, you Will want to add an expansion board if you expect to add more than two peripherials. Next you will need at least one input/output (1/0) board. The number and type of I/O boards will depend on what and how much you want to control. For example, you could easily add up to four RX-81l I/O boards and an 8255 PPI giving you up to either 56 input and 32 output lines or 32 input and 56 out- put lines. Each peripheral, as de- scribed in Figure 1, may require anywhere from one input line (optical encoder) to four input and seven out- put lines (realtime clock).

The following are examples using the RX-81 I/O bord: A realtime clock/ calendar using seven output plus four input lines to read the time. A mechanical switch can be read by connecting an input line to ground.

A transistor to transistor logic (TTL) state of low can be read directly by an input line. A logic high state can be read if inverted first, using a 74LS04 IC chip. The Polaroid (TM) Ultrasonic Ranging Circuit requires one output line to initiate a pulse transmit and one input line to read the return pulse. One input line is all that is re- quired to read the status of a phototransistor in the optical en- coder.

The following are examples using the 8255 PPI circuit: Two output lines are used to control a stepper motor driver with one line dsignating the direction of the motor rotation, and the other producing the step pulse. Ten out- put lines are used to control the

Digitalker (TM) Digital Voice Circuit with two ROM (Read Only Memory) word

sets with eight lines used to select

the word; one to select the ROM word

set and one to activate the processor to produce the word.

Fagure 1 COMPUTER COHTROL EXAMPLES

COMPUTER 170 REALTIME

EXPRNS10 _—aaea< BORRD CLOCK-

PORT EXPANSION ¥ CALENDER

BOARD rt LUN.

SWITCH MECHANICAL

ACTION

TTL LOGIC LOGIC

TRANSISTOR SHITCH

IE CORTE}, TEL

PHOTO- TRANSISTOR

ROD] TIONAL RAM, EPROMAM E2PROM, NON- VOLATILE RAM etc, ULTRASO RANG LHG CIRCUIT

1c

170 BOARD

LO

POWER SUPPLY

ROTOR

PARALLEL 170 BOARD ¢RXB1> FOR FRST MACHINE CODE CONTROL

TRANSISTOR > RELAY > OC SWITCHES COIL MOTOR RANG RELAY COIL

APPLIANCE or HOME WIRELESS CONTROLLEP SWITCH

PROGRAMMABLE PERIPHERAL INTERFACE <PP1> 170 BORRD (6255)

ALL THESE PERIPHERIALS LUS EC

MOR OPERATED WITH ONE 2x6) or T5100

Above shows fully Populated BUFFERED BUSS EXPANSION BOARD and R¥-81 PARALLEL 170 BOARD Plugged into TS1808 with 16K RAM. 5 volt 3 amP regulator CtoP right>, buffer/decoder ICs Cacross top>, six exPansion connector Points Cacross bottom) with RxX-61 170 board Plussed into exPansion Point second from left.

The following are examples of control easily accomplished using either of the I/O circuits mentioned: Two output lines are required to con- trol a direct current (DC) motor and select either direction where one output line is used for forward and one reverse. Each drives its own transistor switch which in turn

switching, one output line is re- quired for each on/off switch. Here each output line controls a transistor switch which in turn controls a relay. A light emitting diode (LED) can be activated in conjunction with any output line activity.

These examples are provided as food for thought. You can control

activates a double pole, double virtually anything with your computer. throw (DPDT) relay coil. The coils Just use discretion. I would not

are cross wired to the normally recommend trying to control Aunt closed terminal of the opposite Mary's respirator. One last point, relay so that power to the motor all the examples in Figure 1, plus cannot accidentally be applied in more, can be controlled together by

a single computer (ZX81, T/S 1000, ect.). Happy controlling.

both polarities at the causing a direct short

same time, errceuLt,; For

appliance or home wireless control

T/S 100071500

reereerereee <<

PPPRPRPeTPANAALAAAAANANNOAN TS

AUTOMATICALLY SET RAMTOP

a0 GD 62 60 G0 G0 G0 ea 9 Gb Gb aD Gc cn Gn|Ga\ es ee &! GB EB

WITHOUT DESTROYING THE PROGRAM

by Earl Dunnington

the case

How would you like to be able to set RAMTOP within your program? I was using a program "HEXEDIT" published by a former popular T/S magazine, when the program and the computer locked up. The author er- roneously thought that merely poking the system variable "RAMTOP", in his program, would reset RAMTOP to a new location. This led to my research to find a method for setting RAMTOP within a T/S 1000 or 1500 program. The results of my research are presented in this article.

To see what happened with Doctor Hex- edit's program, type the listing of figure No. 1 into your computer. Run the program.

Wait about 30 seconds and watch the “"in- verse ? monster" eat up the program. You will have to pull the plug to unlock the

computer. A modification of lines 50 to 80 are used in figure No. 3 as a test to see that RAMTOP has actually been moved. In order to understand why the program was destroyed, you must know the structure of the memory map of the RAM in more detail than the diagram in your users manual. The T/S 1500 manual diagram shows USR routine

space above RAMTOP. This is not unless the additional 16k Timex Rampack is attached or you have lowered RAMTOP.

Turn on your computer. Using im- mediate commands only PEEK into the system variable RAMTOP to determine its address. Then PEEK into each of the four Bytes under RAMTOP. Reading from the highest address down, you should find the decimal values: 62, 0, 6, and 118. The 62 is a flag to tell the computer "This Is The Top Of The GOSUB Stack". The zero and the six are flags to tell the computer to generate

a code seven error. The 118 is the code for ENTER (N/L). When we poked 24 into each of these four bytes with the crash demonstration program, the computer went crazy trying to figure out what to do.

Since RAMTOP had not really been lowered, when a large amout of data was entered, the HEXEDIT program over-ran the four bytes instead of giving an out of memory code 4 error report.

Peek into the system variable "ERR-- SP". You will find the address of the fourth byte below RAMTOP. The machine

Stack Pointer, also known as SP, is a_ two byte internal set of registers that cannot be peeked into from BASIC. If we could then you would also find stored there the address of fourth byte below RAMTOP.

M LeseS55 7690125456 789a1e5

as! EM CHANGE RAMTOP PROGRAM, PART i BY EARL DUNNINGTON 3 REH FOR 168K RAM CHANGE LINE 20. THE 8TH VALUE To 186 AND STH VALUE TO 119 4 REM FOR 2K RAM CHANGE LINE 20.THE STH VALUE TO O71

28 REM COMPUTER “CRASH” DEMO BY DUNNINGTON

26 SLO

25 REM FIND PRESENT VALUE OF RAMTOP

38 LET RAMTOPSPEEK 16388+256+P FER 168363

wo REM DR. “HEXEDIT" THINKS HE SET RAMTOP ALITOMATICALLY TO 15176 IN HIS LINE 9710 BY THE FOLLOWING POKE:

48 PORE 16333, 71

45 REM TEST TO SEE IF RANTOP IS STILL AT THE ORIGINAL VALUE

10 FA BY POKING £24 INTO EACH OF THE 4 2 LET A¢="285,035,015,2095,a42 BYTES BELOW ITS ORIGINAL VALUE ,818,925,000,192,054,004,054,043 SQ FOR N=RAMTOP-4 TO RANTOP-1i

,O54 ,252,043,354,000, 43,054,085 SO PORE N,24 ,843,054,118,0934,002,054.249 S01 65 REM PRINT ALLOWS YOU To SEE % WHAT IS HAPPENING

gO LET A=1 70 PRINT

4@ FOR N=1LbBS1i4 TO 16542 SQ NEXT W

2a BORE N OAL ASCA TO B)

Se run I : SF TGiiRme :

70 LET A=a+d FIGURE NO. 1

Sa HEXT WN

S20 REM TO CHANGE TO A VALUE GF RAMTOP OTHER THAN 49152, REPLACE THE EIGHTH WVALLIE IN LINE HO, 208 WITH THE LOW BYTE AND THE WINTH WALUE WITH THE HIGH BYTE

FIGURE NO. 2

The OP codes of the USR subroutine that is poked into the line 1 REM statement by the listing in Figure No. 2 are as follows:

16514 CDe3aF CALL 3875 :SET FAST MODE 16517 CDSA14 CALL 262 :CLEAR SCREEN 16520 21BA77 LD HL, 49152 :LET HL=DESIRED RAMTOP 16523 229440 LO (16388),HL :SET SYSTEM VARIABLE RAMTOP TO 4915e 16526 2B DEC HL :LET HL=HL=-1 OR 49151 16527 36E3 Let HC)... Se :POKE THE ADDRESS IN HL WITH 62 165e9 2B DEC HL :LET HL=HL-1 OR 49150 165329 3600 LD (HL), OB :POKE THE ADDRESS IN HL WITH @ 16532 2B DEC HL :LET HL=HL-1 OR 49149 16533 3696 LD (HL), @6 :POKE THE ADDRESS IN HL WITH 6 16535 28 DEC HL :LET HL=HL-1 OR 49148 16536 3676 LD; CHL. 446 :POKE THE ADDRESS IN HL WITH 118 16538 229240 LD (16386),HL :SET ERR--SP TO 49148 16541 FS LD SP,HL :SET STACK POINTER TO 49148 | 1654e Cg RET :RETURN TO BASIC PROGRAM

10

REM LN F?PLN EWS “6. RNDFOYF

87865 TAN 2 REM CHANGE RAMTOP PROGRAM FART 2 BY EARL DUNNINGTSON

3S REM FOR 2h RAM DO NOT TYPE IN LINES 2,5,4,50,70,AND 100 TO

isa,

TO CHANGE TO A YALUE OF RAMTOP OTHER THAN 43352, IF NOT ALREADY DONE IN PART 12, POKE 16521 WITH THE LOW BYTE AND POKE 16522 WITH THE HIGH BYTE, BEFORE SAVING THE PROGRAM,

4 REM SAVE THE PROGRAM ON TAPE USING THE COMMAND GOTO 99186 RELOAD THE PROGRAM FROM TAPE USING THE COMMAND LOAD "“RANTOPR"

© RETURN

19 SLOL! 28 FOR N=1 To 18 32 PRINT AT 17,7; "STOP THE TAP

42 PRINT AT 17,7;

52 NEXT WN

68 LET A=24¢

7@ LET AS="“RAMTOP IS NOW SET F

B@ RAND USR 15514

$2 GOSUB 5

1@8 PRINT AS; ”" "“; PEEK 165884256 #PEER 153359, °THE VARIABLE A AND THE STRING ASHWERE NOT DESTROYED NEITHER WAS THE PROGRAM."

1i@ PRINT AT 7,0; "RAMTOP TEST",

129 FOR N=S2e764 TO S276? 138 POKE N,&A 148 PRINT PEER N;" "; i5@ NEXT WN

$908 STOP

S910 SAVE "RAMTOPR"

Ss28 GOTO 108

FIGURE NO. 3

Referring to Figure No. 3: Line 1 is the REM line of figure No. 2

after the OP codes have been poked into it. Line 5 can be any RETURN in your program

Lines 10 to 50 place the flashing STOP THE TAPE prompt on the screen.

Lines 60 and 70 store a variable and a string before the change in RAMTOP.

Line 80 calls the M/L subroutine to set up everything for the change in RAMTOP.

Line 90 in conjunction with line 5 acti- vate the change of RAMTOP.

Line 100 prints the value of the new RAM- TOP and the other remarks.

Lines 110 to 150 make the test to see that RAMTOP was moved.

Line 9900 keeps the program into an endless SAVE loop.

from going

Lal.

Line 9910 makes the program if the program is SAVED 9910.

Line 9920 tells the computer start running the program.

self running using GOTO

where to

The change in RAMTOP must not be activated in a subroutine or in a FOR/NEXT loop. You can only set RAMTOP as high as the first nonexistant byte above your particular RAM. You must change RAMTOP by a minimum of four bytes.

The formula for the high byte is: HB=INT(n/256)

The formula for the low byte is: LB=n-256*HB

For the TS 1000/ZX81

BOXES

By Stephen Brothers

“BOXES"

STEPHEN BROTHERS

FOR F=G TO #H PLOT F,aJ PLOT F.6 NEXT F

FOR K=G TO J PLOT H,K PLOT G,#H. NEXT kK

LET J= 3-2

IF J=21 THEN sToOP LET H=H-2 LET G=G6+4+2 GOTO 68

A MONITOR ADAPTER FOR THE T/S 1500

(fea)

RAD RAeAoeerea aa cal) pale ielel cic chic ea

Gee ees]

by Dick Wagner

For several years, publications have carried articles on connecting T/S 1000 and ZX81 computers to monitors, to improve the quality of screen image that some TVs lack. There have been mainly 2 approaches, (1) install a complex converter to give a reverse screen image of white on black, (2) install a simple transistor adapter to match the computer output to the low im- pedance of the monitor. This gives a nor- mal screen. Number 2 is the easiest and the method is described. On a T/S 1000, the procedure is to tap pin 16 on the Sin- clair special IC.

The literature seems to have neg- lected the T/S 1500. Possibly because the RF modulator is special, or possibly be- cause of the weak signal provided by the newer SCL IC. The writer has converted two T/S 1500 computers with satisfactory per- formance; one with a B&W Zenith monitor, and one with a NEC color monitor.

This article is not a detailed in- struction of my method, so if the reader is not well versed in handling circuit boards and components, it is recommended that you get help from a member of your users group, an amature radio operator, or someone in the radio and TV service busi- ness.

Only a few parts are required. The first step is to obtain the transistor, resistor, cable and phono plug or jack, and some wire. The transistor is type 2N2- 222 which is Radio Shack number 276-2009. The resistor is a 1/4 watt 220 ohm size, but may be 270 to 330 ohms. The phono jack can be R-S type 274-337 if the T/S cable is to be used for monitor connection. A short shielded audio cable (6-8 inches) will provide the computer connection with the jack on the free end. If it is desired to install a single cable to the monitor, then use R-S 42-2370. This provides a matching plug to fit the monitor jack.

le

To assemble the adapter, fit the re- sistor to the flat of the the’ transistor, cutting one wire lead to solder to the

emitter lead, close to the transistor's body. Trim close to the solder connection if the resistor lead protrudes. Do not cut the transistor lead at this time.

Strip the outer insulation from audio cable, about 3/4 in., and twist shield wire together. Strip 1/8 in. from the core insulation and solder the center wire to the emitter lead. This lead should be insulated and brought parallel with the resistor. Cut excess wire from this con- nection. The other end of the resistor should be soldered to the twisted sheild of the audio cable. These connections will give an output from emitter and will also ground the resistor. The resistor con- nection should be close to the cable, to leave the twisted shield for another con- nection. Using two light-insulated wires (like 30 gauge wire wrap), make your con- nections to the transistor base and col- lector leads after they have been short- ened. These two wires can be 2-3 inches long. Follow the lead positions as per R-S package.

The assembled module should be insul- ated so no bare wires are exposed. Wires within the module also should be insulated from each other. Heat shrink tubing or plastic tape can be used. The assembly should have two leads of light gauge wire coming out of one end. These should be marked some way...the transistor collector is +5 volts and the base lead. The other end has the signal out and the ground wire (shield). The shield can have a short but heavier wire (20-24 gauge) soldered to it at this time. This will be a ground wire and a strain relief.

Disassemble the 1500 case by removing five screws and carefully remove the _ two ribbon cables from their connector blocks.

the the

Then remove one screw to release the cir- cuit board from the base. With the com- ponent side up, determine the location of resistor R30. It is close to the inside corner of the modulator box. Connections will be made to each end of this resistor. The end closest to the modulator box will be connected to the base of the transistor Modulator and the other end is +5 volts. See _ the Box diagrams for location.

Now make the connections noted above. Be sure the leads are correct before sold- ering. Solder with light heat, so the cir- cuit board connections will not be damaged as a result. Cut the ground wire short, so PS Board when soldered to the ground connection for the jack, it will bring the module close over the jack. The other wires must be slack. Now apply power to the board and connect to the monitor. The cursor will fo transistor show on the screen if everything is OK. BASE

Exit to the rear when the circuit To trans. board is installed in the bottom of the SOLLi:CTOR

case. Decide how to make the exit thru the R_30 top rear. If the cable is small enough (1/8 in. dia.) then it can use the same connection Detail notch for the modulator cable. Light fil- ing may be required to get around the mod- ulator box. If the cable is heavier, file a notch in the back between the jack and modulator box. Connect the keyboard cables using needle nose pliers. Be most careful For further reference: not to bend the cables sharply. If a cable is damaged, noted by a crack in the trace, The Explorers Guide To The Zx81 use a sharp knife to separate the insul- The Best Of Sync

ator cover on the cable. About 3/16 in. Sync Vol. 3 No. 4

will do, and trim with some _ sharp thin SyncWare News Vol. 1 scissors. Cut the cable at the crack so there will be a new end.

DATA/READ on a TS 1000

by Bill Johnson

First, let's define the con- mands: |

DATA- The DATA statement is a place to store values. Each value is seperated by

a comma. The values entered into a DATA statement can be alphanumeric in nature.

Many of you have discovered the ZX81 Computer does not have the DATA and READ commands in its vocabulary. These commands are the backbone of BASIC programming. You may have been unable to enter many programs written for other con- puters since you did not have the power of DATA and READ. The fol- lowing only applies to the TS 1000, TS 1500 and Sinclair ZX81. The TS 2068 uses the DATA and READ commands.

READ- The READ statement in- puts the values from the DATA statements, into var- iables defined in the pro- gram.

13

An example of the use of these commands follows:

9 DIM ALS)

16 FOR 1=1 TU 3 26 READ AC lo 38 MEAT 1 40 DATH 1.2,:3,4,5 1466 FUR 1l=1 JU 3 116 PRINT ACl 3 126 WHExT |

The above program would feed the values of the DATA statements to the variable A(I). After run- ning this program, the values of A(T) Would Be 1,2,3,4, and S.

So how can the DATA/READ routine be used on your TS?

The easiest way to explain is with an example. The program that follows will accomplish the same as the program above.

ig@ LET H$="1,2,35,4,5," 2B DIM ALS,

36 LET *~=0

46 LET ‘=1

SY FOR 1l=1 TU LEN He

6b IF Ag 1 a="." THEN LET “sA+1 7H IF HBC lL s="." THEM LET ACK 0=

VAL ASOY TO Lle1 2 SH IF AS. lo="." THEN LET ‘f=14+1 34 HEAT | 1M4 FUR [=1 lu a 116 PRIN] Helo 12H HEAT

The lines 100 to 120 simply show you the results, they are not needed. We will now go line by line.

LINE 10: Acts like a DATA statement. You store your values here. It is important to-end this statement with a'"'," or the last value will not be input.

LINE 20 ‘to 40; These lines set various variables.

LINE 50:: This line sets a loop the length of A$. In this case the length is 10.

LINE 60:to 80: These lines all ask the question, "is the

ESR aS |

next item in A$ a",". The comma is used to seperate each value.

If a comma is found, line 60 increments X by 1. X is used to set the value of A, the letter of the variable being read.

LINE 70: Stores the value into the variable A. Line 80 increments Y, which is the starting place for the next value.

As you can see the above program accomplishes the same as the DATA/READ commands. The above routine can also be used to read in ALPHA values, as follows:

1@ LET AS="H,B.C,LLE," 26 DIM BSCS) 38 LET #=8 4 LET ‘’=1 Sa FOR I=1 TO LEN AS 60 IF ASC I9="," THEN LE] 4=x+1 70 IF AS(13="," THEN LEI Bees: =As~y TO I-1) 3@ IF A$¢1l9="," THEN LET ‘’=/'+1 9 NEXT I 190 FOR I=1 10 5 11@ PRINT BS< 1) 126 NEXT I

This program works the same way as our previous program. One limitation is that you can not use the "," character in your values, or the program will con- sider this a stop point.

The above routines can be used to read values for various variables at the same time. For example, you may have a DATA statement: 1,A,2,8,35,;C,;4,;0,;5;£. You can read the values by con- bining the methods used above.

I will leave this for you to do.

In my article “Automatically Set RAM- TOP Without Destroying The Program™ pub- lished in the July-August issue, the GOSUB stack was very briefly discussed. This article will delve more deeply into this subject. I will also cover how to deter- mine the extent of the “Safe Area" in the TS 1000 and 1500. The safe area determines the amount of bytes you can lower RAMTOP without interfering with the execution of the BASIC program. The safe area can be used for the temporary storage of data or machine code, without lowering RAMTOP. The safe area extends from the top of the Cal- culator stack to the bottom of the Machine stack.

There are three stacks in the upper RAM memory; the Calculator stack (C stack) the Machine stack (M stack), and the GO- SUB stack (GS stack). All of these stacks are used by the routines in the ROM to store temporary data and variables. An item in the GS or M stacks consists of two bytes. The low byte is in the lower ad- dress and the high byte is in the next higher address. Items are added _ to the bottom of either the GS or M _ stacks. In the TS 1000 and 1500, the GS stack is lo- cated immediately below RAMTOP and above the M stack.

In the RAMTOP article we examined the four addresses below RAMTOP, using the PEEK command. A diagram of the values found in these four addresses is in Figure No. l. In the same manner we examined the contents of the system variable ERR_ SP and found that it pointed to the address RAMTOP-4. The TS 1500 Users Manual defines the system variable ERR SP as the address of the first item on the M stack. The bottom of the GS stack is this address plus two (2). The Stack Pointer (SP) con- sists of two internal registers. The con- tents of the SP registers normally point

to the address of the low byte of the last 15

AND OTHER MYSTERIES

by Earl V. Dunnington

=

= Dok ; SULOI

effective item on the M

then:

POKE POKE POKE POKE POKE

4 REM 1234567 1@ RAND USR 16516 20 PRINT PEEK 16514+256% PEEK

16515

16516, 237 16517,115 16518, 130 16519,64 16520 ,201

stack. The SP registers cannot be addressed from BASIC. Even using machine code, the contents of the SP registers cannot be determined im- mediately after the computer is turned on. For example, enter the following into your computer:

Z89 assembler

ED : prefix LDO(NN),SP : Let 16514 and N : 16515=con-

N : tents of SP RET : Return to

Now RUN the program. The screen is the registers are pointing after calling the machine code USR function. You can _ see

address

: Basic

result on the

at which the SP

1S8S3 AND 15698 HO MACHINE &

joel Tec . . i) P24 2 Sei

OM

that the function itself uses the M stack. Then how do I know that immediately after turning on the computer, the contents of the SP registers is the address of RAMTOP- 4? Only by deduction from the disassembly of the ROM, GOSUB and RETURN routines. They would not work unless the SP regis- ters were pointing to RAMTOP-4. The ad- dress in the ROM of the GOSUB routine is 3765d and of the RETURN routine is 3800d.

Figure No. 1 shows the _ situation after the computer is intialized and after each BASIC line has been executed. The one exception that I know about is after one or more GOSUB commands and before any RE- TURN command. For an example of the ex- ception, enter the following lines into the computer (after entering NEW):

12 GOSUB 2a 2@ STOP

RUN the program. Using immediate commands, PEEK into each of the addresses from RAM- TOP-1 to RAMTOP-6. Also PEEK the two bytes of ERR SP, using the immediate command PRINT PEEK 16386+256*PEEK 16387. Your re- sults should agree with the values shown in Figure No. 2. We must assume that the SP registers are also pointing to RAMTOP-6 as the ROM RETURN command routine would not work if this were not true. Looking at Figure No. 2, you can see how the GOSUB command has slipped the GOSUB line number plus one onto the bottom of the GS stack, moving the first item of the M stack down two addresses. A GOSUB line number plus one, once used, is written over by moving

the first item on the M stack up two ad- dresses and changing the pointers SP and ERR SP. For example enter NEW and_ then enter the following lines into the com- puter:

12 GOSUB 30

22 STOP

38 PRINT "'THE RETURN REMOVES THE GOSUB LINE NUMBER +1 FROM THE GS STACK"

40 RETURN

RUN the program. If you PEEK the four ad- dresses below RAMTOP and ERR SP you will find that their contents are again the same as Figure No. l. If the two bytes of the first item on the GS stack (0 and 62) and the two bytes of the first item of the M stack (118 and 6) are in conjunction as in Figure No. 1, and a RETURN command is encountered in the BASIC program, then an error report 7 (RETURN without a corres- ponding GOSUB) is generated. The ROM rou-

16

tine tests only for the high byte 62. As 62*256=15872, this is beyond the normal maximum line number 9999. It is possible

to use higher line numbers by working from the top of the program and POKEing 16509 with the high byte of the line number and POKEing 16510 with the low byte as_ each line is entered with a normal line number. In this case, line numbers with a high byte of 62 must not be used with a GOSUB command. If the two bytes of the first item on the GS stack and two bytes of the first item on the M stack are seperated by the two bytes of a GOSUB line numbertl, then the next line after the GOSUB line is executed when the RETURN command is en- countered.

What is that 118 and 6? To find out, we know that an item on the M stack con- sists of two bytes, the low byte in the

lower address and the high byte in the

higher address. So 118+256*6=1654. The addresses in the ROM run from 0 to 819d. Let us use the 1654 as an address in a

machine code program and see what happens.

4 REM 123 1@ RAND USR 16514 28 PRINT "THE ADDRESS 1654 STARTS THE

EXECUTION OF THE NEXT BASIC LINE OF THE PROGRAM" Now in the immediate mode, POKE the fol-

lowing into the REM line:

Z88 assembler POKE 16514,195 JP NN : GOTO POKE 16515,118 N : 118+ POKE 16516,6 N : 256%*6=1654

RUN the program and you will see the an- swer on the screen. Note that using a 118 in the machine code messes up the display, but the program still runs.

Since the M stack expands downward in memory as items are added to it or to the GS stack and then, in effect, contracts as items on the stacks are no longer needed, but not withdrawn, a trail of garbage is left behind. This garbage is written over the next time the stack expands. Turn off your computer and then power up again. Using the immediate command, PEEK into the address that is the value of your RAMTOP minus 50. You should find 129. PEEKing be- low this address you will find only zeros. ‘Unless you PEEK all the way down to _ the top of the Calculator stack. This means that in the itialization ROM routine, the M stack was expanded down to this address. Now enter and run the following program, changing line 10 to the applicable values for your RAM memory:

140 FOR N=(your RAMTOP-52) TO (your RAM- TOP-5)

28 POKE N,@

38 PRINT PEEK N;'" ':

40 NEXT N

What happens is that between the time 0 is poked into the M stack and the value

at address N is peeked, the M stack is

being used by the ROM routines which are

much faster than BASIC. PEEK again, using

the immediate command, into the address of your RAMTOP-50. Once again the value at that address is not 0 but 129. Peeking below that address there are only zeros. From this we can deduce that coming out of

a BASIC program, the ROM routines use_ the M stack down to RAMTOP-50 and that the

little program did not expand the M stack below this point. So the upper limit of the safe area for this program is: RAMTOP- ft

NEW PRODUCTS FOR THE T7S1000

reviewed by Dick Wagner

8k ROM UPGRADE

A recently released ROM upgrade in the form of an EPROM and special adapter, pro- vides needed improvements in manufacturers original equipment.

Major changes include: normal FAST mode, 6 character shape improvement, change British Pound symbol to apostrophy, LPRINT of decimal numbers with leading zeros, fast SCROLL, proper application of divide of numbers in repetitive math, proper CLS action, fixed display file, the ability to DIMension large single string arrays (with 64k), and the ability to invoke LPRINT com- mands by using RAND.

Directions for installation leave out several important warnings. The IC instal- lation must be the same direction as_ the original. This is determined by a _ half- round notch on top of the IC. This is to- ward the back of the circuit board. Check your computer manual for proper location of the ROM IC. However, on my computer’ the

se

board is different and the ROM is to _ the right of the CPU. My ROM was marked MK368 O9N. Instructions are given should the ROM be soldered in.

The new ROM has more pins, so it must contact all the pin sockets. When install- ing the keyboard ribbon cable, be very careful not to buckle or crack the ribbon. In my situation the IC is against the case when the board is in place. Also, the ribbon cable is deflected sideways slightly by the IC. These points need watching if your ROM is located behind the keyboard cable sockets.

The new ROM manual includes the MC of changes made, plus a description of what these changed routines do. Two short pro- grams are included to show the improvement in some of the changes. One part of the major program includes filling the screen with "X" 10 times and scrolling and print- ing a column of "Y" each time. In SLOW mode

the original ROM processed this in 72 sec- onds on my 1000, while the new ROM required 45 seconds.

A peculiarity noted was that 7 seconds was required to display a 25 line program (in manual) following loading from tape, and ENTER. This seemed to be long by any standard. The program has a line to change from the now “standard" FAST, to SLOW. De- leting this line, saving and loading again, on ENTER the display was there in a_ flash, Further study has not been made on this.

Readers can order this improved ROM from Thomas J. Bent, 9016 Flicker Place, Columbia, MD 21045, or from Thomas B. Woods PO Box 64, Jefferson, NH 03583, and _ the price is $20. Documentation is included.

BANK SWITCHING AND OPERATING SYSTEM-BSOS

Paul Hunter has assembled many memory- use solutions in BSOS. Bank switching has been developed into a system much in _ the sense of DOS. So, what is Bank Switching? Reference to my computer encyclopedia in- dicates it is a method of extending RAM memory in computers. While each bank of memory responds to the same address, the system is arranged to have only one active bank at any instant. A bank is a block of memory, like 64k. I suspect Paul has coined BSOS.

Our ZX8ls and T/S 1000s were not de- signed to handle over 16k of memory. Stret- ching to greater limits has required clever concepts by designers...and BSOS has in- corporated additional RAM-like action, and the program to use the additional memory. As very long programs can strain 16k mem- ories, likewise, large chunks of data can be a problem.

18

A program tape and sufficient docu- mentation to get the user started, is available from Paul Hunter, 1630 Forest Hills Dr., Okemos, MI 48864. The taped pro- gram is to be used with a minimum of 64k of memory, and memory may be assembled from a series of 16k Timex modules, it may be pur- chased units such as Memotech 64, Byte-back 64, or it may be in the form of boards having both volitile and non-volitile mem- ory. The T-S HORIZONS series includes the methods to assemble packs, make expansion boards and to combine various memory types to suit the users needs. Experiments in testing and programming are carried thru the series.

Some of the system concept available to the user (either entering a great deal of machine code or purchasing the tape) in- cludes a real directory of up to 15 entries

or instructions to SAVE, LOAD, PURGE, RE- CLAIM, PACK, BANK, ROOM and QUIT. Great flexibility is provided for almost any number of bank blocks. Use is made of the

8-10k block of RAM for operations.

Virtual memory is included in BSOS. This means that memory space (address) that the processor is using can be greater’ than actual memory. BSOS will give the user up to 80k bytes in length if there is a full complement of 4 banks. Even many of the concepts are useable with only 64k. It appears that considerable planning is nec- essary to properly segment programs and to use variables wisely. A point...while we normally can use 9999 line numbers, this program permits duplicate line numbers with proper segmenting. This is possible because program segments are moved into addressable

space when required and then moved back when their need is ended. Data is also moved in this manner.

Users of large memory systems, not disk, ect., could well improve their oper-

ation with BSOS. Substantial speed improve- ment should be noted and a more profession- al system is provided the user.

While the purchase of the BSOS_ tape and document ($10.00 ppd. from the address mentioned above) is a good buy, I suggest

obtaining volumes 4,5,6,7,9,10,11 and 12 of T-S HORIZONS to have complete documentation and reference for BSOS.

After using "Firstloader" for quite some time, I felt that there was nothing that could be improved upon in programs that convert TS 1000 programs to the TS 2068. I was mistaken. In using "Firstloader", I found that my computer/recorder combination was one of those that required a load filter to work. With this "Basload" program I did not need a load filter.

The program consists of a BASIC portion, and of course, a Machine Code portion. The load- ing lines are more distinctive in the "Basload" program, and the acceptable volume settings are a little more broad. This program is supposed to also be able to convert variable data along with the BASIC program from the TS 1000 to the TS 2068. However, I had no program of that kind to test it on, so I can not verify this. One item bothered me somewhat about this program. The BASIC portion of the program is over-written when a program is converted. This makes it a little awkward to save the con- verted program (press NEW and start converting another program), but not impossible.

This is probably the best program on the market to convert your BASIC TS 1000 programs.

"Basload" sells for $19.95, and is available directly from the author: Walter E. Styles, PO Box 325, Chester, VA, 23831, or also from Ramex International, Sharp's, and Curry Computer.

BASLOAD

by Dennis Jurries

“ay

SUPERTAPE

by Tom Judd

oe

BE 2 EE T3 EF GH EE EF TE ‘OM UME MRT BY SU TO Re: ASB ORT BCH IK BL

HAUdVM LAOS

Here is a listing:

In the last issue, I took a look at JRC Software's "Great Game And Graphics Show" for the TS 2068, a collection of short programs exploring several as- pects of that machine. In front of me now, is a similar program called the "Supertape" for the TS 1000/1500 or ZX81. The big difference here is that the "Su- pertape's" individual selections must be loaded in seperately, one at a time...sometimes a ted- ious task. I remember back to my BASIC computing course, when the instructor warned against putting too many programs on one tape, "because it is difficult to locate individual programs, and the possibility of losing data on tape due to accidental erasure". Oh well, with best intentions in mind, JRC put 45 short programs all on the "Super- tape"(!)

There is so much here, that it would take a book to describe it all. In fact, JRC could take a hint by this, and offer the "Supertape" with some real doc- umentation, instead of a long Strip of 2040 printer paper.

(How about a nice booklet.)

You get utilities like the assembler and text editors, math- matical programs like the ploters and statistics, games like Dodge and Dragon's Death, and lots of graphics routines, including "Osciliscope". This was my ulti- mate favorite. In fact, I have never seen any animated graphics sequence on the TS 1000 quite like that one before.

A couple of suggestions. Read all of the REM statements in the program listings before you RUN the programs. They con- tain some helpful explanations. Also, almost every program can be sent to the printer, and in- dividual screens can be copied... useful with the graphics programs. In closing, I would recon- mend this program not only for the fine value (you really get your money's worth), but the author of "Supertape", John Coffey is a very good programmer, and I learned quite a bit of tech- nique by taking the programs apart. Good humor abounds, and the variety is plentiful.

1. Program Name Reader 16. Logo 3 Multiple Programs in Memory 2. Loading Tip 17. Parm $2. Printer liigh Res

3. Flash 18. 68 Lines 33. Magazine 1

4. Bonus 19. Flower 34. Magazine 2

S. Wind 20. Etchsketch 35. Cubic Maze

6. 3D Plane 21. Speed Lander 36. Dragon's Death

7. Seif List 22. Dodge 37. Osciliscope _

8. Character Set Bandana 23. Keygame 38. 16K Tape Utility

9,. 1K Text 24. Touch Type 39. 16K Assembler

10. Tape Unlocker 25. Statistics 40, Text 1

11. Standard MC Loader 26. Slope 41. Text 2

12. Beep and Phraser 27. FN Plot 42. Text 3

13. Try This 28. Niche 43. Timex/Sinclair 1000 14. Just For Fun 29. Super FN Plot 44. JRC Poster

15. Sines 30. Extension To Basic 4S. Printer Hi Res

19

A SUPERB HIGH-RESOLUTION GRAPHICS-DESIGN PROGRAM FOR THE ZX-81/TS 1000 PLUS AN EXPANDED AND VERSATILE VERSION FOR THE T/S 2068...

example i

PABLO PIXEL-O

by Michael E—. Carver

I have thoroughly enjoyed my ZX-81 for years. I have added a full-size keyboard, 64k of memory and the Timex/ Sinclair 2040 Printer. I've always lamented the lack of high-resolution graphics, but have never felt compelled to invest the extra money for the needed hardware or s/w. The following program will allow you to use your ZX~-81/TS 1000/1500 and either the Sinclair or Timex Printer to create high-resolution graphics (see examples 1-4). Good- bye “blocky” pictures!

The characters of the Z2X-81 are generated using an eight by eight grid. Each line of this grid is stored as a binary number in the ROM (addresses 1E00h to 1EE7h). IF you were to PEEK the eight addresses for the letter "0" in the ROM, you would find the decimal/binary code in Fig. 1. For each “1" in the binary code, a pixel is set on the screen, producing the pattern "0".

Due to the design of the ZX-81, only codes stored in the actual ROM can be generated onto the screen without the use of extensive machine code programming. By using the routines contained in lines 500-570 and 1000-1090 of listing 1, and a lifted version of the LLIST subroutine from the ROM, any eight by eight character can be gener- ated via your printer.

USING PABLO PIXEL-O

The program is designed for you to draw a picture and create individual characters to produce a high-res copy of it. Graph paper which is ruled in eight by eight grids will help you map out your Characters. Draw or trace your picture onto the graph paper. Next, darken each square (pixel) which is a line or solid/shaded element of your picture. (NOTE: if your picture does not contain an empty 8x8 grid, you may wish to define an

7 2 / @ / @ / @ 4 @ / @ / @ 8

20

extra "space" character to help you in formatting later on.) Total up the number of different characters (8x8 pixel grid) you will need to compose your picture. Now count up the number of characters in each line (a max. of 32) and the number of character lines in your picture. You may wish to design your picture sideways and create a long panorama, but it can only be 32 characters high.

You are now ready to LOAD the program and begin creating your own characters. Before LOADing, you will need to lower RAMTOP by entering "POKE 16389,124", then followed by "NEW",

DEFINING CHARACTERS

When the menu appears, choose option 1-- "Define Characters" (see fig. 2). This will set up a blank array in which to store your data. Answer the prompt with the total you calculated earlier. You may wish to enter a total slightly higher than the amount of characters you wish to define, allowing for any errors or additions. When prompted, enter each line of the 8x8 grid as a space or an inverted space (GRAPHICS/SPACE...see fig. 3). When this character is produced by the printer, a pixel will be set (black) for each inverted space and unset (blank) for each space. If, after entering all eight lines, you are not satisfied, answer "NO" to the prompt and you will have the option of starting over for that character or Changing individual lines. (Keep track of the order in which you define your characters as they are coded and stored in this order. Character code "1" is for the first Character defined, code "2" the second defined, ect.) After you have completed your character definition, the screen will go blank for a few seconds while the computer analyzes and stores the data. If you would like to return to the menu during definitions, enter "M" as the first space in any line. This will allow you to check your pro- gress or save your data. NOTE: To continue definitions, choose option 2 "Continue Definitions", as option 1 will Clear all data from memory!

SEEING IS BELIEVING

You can review a portion of your work with "Big- Bits"--option 8. This option will display up to eight en- larged characters across and six down, using the standard Sinclair graphics. (See exampie 5) When prompted to enter

fig. 2

EES Ras ks Se ee eee DEFINE CHARACTERS...+++++1 CONTINUE DEFINITIONS.....2 PICTURE CODING.....24+2++3 PRINT OUT PICTURE.....++.++4 SAVE ec ccc e sc cccese sce eseeS RE-DEFINE CHARACTER.....-6 CONTINUE PICTURE CODING..7 BIG-BITS..cccccesessceee ed

ENTER ONE OF THE ABOVE

code numpers, enter tne number for the character you wish displayed (remember, character 1 is the first character defined, 2 is the second, ect.). After entering the codes the screen will go blank while the computer stores this information ona "notepad". You will then see an enlarged version of the characters in the order you specified. By pressing "M", you can return to the menu, "7" will make a copy of your enlarged characters on the printer. NOTE: The program uses part of the machine code stored in REM to set up the COPY routine in ROM, copying as many lines as are needed.

HARD EVIDENCE

To print a copy of your picture in high-resolution, choose option 3--"Picture Coding’. Follow the prompts, by inputting the totals you calculated for the width and height of your picture. You will again be asked to enter codes for the newly defined characters in the order to be printed. After entering all of the character codes, you will be returned to the menu. If you only wish to print out a portion of your picture, entering "O" for a char- acter code will return you to the menu. You may return to coding the picture py choosing option 7--"Continue Picture Coding”. Option 4--"Print Out Picture” will pro- duce a high-resolution picture via the printer. The mon- itor screen will go blank for a few seconds while the computer transfers data to a notepad, after which it will print out one line of your picture. This pattern will continue until all of the picture has been printed. After After you have finished “coding” your picture, a copy can be obtained at anytime by going directly to option 4.

fig. S$ PLOT OUT CHARACTER 1

123456765 1

awe

el

HOW DID THAT GET THERE?

If you would like to correct or re-define a cChar- acter, option 6 will allow you to re-define any character you designate. Re-define a character by following the steps for defining, line by line.

PRESERVING THAT MASTERPIECE

Option 5 will save the program and any data already entered. NOTE: if you break the program, do not RUN, 4s this will erase all of the data entered. Continue by en- tering GOTO 600, putting you into the menu. When you re- load the program, the menu will appear and you may con- tinue from there.

ENTERING THE PROGRAM - TSi000 version

Before entering listing 1, lower RAMTOP by entering POKE 16389, 124 and NEW. Line 1 should contain 113 char- acters after REM. When you have finished typing in the program, it is prudent to save it to tape before RUNing the program. After you have made a back-up copy, enter FAST mode and enter GOTO 9000. This will load the machine code into the REM statement. Tnis subroutine will check for most typing errors while entering the machine code contained in A$. After the code has been transferred to the REM statement, you may delete lines 9010-9170. To save this completed version to tape, set-up your recorder to record and start the tape, enter as direct commands,

-

example 5 (big-bits)

CLEAR and GOTO 3000. Remember, you will have to lower RAMTOP by POKEing 16389 with 124 before loading this pro- gram into the computer.

Listing 2 is a disassembled version of the machine code for the 1000 version. Addresses 16514-16529 contain the table holding the different graphic characters used by Big-Bits. The routine starting at 16530, looks at two lines of each character. It first looks at the first two bits in each line and calculates a matching character from the graphics character table, printing this graphic symbol. Then it moves on to the next two bits of each line, calculating and printing until all bits have been translated. This procedure is repeated until al] eight lines of the character has been printed and then moves on to the next character. The routine at 16621 copies the screen to the printer. Register D is loaded with the num- ber of screen lines to be copied. The routine then jumps into the ROM s copy routine.

a |e eee ee en eee ee

BY THE NUMBERS

Line 1: Machine code for option 7? "Big-Bits* example 2 Lines 2-3: Initializes flags

Lines 5-60; "Lifts" the LLIST routine from ROM and places it above RAMTOF with modifications.

Lines 100-130: Initializes arra, to store new character coding.

Lines 180-345: Accepts data for defined characters as a graphic binary code and changes the binary into decimal for storage.

Lines 350-390: Allows for corrections before storage of data is made.

Lines 9$00-495: Sets up picture array and accepts code numbers in the order you wish them printed.

Lines 3500-565: Converts and stores character codes for printing of picture.

Lines 600-670: Contains the menu. example 3 Lines 700-7940: Sets up editing of already defined characters.

Lines 800-990: Subroutine which sets up data for the machine

code for Big~-Bits.

Lines 1000-1090: Stores the 8 lines of code for each character to be printed for each line of your picture and calls the LLIST routine store above RAMTOP.

Lines 2000-2040: Saves the program with any data entered.

Lines 97010-9170: Machine code loader.

Some of the Variables:

D(S): Holds decimal code #or individual lines of character being defined.

DS: Blank line to mask or clear prompts printed to the screen. I1$(8,8): Accepts “plotted” version of character.

C: Total amount of characters to be defined. example 4 c$(C,8): Stores CHR®S for the CODE of each line of defined characters. (By storing these codes in a String array we conserve memory. To store 100 characters using a numerical array would require 4K, opposed to 800 bytes using characters -- i.e. the number S53 is stored as "P".)

W & L: Width and Length, in characters, of you planned picture.

P(L,W): Contains character code numbers in the order to be printed.

L'¢t32, 8) 's Stores the eight lines of each character for printing of one line of the picture.

B(6,8): Stores the character codes in the order to be displayed during Big-Bits option.

ee PSE E EER REND ot et ~

2a

1 REM AAAAAAAABAARAAAAAAAAAAA AAAAAAABABBEBBBBEBEBBEBBEBBBBBEBE BREEPBBBEBCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCDDDDDDDDDDDDDDDND

2 LET L=0

3 LET H=O0

5 FAST

10 FOR I=0 TO 112

20 POKE 31744+1,PEEK (2161+1)

30 NEXT I

40 POKE 31800,63

S50 POKE 31857,201

70 GO TO 600

100 CLS

105 DIM D(e)

110 DIM D#(32)

115 DIM I8(6,8)

170 PRINT AT 2,0; "HOW MARY CHAR ACTERS DO YOU WISH TO DEFINE?" 125 INPUT C

130 DIM CS$(C,2)

!€0 FOR F=1 TO C

=00 PRINT AT 20,0;D®;DS;AT 5,6; "J"SAT 21,13 "12345678°3AT 4,735" 127245678"

205 CLS

240 PRINT AT 6,0;"PLOT OUT CHAR ACTER "°F AND NOT EDIT)+(H AND EDIT)

215 PRINT AT 20,0;DS;DS;AT 5,63 "L"ZSAT 21,13 "12345678"5AT 4,735"

123456E7E"

220 FOR A=1.TO &

225 INPUT IS(A,1 TO 8)

230 FOR E=1 TO 8

235 PRINT AT 20,0;D$;" 12345678

240 Y= IS(A,1)="M" THEN Go Ta 600

245 IF IS8(A,E)=" " OR IB‘A,B)="

* THEN G60 TO 2690

250 PRINT AT 444,73; "RE-ENTER" 255 GO TO 225

260 NEXT B

265 PRINT AT A+4,75;18(A,1 TO 8) STAB 6; CHR®S (A429 AND A<8)

270 NEXT A

275 PRINT AT 20,0;D8;D#;AT 20,0 ;"ARE YOU SATISFIED?" 280 INPUT AS

225 IF CODE AS=51 THEN 50

290 FOR A=1 TO 8

295 LET D‘(A)=0

300 FOR B=1 TO 8

305 LET D(A)=D(A)¥2+CODE STR® ( CODE I#(A,B)/128)-28

310 NEXT B

3215 NEXT A

320 FOR P=1 TO 8

325 LET C8((F AND NOT EDIT) +¢H AND EDIT),P)=CHRE D(P)

230 NEXT P

7235 IF EDIT THEN 340 NEXT F

345 GO TO 600 350 PRINT AT 20,0;DS;DS;AT 20,0 >*pQ YOU WANT TO CHANGE INDIVID UALLINES?"

GO TQ 3

GO TO 600

355 INPUT AS

360 IF CODE AS=S51 THEN os

365 PRINT AT 20,0; DS; DS;AT 20,0 ;"WHAT LINE DO YOU WISH TO CHAN GE?*

370 INPUT A

375 PRINT AT 20,0;DS;AT 20,03 "W ORKING ON LINE “sA;AT 21,035" 12 3495678"

380 INPUT IS(A,1 TO 8)

385 PRINT AT At4,73;18(A,1 TO B)

GO TO 2

390 GO TO 275 400 CLS

401 PRINT AT 5,0; “HOW MANY SPAC ES ACROSS WILL YOURPICTURE BE? (32 MAX.)"

403 LET RE=0

405 INPUT W

410 IF W>32 THEN GO TO 400

415 PRINT AT 8,0; "HOW MANY LINE S WILL BE IN YOUR PICTURE?"

420 INPUT L

422 LET RE=1

425 DIM P(L,W)

430 CLS

431 PRINT AT 2,0; "ENTER CODE NU MBERS FOR NEW", "CHARACTER SET IL N THE ORDER YOU WISH THEM TO B E PRINTED.”

432 IF A®S="7" AND RE=1 THEN GO TO 445

435 FOR @=1 TOL

440 FOR R=1 TO W

445 IF @>L AND RW THEN GO TO 600

447 PRINT AT 19,0;D®;DS;AT 20,0 ;"LINE "3;Q3" / SPACE “3R

450 INPUT P(@,R)

455 IF P(@,R)>=O AND P(Q@,R)<=C THEN GO TO 470

460 PRINT AT 19,03; "INVALID INPU T. RE-ENTER:::"

465 GO TO 450

470 IF F(@,R)=0 THEN GO TO 600 485 NEXT R

490 NEXT @

495 GO TO 600

500 CLS

S05 PRINT AT 2,0;"TURN PRINTER ON AND PRESS ENTER WHEN READY T 0 PRINT OUT YOUR PICTURE. 510 INPUT

515 FOR A=1 TO L

S20 DIM L(32,8)

=25 LET mM=0

530 FOR B=1 TO W

535 LET M=M+i

540 FOR N=1 TO 8

545 LET L(B,N)=CODE (CS(P(A,M), N))

550 NEXT N

555 NEXT B

560 GO SUB 1000

565 NEXT A

600 CLS

605 LET EDIT=0

610 PRINT AT 2,05 "¥¥#* O PIXEL-O HHH" 620 PRINT AT 4,33 “DEFINE CHARAC TERS. see eee 1"FAT 6,33 "CONTINUE DEFINITIONS.....2"¢AT 8,35 "PIC TURE. CODING» ...0 cc:cce0 cS" 8AT 105 3; "PRINT OUT PICTURE........9"5 AT 25 SPASAVES siscis<

23

PABL

oe e S"ZAT 14,35 "RE-DEFINE CHARAC TER...22-6"5AT 16,33 “CONTINUE F ICTURE CODING..7";AT 18,33 "BIG- WEA wakes. 0107616016 198,616's SO

630 PRINT AT 20,4;"ENTER ONE OF

THE ABOVE"

640 PAUSE 4E4

650 LET AS=INKEY®

660 IF CODE AS<29 GR CODE A#>36

THEN GO TO 640

670 GO TO 100+(105 AND AsS="2")+4 (300 AND AS="3")+(400 AND AS="4 “)+(1900 AND AS="5")+(600 AND A S="6")+(330 AND AS="7")-(30 AND

(AS="7" AND L=0))+(700 AND AS= “@")

700 LET EDIT=1

719 CLS

720 PRINT AT 2,0; "WHICH CHARACT ER DO YOU WISH TO RE-DEFINE? ( ENTER NUMBER) "

730 INFUT H

740 GO TO 205

B00 CLS

805 DIM B(6,8)

610 PRINT AT 21,0; "HOW MANY LIN ES? (6 MAX.)"

815 INPUT J

620 IF 3>6 OR J<=0 THEN GO TO 810

825 PRINT AT 21,0; "HOW MAta ACF Oss? (8 MAX.)"

830 INPUT kK

835 IF K>8 OF K<=0 THEN 25

640 CLS

@45 PRINT AT 2,03;"ENTER CODE NU MBERS IN THE ORDER YOU WISH THE M DISPLAYED."

@50 FOR A=1 TO J

e55 FOR B=1 TO kK

660 PRINT AT 19,0;D#;D%;AT 20,0 S"LINE "3A8" / SFACE "3B

865 INPUT B(A,5)

670 IF Bt(A,B)>=1 AND B(A,B)<=C THEN GO TG 885

E75 PRINT AT 19,0;"INVALID INFU T. RE-ENTER: ::"

880 GO TO 860

685 NEXT B

890 NEXT A

695 LET NOTE=32000 900 FOR A=1 TO 6 905 LET M=0

910 FOR Bei TO 8 $15 LET M=M+1

920 FOR N=1 TO 8 925 IF B(A,M) THEN ODE (C#(B(A,M),N)) 930 IF NOT B(A,M) THEN TE,O

935 LET NOTE=NOTE+1! 940 NEXT N

945 NEXT B

950 NEXT A

955 SLow

960 CLS

963 POKE 16622,3%*4

965 RAND USR 16530

970 IF INKEYS<>"" THEN 70

975 IF INKEYS="Z" THEN RAND USR 16621

980 IF INKEYS<>"“M" THEN 975

985

990 GO TO 600

GO TO

POKE NOTE,C

POKE NO

Go TO 9

GO TO

1000 FOR J=1 TO 32 1010 FOR K=1 TO 8 1020 POKE 32255+K+8*#(J-1),L(3,K)

{O30 NEXT K

1040 NEXT J

1050 FOR H=1 TO 31

1060 POKE 16444+H,H

1070 NEXT H

1080 LET HCOPY=USR 317494

1090 RETURN

2000 CLS

2010 PRINT AT 10,0;"ENTER NAME O

F FICTURE:::"

2015 INPUT AS

2020 IF A®="“ THEN GO TO 2000

2025 PRINT AT 10,0; "READY TO SAV

E PICTURE: "SAT 12,O0;ABSAT 14 ,0; "TURN ON TAPE RECORDER", "AND PRESS ENTER”

2030 INPUT xs

2035 SAVE AS

2060 GO TO 5

3cao0 SAVE “PABLO”

3010 GO TO 1

$010 LET ADDRESS=16514

9020 LET A®="0087048302850681018 6058203849078021 007DESE10E040604 S46235E23ES5SAFCBIZ17CBiI2Z17CB1i317C B1317218240856F 7EZA0E407723220E 401 OESDS111D001S220ES0D1E10D20C FES1180FF2A0E4019220E407EFE7620 BC1L1640019220ES023EDSBILOGOEDS21 S3BABEIC91I618CD46B08C9"

9020 IF LEN AS$<>226 THEN PRINT "ERROR IN PLEASE CORRECT." 9040 IF LEN AS<>226 THEN STOP 9050 FOR X=1 TO LEN A®-1 STEF 2 9060 POKE ADDRESS+t+INT ((X-1)/2), (CODE AS(X)-28)*16+CODE AS(X+1) -2e

9070 NEXT xX

9100 LET CHECK=0

9110 LET ADDRESS=16514

9120 FOR x=0O TO 112

9130 LET CHECK=CHECK+PEEK (ADDRE $s+)

9140 NEXT X

9150 PRINT “YOUR CHECK IS "3;CHEC K

9160 PRINT

9170 PRINT “IF CHECK IS NOT EQUA L TO 9525 LOOK FOR ERRORS IN As"

Listing 2 Address Op Code (hex) Mnemonic 16530 21007D LD HL,32000 163533 ES PUSH HL 163534 El POP HL 163535 CEOS LD C,4 16537 0604 LD B,4 163539 56 LD D, (HL) 16540 23 INC HL 16541 SE LD E, (HL) 16542 23 INC HL 1635493 ES PUSH HL 16544 AF XOR A 16545 CBiz2 RL D 1635497 17 RLA 1654¢e CBi2 RL D 165499 17 RLA 16551 CBis RL E 163553 2 RLA

e4

16554 CBis RL E

16556 17 RLA

16557 218240 LD HL,16514 16560 85 ADD A,L

16561 6F LD L,A

16562 JE LD A, (HL) 16563 2A0E40 LD HL, (16398) 16566 7? LD (HL),A 16567 23 INC HL

16568 220E40 LD (16398),HL 16571 10E3 DINZ, 16544 16573 DS PUSH DE

16574 111D00 LD DE,29 16577 19 ADD HL,DE 16578 220E40 LD (16398) ,HL 16581 D1 POP DE

16582 Ei POP HL

16583 oD DEC C

16584 2O0CF JR NZ,16537 16586 ES PUSH HL

16587 1180FF LD DE,65408 16590 2ZA0E4SO LD HL, (16398) 16593 19 ADD HL, DE 16594 220E40 LD (16398),HL 16597 JE LD A, ¢HL) 16598 FE76 CP 118

16600 20BC JR NZ,16534 16602 116400 LD DE,100 16605 19 ADD HL, DE 16606 220E40 LD (16389) ,HL 16609 23 INC HL

16610 EDS5B1040 LD DE, (16400) 16614 EDS2 SBC HL, DE 16616 19 ADD HL, DE 16617 SSAB JR C,16534 16619 Ei POP HL

16620 C9 RET

16621 1604 LD D,4

16623 CDé6B08 CALL 2155 16626 ce RET

2068 version

Listing 3 and 4 contain a version of PABLO PIXEL-O for T/S 2068 owners. There are a few enhancements in this version, made possible by the extended powers of the 2068 computer. Instead of storing our new characters in an array, we will store them in a table above RAMTOP and set the system variable pointing to the character table, to point to our new table (see line 125). Of course, we can have a screen display of our high-resolution picture. Also, when entering the codes for your printed picture, you are allowed the option of choosing seperate ink and paper colors for display. The POKE in line 220 sets the system variable controlling the cursor mode into gra- phics. Your REM statement in line 1 should contain 63 characters after REM. After entering the program, enter as a direct command, GOTO 9000. This will load the MC into the REM statement, checking for typing errors. You may then delete lines 9000-9199. Save the program by en- tering as direct commands, CLEAR and SAVE “pablo” LINE 10.

The program operates basically the same as the ZX-81 version. There is the added option of saving a copy of the screen after having displayed your picture. It is possible to define a new character set or font and point the system variables to point to this new set. (See the example 6) You may wish to incorporate this font into other programs.

example 6

sinclair

Listing 3

1 REM aaaa@aacaaacaaaaaacaaaaaaa aaaaaaaaabbbbbbbbobDbDbDbDEHHDHDHHHbbb bbbbbbbbb

10 LET L=0: LET H=0

60 GO TO 600

100 CLS

105 PRINT AT 2,0;"Do you wish t sos set up a Dlank file?"

110 INFUT

115 IF CODE as<>s9? AND CODE asS< >121 THEN GO TO 600

120 PRINT AT 2,0; “How many char acters do you wish ta define?"

125 INPUT c: POKE 23728,c-INT te /256) #2356: PFOKE 23729,c/256

CLEAR 65367-(8%#¥c)-384: LET

c=PEEK 23728+256#PEEK 23729

1279 DIM i(8,8): DIM 6b$(&6&,8): L ET hel: LET edit=0: DIM a#(10)

135 DIM dB(32): LET hcopy=0: LE T aption=0

145 LET chartabl]e=65367-8%¥c-354

200 FOR fi TO c

202 PAPER 7: INK 0: BORDER 7: C LS : DIM i#(8,8)

205 PRINT AT 0,03 "Plot out char acter “3; (# AND NOT edit)+th AND edit)

710 PRINT AT 20,0; dB; dSsAT 5,5; “1"SAT 21,13 "12345678"5AT 4,73" 12345678"

215 FOR a=i TO 8 220 POKE 23617,2: INPUT iS(a,1 TO 8)

225 FOR b=1 TO 8

227 PRINT AT 20,0;d%3" 12345678

230 IF i@(a,1)="m" OR iSt(a,1)=" m* OR CODE iS(a,1)=156 THEN GO

TO 600

235 IF iS(a,b)=CHR® 128 OR i8ia ,b) =CHRS 143 OR iS(a,b)=CHRS 32 THEN GO TO 250 240 PRINT AT at4, 73; “RE-ENTER* 245 GO TO 220 250 NEXT b 255 PRINT AT at4,73iS8(a,1 TO 8) : IF a<8 THEN PRINT TAB 6jatl

~~

260 NEXT a

265 PRINT AT 20,0; dS3;dS;5AT 20,0 ;"Are you satisfied?”

270 POKE 23617,0: INPUT

275 IF CODE as<>89 AND CODE as< >121 THEN GO TO 335

280 FOR a=1i TO 8

250 fO0R b=4 TO 8

295 LET bSt(a,b)=("1" AND iSt(a,b J=CHRS 143)+("O" AND (iS(a,b6)=C HRS 128 OR i@(a,b)=CHR® 32))

300 NEXT b

305 NEXT a

310 FOR p=1 TO 8

315 POKE chartable+((#-1 AND NO T editi+(h-1l AND edit) ) #8+(p-1) »,VAL (CHR® 196tbS(p,1 TO 8))

320 NEXT p

322 IF edit THEN 325 NEXT Ff

330 GO TO 600

GO TO 600

335 PRINT AT 20,03; d83;dS;5;AT 20,0 3*“Do you wish to change individ uallines?”

340 INPUT

345 IF CODE aS<>89 AND CODE as< >121 THEN GO TO 202

350 PRINT AT 20,0; d%5 dS; AT 20,0 i "“What line do you wish to chan ge?"

3355 INPUT a

360 PRINT AT 20,03; dS3dBsSAT 20,0 ;"working on line “jasAT 21,05"

123435678"

365 POKE 23617,2: INPUT iS(a,t To 8)

370 PRINT AT at4,73;iS(a,i TO 8)

373 GO TO 265

$00 LET re=0O: LET option=0: CLS

: INPUT "How many characters a cross will you picture be? “jw:

IF w>32 THEN GO TO 400

405 INPUT “How many lines will be in you picture? “jl

410 INPUT “Do you wish to input paper and ink for each charac ter? “3; LINE z8: IF CODE z#%=COD E "y" OR CODE zS=CODE *Y" THEN

LET option=1

415 LET re=1i: DIM pll,w): IF op tion THEN DIM a(2,1,w)

420 CLS : PRINT AT 2,0; "Enter c ode numbers for new", “character

set in the order you wish the m to be displayed": IF z$="7" A ND re THEN GO TO 435

4235 FOR gq=1 TO l

430 FOR r=1 TO w

435 IF q>1l AND r>w THEN GO TO 600

440 PRINT AT 19,0; d@sd@;AT 20,0 ;*Line *3q3" / Space “jr: INPUT ptq,r)

4435 IF ptq,r)>#0 AND pl(q,r)<¢=c THEN GO TO 465

455 PRINT AT 19,03 "Invalid inpu t, re-enter'!*

460 GO TO 440

465 IF option THEN INPUT “Pape r? W"sall,g,r): IF atil,qgq,r)>o9 O R atit,q,r)<¢<O THEN GO TO 465

470 IF option THEN INPUT “Ink? e"3al2,qQ,r): IF a(2,q,r)°97 OR a(1l,q,r)<O THEN GO TO 470

472 IF ptq,r)=O0 THEN GO TO 600

475 NEXT ri NEXT qg

480 INPUT "Paper color? #"j; pape rt: IF paper>9 OR paper<O THEN GO TO 480

485 INPUT “Border color? #";bor der: IF border>?7 OR border<‘O TH EN GO TO 485

490 INPUT “Ink color? #";ink: I F ink<O OR ink>? THEN GO TO 49 .@)

500 BORDER border: PAPER paper: INK ink: CLS

S510 INPUT “Do you wish a hardco py? “3; LINE z®: IF CODE z#=CODE "yy" OR CODE zS=CODE “y" THEN LET hcopy=l

S20 FOR a=i TO 1: FOR b=i TO w 525 POKE 236064, (chartablet(pla, b)-1L)¥8)-INT ((chartablet(pla,b }-1)#8)/256)%*256: POKE 23607,IN T ((chartable+((pl(a,b)-1)*8))/2 36)-1

25

S30 IF PEEK 23689<3 THEN POKE 23606,0: POKE 23607,60

525 IF option THEN PRINT PAPE R atl,a,b6)3 INK a(2,a,b6);CHRS 3 23

S40 IF NOT option THEN PRINT C HRS 323: IF nheosopy THEN LFPRINT CHR®S 323

S342 IF NOT option AND PEEK 22368 9<4 THEN PRINT CHRS 8;: POKE 2 3606, (chartablet+ip(a,b)-1)#8)-I NT ((chartablet(p(a,b)-1)#8)/25 6)*256: POKE 23607,INT ((charta blet((pt(a,b)-1)%#8))/2356)-1: PRI NT CHRS 32;

543 IF option AND PEEK 236489°¢4 THEN PRINT CHR® 83: POKE 236064 , (chartable+(p(a,b)-1)#8)-INT ¢ (chartable+ip(a,b)-1)#8) /256) #2 56: POKE 23607,INT ((chartable+ ({p(a,b)-1)#8))/2356)-1: PRINT PAPER a(il,a,b)3 INK a(2,a,6);CH RS 32;

545 NEXT b: PRINT

S50 IF hcopy THEN

553 NEXT a

S540 POKE 23606,0: POKE 23607,60 : POKE 23692,23

5645 PRINT #13 "Z=COPY =SCREEN® SAVE"

570 IF INKEYS<>"** THEN GO TO 5 60

575 IF INKEYS="s" OR INKEYS="s"

THEN GO TO 1000

5380 IF INKEYS="z" OR INKEYS="<"

THEN COPY

5383 IF INKEYS<>"m" AND INKEYS< > "mM" THEN GO TO 575

S90 LET hcopy=0

600 BORDER 1: PAPER 1: INK 9: C -S 3 GET @a:2.t20

603 POKE 23617,

610 PRINT AT 2,03 BRIGHT 1; * ##*#

LPRINT

M=MENU 5S

* PABLO PIXEL-O HHHEE" 620 PRINT AT 4,4; "DEFINE CHARAC TERS.....2--1"5AT 6,43 “CONTINUE DEFINITIONS....2";AT 8,43 "PICTU RE CODING.-ccccceces SAT 10,43" PRINT QUT PICTURE.......4"3AT 1 243 “SAVE si a eseec ie cecreseccese

AT 14,4; "RE-DEFINE CHARACTER... oe e S"ZAT 16,43 “CONTINUE PICTURE CODING. 7"3AT 18,4; "*BIG-BITS... ce ats pers ee 6”

620 PRINT BRIGHT 1L;AT 20,5; "EN TER ONE OF THE ABOVE"

650 INPUT LINE 2S

660 IF CODE Z%<49 OR CODE 23>56 THEN GO TO 650

670 GO TO 6S0-(S50 AND z7s="1")- (448 AND 2$%="2")-(250 AND ZsS="3 ")-(150 AND ZS="4")+(380 AND 2S ="S*"*)+(S50 AND ZS="6")-(230 AND Ze="7")-(20 AND (ZS="7" AND L=0 )»+#(150 AND ZS="8S")

700 LET edit=1

7ioO CLS

720 PRINT AT 2,03 “Which charact er do you wish to re-define? ( enter #)"*

730 INPUT h

740 GO TO 202

e00 CLS : DIM b(6,8)

S803 INPUT “How many lines? (6 m

ax.) "#4 810 IF j<1 OR j>6 THEN GOTO 8 10

815 INPUT “How many across? (8 max.) “jk

820 IF k<i OR k>8S THEN GO TO 8

20 925 IF bla,d) THEN POKE note+ti SSO PRINT AT 2,03*Enter code nu »PEEK ((chartable+(b(a,d)-1)*8) 1045 SAVE aSCODE chartable,cx*és

mbers in the order you wish the #b+1) 1050 GO TO 600

Cee Pan ok Pa 930 LET note=notet2 2000 LOAD aSCODE dab KGa REL ee : 960 NEXT d: NEXT b: NEXT a 2010 GO TO 600 Ris REE AX Geudidbiaion en meno 965 PRINT AT 0,03: RANDOMIZE US 9000 LET address=26715 Pez = i , ee , R 26731 9100 LET a®="8084888C8185898D82e peta ne cet 7 Sune ib 970 POKE 23659,2: POKE 26773, 3% 68ABES83878BEF 21D7F DO6C0CS060456 eae Ge ‘eve apie) Re tenthdee 32 23S5SE23ESAFCB1217CB1217CB1317CB!

ey. Ald eet aes 980 IF INKEY$<>"" THEN GO TO 9 31 72ZiSB6SS56F 7EDZ1IOEAEICL1IODEC9

; 80 F3O06COCDOSOACS"

Pn Conus, Pee Lee we Inv 985 IF INKEYS="z" OR INKEYS$="z" 9105 IF LEN a8<>126 THEN PRINT 865 GO TO 850 : THEN RANDOMIZE USR 26771 "Error in please correct.": pte ie of 990 IF INKEYS<>"m" AND INKEYS<> STOP ae Geers "mM" THEN GO TO 985 9110 FOR X=1 TO LEN a®-i STEP 2 S50 PACER Bs. MOSER DS FR Sek 995 GO TO 600 9115 POKE address+INT ((x-1)/2),

LS: -: PRINT nit wake ae a eae 1000 REM save screens {CODE aS(X)-(48 AND CODE as(x)<

g loaded. Z=COPY M=MEN 1010 INPUT "Picture title: “ja 56)-(55 AND CODE a(x) >64) )*16+

ie CODE aS(X+1)-(48 AND CODE as(x+

702 can eateseween: eoea ceane, sci eAee, Beecner sep ae. eee 1)<58)-(55 AND CODE as(x+1)>64)

. f 1; “please note that you will ha 9120 NEXT X

oe eo ee 8 _ b=0 TO 7? ve to enter CLEAR “;PEEK 2373 9125 LET check=0: FOR x=0 TO 62:

$10: TE NOX Bia .u). THEM PORC. HG O+256%PEEK 237313" betore lo LET check=check+PEEK (26715+ x) ° ading this program after 5 > NEXT x

aici aving! 9130 IF check<>7488 THEN PRINT 9iS IF bla,d) THEN FPOKE note,P " "Look for errors in A®.": STOP

EEK ((chartable+t(bla,d)-1) #8) +b 1035 INPUT “What is the title? *

) 5 as 9135 IF check=7488 THEN PRINT *

eae Pa NOT Bta,d) THEN POKE no 1040 SAVE LINE 2000 Machine code checks out."

e , Listing 4 Address Op code (hex) Mnemonics 26731 ZiD7FD LD HL,64983 26734 06CO LD B,192 26736 cs PUSH BC 26737 0604 LD B,4 26739 56 LD D, (HL) 26740 23 INC HL 26741 SE LD E, (HL) 26742 23 INC HL USE PABLO PIXEL-O AND SEND US YOUR ARTWORK! 26743 ES PUSH HL 26744 AF XOR A 26745 CBi2 RL D 26747 1? RLA csr = i TIME DESIGNS will publish examples of com- te ee oe puter varte using the PABLO PIXEL-0 pro- 26752 1? RLA gram supplied in this issue, in upcoming satan Fp oR future issues. We may publish yours! Send pepe eed th he, Beis artwork from either T/S 1000 or T/S 2068. 26760 65) ADD A,L 26761 6F LD L,A 26762 PE LD A, (HL) : Caan a Bele tan, send to: TIME DESIGNS 26764 10EA DINZ, 26744 29722 Hult Rd. 26766 Et POP HL Colton, OR 97017 26767 Ci POP BC 26768 10DE DINZ, 26736 26770 co RET 26771 FS DI 26772 06CO LD B,192 26774 CDOSOA CALL 2565 26777 co RET

A GRAPHICS PROBLEM for the T/S2068

A “SERIOUS"

by Dick F. Canby,

GRAPHICS DISPLAY FOR THE 2068 AND 2040 PRINTER

Wagner Oregon

GRAPHIC PLOTS valk AN EGUILATERAL TRIANGLE | WITH INNER AND OUTER

One of my pet beefs with many computer programmers is their lack of con- cern for identifying the basis for their programs. The display of the formulas/ equations used, would help the user decide if the program is indeed the one needed for his (or her) calculations. It is often not easy to pick this information out of the program because of the way the programmer had to chop up the formula/ equation. Also there should not be the need to spend a lot of time trying to identify the information needed.

The following program is substantiated as to formulas. This makes it easy to sub- stitue as you wish. However the problem is complex in that several sytems are involved in developing a problem display. The formal graph with x and y axis, notations and scales provide an example for similar displays. The derivations for generating an equilateral triangle as well as drawing an inner and outer circle touching the tri- angle shows the steps. The chart coordinates have suitable divisions marked off, as well as enhancing every 5th division. The end product, instead of just displaying a tri- angle and 2 circles, shows the result of calculating a problem with interpretive results.

The first step is to draw the x and y axis, scales, divisions and headings. The radius of the outer circle is to be 40 inches. Use a scale of one pixel as one inch. Therefore, we need to provide for a figure 80 by 80. For a nice balance, place the circle center at 95 (x axis) and 80 (y axis). To allow space for x and y axis data place the x axis 20 and the y axis at 25. Position markers every 10 pixels (inches) and enhance every 5th mark. Remember that all positions are with respect to 0,0 for PLOT (bottom left corner) and 0,0 for PRINT (top left corner).

al

i oF f CIRCLES whos r DF ss 2fe5 i5@ L pert L Flee ce Ee ; = Ps ., > i. Fi J i * t i } + \ i i ' @ i 7 Cc i i Vs i ; ' ‘, EF + el

Lines the axis,

10-190 generate markers, axis numbers and axis names. Many lines include a printer correction

factor of 1.24 (Timex 2040 Printer). This is necessary to produce a symetrical image. After all, who wants to excuse his (or her) equipment for making egg- shaped circles and non-equilateral tri- angles?

To review the -derivation of the correction factor, just DRAW a square of good size, and make a printer copy. Measure the height and width (use a dec- imal or metric scale). The ratio of these dimensions is the correction factor. Now re-draw the square, using this mul- tiplyer. For example, assume the square was drawn with PLOT 30,30:DRAW 80,0:

DRAW 0,80: DRAW -80,0: DRAW 0,-80. For the 2040 Printer, you would change the

lst and 3rd DRAW to 1.24*80,0 and -80* 1.24,0. Check your printer to see if it is the same.

Lines 45-110 put in the markers on the x axis, and lines 120-190 put in the y axis markers. RUN the program from 10-190 and confirm proper display. CLS and the "graph paper" is now ready to plot the 3 figures. It is now time to calculate the dimensions for the figures and decide where to place them. Remember that we are going to have a display with measuring capability of the finished figures.

Calculations start with determining the sides of the equilateral triangle from one dimension, the radius of the outer circle. That has been given as 40 inches (3rd paragraph). Key in lines 395- 470. DELETE later if desired. This part will draw a right triangle (any scale) and from the hypotenuse (the radius of the outer circle), we can determine % the base and the radius of the inner circle.

These formulas will be used: b=a*SIN B/SIN A c=a*SIN C/SIN A circle=r*COS 2*PI,r*SIN 2*PI

a is radius (40), b is % the base of the equilateral triangle and c is the radius of the inner circle. All is shown on the sketch. We know that an equilateral triangle has all angles equal to 60 degrees. A line drawn vertically bisecting the base will also pass thru the circle center. RUN the pro- gram from 395, and display the triangle along with the calculations. Angle B may not be evident, so consider B as ¥ of one third of 360 degrees.

TRIANGLE CALCULATIONS boivevst baste, ft=firctle center to bate, SLEL EELS fadivus igiven a5 4B:. 5 a=40 (radius! A B=1lv2+i2eO=-6S dec. 2 yt A=90 deg. “te €=(188-90-60) = a SQ degrees ge b=4025IN 68+ 2 5IN 9@=34.654 b c=4@45IN 30+

SIN 930=26

There are all the dimensions required.

Lines 200-320 draw the 3 figures with center at 95,80.

Lines 330-370 put in a title, initials (yours) and date.

I think you will agree that our computers can produce a product that takes it out of just a visual display.

& REM Lines constructed at Tight ansie and at the midpoint OF #@ach side of an equilaterast LTiangle Wilk intersect. This POimnt With be the center of 3 cirtleée that wiit touch each sidé amd also a Circle will touch Bach corner oF the triangle.

18 PLOT 2541.24.28: BRAWN 3,145 PLOT 25+#1.24,20: DRAW 200.8

NM Co

20 PRINT AT 21,10; “INCHES”

SQ PRINT AT 28,0; "I"; AT 11.8. et ey. Ee es ee AT. doy By HRT Le SE" Set 16.02 "5"

25 PRINT AT 28.3; "58";AT 29.265

"20a"

40 PRINT AT 15,1; "50"°;AT 5:8 L3e"

45 FOR N=25e1-24 TG 220 STEP i O+i.c4

5@ FOR A=<c8 TO ee

SB@ PLOT HOA

7@ NEXT A: NEXT WN

S@ FOR N=25¢i.24 TO 226 STEP & f$1i.e4

SO FOR H=se TO e4

i868 PLOT A

410 WEXT &: NEAT WN

i128 FOR N=28 TO 150 STEP

13@ FOR B=25si.24 TO 271.4 14@ PLOT 6M

150 NEXT &: NEXT M

160 FOR MN=28 TO 15@ STEP 58

i7@ FOR B=e7ei.s4 TO 2941.24 16@ PLOT &.8

iS@ NEXT B: MEST A

2OG@ PLOT 3541.24 ,68

210 DRAW 69.25+.541.24,8

220 DRAW -34.54¢1.24,68

E38 DR Ai —-34,254¢1.24, -62

242 DRAL 34.6441.24,6

SEQ REM circle center is 35.58 2e7O PLOT S541.24,8@0-2: DRAW 8.4 > PLOT (85-2) 41.24,50: BDRAL e,8 298 FOR A=@ TO 2+PI STEP Pivies SOQ PLOT S541.244404¢1.24¢005 A, SO+dOESIN A

Sif PLOT 3541.24420¢1.24#C005 aA; SO+2SGs5inN a

320 NEXT &

_330 PRINT AT @.11; "GRAPHIC PLOT

340 PRINT AT 1.8; “AN EGUILATERA L TRIANGLE”

35@ PRINT AT 2,3; “WITH INNER AN D OUTTER ;

S60 PRINT AT 3,15; "CIRCLES"

S70 PRINT AT 4,18; "D.F.U. 2755" 27S cory

SS8 PAUSE ded

398 CLS

3935 PRINT “TRIANGLE CALCULATION Ss PRINT *“ b=l1yv2e base, ct=ciret center to base, a=s=circte fr adive igiven as 40:3."

430 PLOT 28.298: BRAW F@,.8: BRAY @.48: BRAL -7S,-46

410 PRINT AT 19,1; "C";AT 19,12 See SEE Stes “ss

420 PRINT AT 28,6; "b°" (AT 16,12: Cent 25:6; "2

430 PRINT AT 213,15; "a=d@ fradiu si‘; AT 14,135; *B=172¢120=-60 deg.’ AT 15,135: “A=98 deg.";AT 16,15; ° Pst{LBA-3a-50:=";AT 17,16;" sa od egrees*

449 PRINT AT 12,15; “b=4025IN 62 45@ PRINT AT 315,15;*" Sin SB=3 4,64"

46@ PRINT AT 22,15; “c=40¢5IN 39 ai” PRINT AT 22,15;°" SIN 38-2 458 cory

ANOTHER LOOK AT 2068 GRAPHICS

Listings #1 and #2 are shown to il- lustrate but one point. Both are graphic- ally interesting, though this was not my full intention by including them,

Often what is most important when one dces mathematically generated graphics is SPEED. Many take the 2068 the better part of an hour to produce...a long time _ to wait if one is testing and debugging for- mulas. One common trick is to change STEP values in FOR/NEXT loops to larger num- bers. This lets a programmer “skip the detail" and more quickly get an idea of the general outcome. For the final version such values can be altered back so as_ to show the detail again.

I have found, however, that we _ tend to overwork our computers when generating graphic displays. The T/S 2068 knows no fatigue. It will calculate cos .4 five thousand times during a graphic without a complaint. But couldn't the value of cos -4 (.92106099) just as easily have been plugged in and thus saved some TIME plot- ting the graphic?

The more calculations the 2068 is forced to do each go, the slower and less appealing our graphic is to watch. Listing #1A produces a “bouncing ball". Listing #1B does exactly the same thing only less Work. Note the math in lines 180 and 190 of listing #1A have been reduced to line 20 of listing #1B. All the variable calc- ulations in lines 10, 20, and 30 of #1A were also eliminated. These should both be run and compared for speed. Listing #1B

will go even faster if line 30 is changed to read simply: PLOT x,y. Listings #2A and #2B are mathematic-

ally much more complex. Again both produce the same sort of graphic. Listing #2A abounds in variables set and is replete with other formula "fat". Most certainly the formulas in this listing should be worked through and understood by the_ the programmer. In the final version such

29

MORE OR LESS

by Paul Bingham

length is of no use to the computer, simply more code it must wade through. Listing #2B is a version with nearly every slow calculation trimmed down.

#1A

. A

2 = 3 -

ae : z 3%

a a oe

Sac a ay. Fee Lf \ I~

= z=: on *

: : ¥ ¥ Fs iL EM BOUNCING BRLL

10 TET xmeax254: LET amet 74: LET soe Sg S

2@ LET w=PiI-d@:

oe LEFF £=502

i7@ FOR n-2@ TO xm-18

18@ LET yun s=hs#SIN twened!I EXP f- K€mi

19@ LET un=ABS funi-s 2@e@ PLOT n4=lB@.yun: PLOT n4+18.,.5n+ 1: PLOT n+iid.yn: PLOT n#11,unel 241i@ NEXT nm

LET d=9@¢PIVi2 e

#1B 1 REM BOUNCING BALL

1@ FOR *«-@ TOS 2523

26 LET y=174245IN (.87854*x*41.57 }$ExXP (-.@1#x}

o@ PLOT x,y: PLOT x4+2,4: PLOT *+1,4-1: PLOT x*4+1,u41

4@ WEXT x

Listing #2B is a fun one for experi- mentation. The slightest variation will cause differing outcomes. The beauty and excitement can only be achieved through experimenting, but some examples include:

1) Changing the value multiplied by z in line 120 adjusts the height of the topography--.3 is flatter, .8 song ices geet lig co GP EF is steeper, 2.0 is pretty strange. SE mae SO NT

2) The value 600 shown in lines 100 SEE eg, mga BS PI Sy, and 120 can be increased for fete ee te ey See lazger scale, decteabel for Se ie or ee smaller. ee: 2 i a aia “rishi See

3) The value for b in line 90 is Page NEE ne hongasn™ cen au ann, gee ae negative. The more negative it Wiese ime wil a te becomes the more exaggerated the Boom” ee sa right portion of the display be- clad eet MBL ae ae comes. ee ee a seaeeane se?

4) As discussed earlier, a smaller = tae = STEP value in line 60, the closer and more detailed the plotting

= = becomes (and slower, too). i REM e@6s CRATER

1@ BORDER 1: PAPER 1: INK 7 2@ LET q=-4: CLs 3@ FOR a=23 TO -16 STEP -1.6 42 IF a:5 THEN LET 9=9-1.7 # OA S@ IF a<5 THEN LET g=q1 6@ FOR b=9 TO 15 STEP .3 7@ LET z=COS (.@64ia¢a+be#b)} 9@ LET h=8@-a4.9-b-z 22 LET t=.4: LET j=1.25: LET é€ 108 LET ~=124-60G6 ((-a¢.44b¢.9) =608 é S@ FOR a=19 TO -44 STEP -1 140 IF ~:255 OR x<@ THEN NEXT 5 6@ FOR b=-35 To 16 122 PLOT x ,96+6@@2((-a#.3-b+.1+ 7@ LET z=COS (.864 (aee+bebi}: 2%.7) ¢h} LET w=-a¢45IN t+b2C05 t: LET d=-a 13@ NEXT b #COS t#COS j-bzS5IN 1200S j+2#5IN 14@ NEXT a

*

ioe LET H=8@-at¢S5IN j4#C0CC5 t-be#5T

N g#5IN t-zZ45IN j One might now take a look back through ae rer pen bw aie some old terribly slow graphic programs 43@ IF y3176 OR ree: OR x>255 oar laying around. One will be amazed at the xi@ THEN GO TO 288 excess work we have been forcing out of our oes mol ied 2068s. Next time we will look into some 21@ NEXT a even more interesting graphic ideas.

3D TUNNEL For The 2068

*.

106 PRINT INK 2;8T 2,18; "30 TUH E*

2B FOR 3£=F8 TO 1 STEP -2

oo GIROLE X,Kak

46 HEST x

= Si:

60 60 TO i8

30

The following is a compact machine code routine that provides a 2068 user with digital joystick position information and button status at machine code speeds. It waS originally designed to be of use in upgrading game programs from key- board control to joystick control.

Basically, the two joysticks are controlled via Register 14 of the Pro- grammable Sound Generator Chip. Addresses are transfered by port #245 and data by port #246. To read a joystick, 14 is written to port #245, the B register is loaded with stick no., and the data is read from port #246 as aé_ single byte with direction/button status bits located as shown in fig. l.

FIG. 1

it 7 & 2 4h 863 e

| not used | \ button depressed

right left

The routine, as presented in this article, resides ina 1 REM statement, although it can easily be relocated.

Providing the second display file is not used, the first available address ina 1 REM statement is 26715. This and the next four addresses are where the results of reading a joystick will be stored (see fig. 2). After the routine is called, a 1 will be found in the addresses corresponding to positive switch closures and O's in those addresses cor- responding to negative or "open" switch conditions.

- JOYSTICK DATA BYTE

MACHINE CODE JOYSTICK ROUTINE

FOR THE T/S 2068

by John McMichael Bozeman, Montana

FIG. 2 - JOYSTICK DATA LOCATIONS

ADDRESS DATA

26715 STICK RIGHT 26716 STICK LEFT 26717 STICK DOWN 26718 STICK UP 26719 "FIRE" BUTTON

stick stick stick stick

down up

The program in fig. 3 is a machine code loader which puts the machine code into the 1 REM statement.

As the resulting 1 REM machine code lint is partially unlistable, any subsequent program lines will be unlistable unless...the|>jcursor is set to a line no. equal to or larger than the next line no. after the 1 REM and the following two direct commands are entered: POKE 23660, (your next program line above the 1 REM line): POKE 23661,0. This will cause the automatic listing to start at your first program line.

Enter and RUN the following machine

code loader:

3. 7

FIG. - MACHINE CODE LOADER

2 REM a8 eae CHM RM EM KMRKHM RHI WERKE CRAKS CHR SEK MAM KHMER RRR SIS SRR

1@ FOR msae87i1s TQ 286773

2G FERD a PORE f,d

Se NEAT

428 DCATR @,8,8,8,8,33,091,12184,1, O55 343,887,238 282; 62 , 34,242 ;-248), 1,246,2,237,1328,43,2803,1227,32,2, 54,131,543; 203 .7 4, 3272 -86,12,43,2083. 7a, Ge, 2) 5071543, 2803 :37,3E;2,54 -1 -43,2803,95,192,54,1,201

Lines 10-40 of the loader can be DELETED and the remaining 1 REM machine code line can be SAVED to be later MERGED with any program that is being up-graded to joystick control.

At the point in a program where joystick information is needed, address

#26736 is POKED with the desired joystick's

no. (1-LEFT; 2-RIGHT) and the routine is called at 26720.

By PEEKING addresses 26715-26719, the sticks' position and button status are obtained.

The following program is a typical example of how the routine may be used to move a single character around the screen with a joystick. The program will stop when the "fire" button is_ pressed.

FIG. - EXAMPLE PROGRAM

euiled os ca eck

195LET x=2687135: LEFF vertsi@: Lb ET hkorizsis5

2@ PRINT AT vert, ,horiz;”"” “"

S@ RANDOMIZE UsrR 26728: REM ++ the right stick if sSelectedsex

4@ LET vwerticte=vert4+PEEK itx+e

}-PEERK {x43}

S@ LET fhorizantel=horiz4+PEEK x -PEERK (x41

Be IF verticte<@ GR vertictéze2 1 THEN GO TO 32

7@ IF forizontat<@ CR HOrizant #{331 THEN GO TO 3@

SQ PRINT AT vertictle,haorizanta

. -

“oR LET vertevertiacte: LET hors: Zoharizantat

19@ IF PEEK (x+4)3=1 THEN STOP

11” GO TO 28

Fig. 5 is the OP CODE listing

for the 1 REM routine.

FIG. - OP CODE LISTING

Sa715 ae NOP

28716 80 NOP

Se717 Be NOP

Sa7is aa NOP

26719 ae NOP

2a72@ 215868 LD HL,28715 25725 gies LD BC, 1280 Sav25 71 Le tHL) 26727 23 TNC HL 26728 iaFe DUNZ Se7ee 26738 3EQE LD A, 14 Se7a2 D3F5 GUT {245).8 S5734 @1FS@2 LD 8c,753 S737 ED7S InN A, tc) 26739 36 BEC HL 26740 CE7F BIT 7.A Sa742 Beas UR Nz Bera 28744 3601 LD (HL) .: 26746 3B BEC HL 28747 CB47 BIT @,A Sa749 Baa2 UR NZ Sa7Ss S6751 36a: LO tH) | Sees BE Dec ‘HE.’ 26754 CR4F BIT 1.7 S6756 2202 UR NZ pavee SE758 3621 Lo Hl), 4 2a76a 2B DEC HL’ 26761 CBS7 BIT 2,A 26763 22002 UR NZ. PETE? 56765 362 to tH) .- elcay oa See HC 26768 CBSF BIT 3,7 SE772 Ce RET NZ 2a771 364 LB tHL),4 S6773 #69 RET

2068 COLOR DEMO

by Edwin S. Salter Milton, Florida

REM Tra 2865 COLOR DENO

REM FE SALTER 1-28-85 RANDOMIZE @

BORDER INT tRHDs7)

FOR a=-@ TO i858: INK INT (RN

CIRCLE 127,87,a-67: PLOT a, " BRAW 255-a-a,8: GRAY 2@,175-a- DRAW -D5S4ata, @: DRAW @,-175+

NEAT 4 PAUSE S8@: GO TO 55 REM GOTO 9955 ta tist progr

BORDER F: PAPER Ff: INK @: C List

cc” OT” EE

REM 4EEEEE EF EERE EEEHEER EE PEM #BILLY’'S SLOT MACHINE® SEM RFE EERE EER EEE HEE INK 1

PAPER & 2068 BOPDER PROGRAM

LET =509 Qn SUB ton° PRINT AT 1,233s

pater SLOT MACHINE LET AS="*CHERRYLEMON PLUM ORANGE BELL -BAR-CHERRY”

PAPER &

GO TO 21 by Bill Gunter FOR J=i TO 22

PRINT AT 7,203" * PRINT AT 10,33" * 3O PRINT AT 11,73" * REAL LAS VEGAS STYLE CASINO ENTERTAINMENT!

33 PRINT “AT £2,335: * The program Is a slot machine which plays 25 cent

39 PRINT AT 20,13"3 BAR OR BELL=JACKPOT" pleces, and keeps track of your winnings and 40 NEXT J

losses (it even plays a little fanfare If you hit pS ae patie a the Jackpot). The odds ought to be pretty close 65 LET BS(J)=AS(1+6*% INT ( RND ¥7) TO 42) to Nevadaiodds, "and ‘should: Keap: the, chi tcren 67 IF BS(J)="CHERRY“* THEN PAPER 2 quiet for hours. it is Important to get the £8 IF BS(3)="LEMON * THEN PAPER 5S spacing just right In IIne 15, since the "fruit" 49 IF BS({(J}=" PLUM * THEN PAPER S which appear In the slot machine windows are

ee ae ee ee Be

FF Fe a |

N - = «* OoWWW

an me

20. 2E BOLI Ven ORANGE ® “THEN. PAPER: 25 (TNC 6 "“siices" of the character string "A$". (EDITOR'S 71 IF ‘J)=" TH P :

i ++ og cial aaa eit Agen D me . NOTE: this Hsting | was made with a printer -% PRINT AT 11,7%*J-5}88(J) that doesn't use for zero. So be carefu! 74 BEEP .05,15 when entering numbers In this program.)

75 PAPER 6: INK 1

76 NEXT J

"3 PLOT 214,49

79 DRAW 0,55: DRAW 2,9: DRAW 0,23: DRAW -8,0: DRAW 0,-2=: DRAW 2,0: DRAW 0,-55

30 30 SIIB 2000

{ PRINT AT 7,25;"DEPOSIT 2 BITS-->"

@2 PRINT AT 7,213 FLASH 15"D"

83 IF INKEYS ="d* OR INKEY®S ="D* THEN PRINT AT 7,25" “; PR INT AT 7,203"2S5c": GO TO 85

@4 GO TO 83

85 PRINT AT 6,28;"PULL": PRINT AT 7,273"<----"

85 PRINT AT 7,26$ FLASH 13"P" -

@? LET S=S-25: PRINT AT 1,28;S

89 IF INKEYS ="p" OR INKEY® ="P" THEN GO TO 91

90 GO TO 89

91 PRINT AT 5,265" "$ AT 6,263" "5 AT 7,265" "5 AT 8,265" “3 AT 9, 263" "3 AT 10,265" "$ AT 11,265" "$ AT 12,263" AT 13,263" "3 AT 14,265*° *

95 GO TO 20

foot Wak oe 20!0 IF BS(1)=BS(2) AND BS(1)="CHERRY” THEN LET P=50: PRINT Al 1,15 FLASH 15"% 1002 DRAW 192,0 Ol! WIN "3P 1003 DRAW 0, 148 2011 IF BS(1)=BS(2) AND BS(1L!=BS(2) AND BS(1)="CHERRY” THEN. LET P#125; PRINT A 1004 DRAW -192,0 T 1,23 FLASH 1; "YOU WIN *3P 1005 DRAW 0,-148 2C1? IF BS(i)=BS(2) AND BS(i)=" PLUM THEN LET F=1z5: PRINT AT 1,15 FLASH 15° 1CO6 PLOT 192,24 YOU WIN ";P 1007 DRAW 8,0 2017 IF BS(1)=BS(2) AND BS‘{1)=BS(3) AND B#(i)=" PLUM * THEN LET P#=250: PRINT A 1008 DRAW 0,40 T 1,13 FLASH 13"YOU WIN “IP 1009 DRAW -3,0 2014 IF BS(1)=BS(2) AND BS(1)="ORANGE” THEN LET P#125: PRINT AT 1,15 FLASH 15" 1010 PLOT 200,40 yor WIN "43P 1011 DRAW 12.0 2015 IF Be(1)=BS(2) AND BS(1)=BS(3) AND ES{i}="ORANGE* THEN LET P8250: FRINT A 1012 PLOT 200,48 T 1,13 FLASH 1;"YOU WIN "3P 1013 DRAW 12,0 2016 IF BS(i)=BS(2) AND BS(1)="LEMON * THEN PRINT AT 1,13 FLASH 1s"SORRY, NO W 1014 CIRCLE 212,44,5 ae © EOE, FOR 3 {015 PLOT 210,49 20:7 tF BS(1)=RS(2) AND BS(1)=ES(S) AND BS(i)=" -BAR-" THEN PRINT AT 1,15 FLAS 1016 DRAW 0,55 H J:"JACKPOT - @10°: LET P=1000: GO SUE 4000 1017 PLOT 214,49 201© IF BS(i)=BS(2) AND BS(1)=BS(3) AND BS(1)~" BELL * THEN PRINI AT 1,15 FLAS 1018 DRAW 0,55 H 13)"JACKPOT - $10": LET P=1000: GO SUB 4900 1019 DRAW 2,0 201° LET S=S+P 1020 DRAW 0,22 2020 PRINT AT 1,285" ? 1021 DRAW -8,0 2021 PRINT AT 1,28;S 1022 DRAW 0,-23 2027 LET P=0 1077 CIRCLE 172,116,14 2025 IF S=0 THEN GO TO 3000 1024 PLOT 6,70 204C PAUSE 75 1025 DRAW 180,0 2050 PRINT AT 1,15" . 102¢ DRAW O,2e 2060 RETURN 1027 DRAW -180,0 3000 PRINT AT 1,0;"YOU ARE BUSTED-FOR REPLAY HIT “%$ FLASH 15“R" 1028 DRAW 0,-28 path as spent ="R" THEN RUN . * 3020 GC foes Baal oe S cucaes 4000 REEP .2,-3: BEEP .2,2: BEEP .2,6: BEEP .4,9: BEEP .2,6: BEEP .6,9 1022 PRINT AT 14,43"2 CHERRY PAYS 2" 4010 RETURN

1034 PRINT AT 15,45"3 CHERRY PAYS 5" 1035 PRINT AT 16,43"2 PLUM PAYS 35* 1036 PRINT AT 17,43"3 PLUM PAYS 10" 1037 PRINT AT 18,43°2 ORANGE PAYS 5" 1C3S PRINT AT 19,4;"3 ORANGE PAYS 10" 1039 PRINT AT 1,135; "YOU NOW HAVE" 1046C RETURN

33

PROGRAMS

JOYSTICK

REM #% JOYSTICK DEMONSTRATION

bY Warren Fricke LET C=10: LET L= =-18

S= STICK LET FB= STICK (2,1)

3Q@ LET C=C+(C¢<31 AND (S=8 OR 5S =S OR 5=10))-(C>@ AND (S=4 OR S= 5 OR 35=6))

35 LET L=L+({L<¢21 AND (S=2 OR S =6 OR 5=10))}-{L>@ AND (S=1 OR S= 5S OR 3=9))

40 PRINT AT 108,14; “FIRE” AND

FE=%

4S PAUSE 5

S@ PRINT ATCLL,CC;" AND (LL< +L OR CC¢>C)

5S co TO 190

In this demo routine it is assumed that the joystick is plugged into the port on the player's left. Refer to Lines 20 and 25. RUN the routine. A "x" will appear at Row 10, Column 10. This asterisk can be moved in any one of eight directions by positioning the joystick. The action of the GOTO loop is fairly fast (hence Line 45), and the asterisk may re- peat the movement too quickly. If so, a deliberate stepping action can be intro- duced by a line like...

17 IF STICK (1,1) 0 THEN GOTO 17

Now we must jog the paddle for each step. We can't use PAUSE 0 to step the action as STICK can not release PAUSE like a key- stroke does.

In this demonstration routine the fire button will print the word FIRE near the center of the screen when pressed. You can erase the word by running the asterisk thru it.

The conventional joystick produces a diagonal motion if the paddle is so posi- tioned, but there is a drawback. The first step, before a diagonal one is taken, must be either vertical or horizontal. This is an inherent flaw in joystick design. To get a diagonal motion, two electrical con- tacts must be closed inside the joystick, and it is generally not possible to close them simultaneously. Hence, the motion starts off either horizontally or vert- ically, depending upon which switch closed first.

Warren Fricke

=m?

1/$ 1000/2068 « ° ALPHABETIZER e

by Earl Dunnington

r

This "“ALPHABETIZER" routine will work with all Timex computers. In- formation on converting the program for the 2068 is contained in the REM statements and uneven lines. To SAVE this program, use "GOTO 265".

1 REM = XS1,7T51000,15090,20685 "

ALPHABET IZER"-ByY EARL DUNNINGTON

2 REM EASIC COMMANDS PECULIAR

TO THE Z*81,TS1200@ AND 1500 PRO-

GRAM, HAVE UNEVEN LINE NUMBERS FOR EASE IN CONVERTING TO 2068

18 PRINT _"“ INPUT <NUMBER OF EN

“RIES>"," THEN PRESS ENTER” 15 FAST 22 INPUT A 39 CLS

42 PRINT " INPUT <MAXIMUM NUMB =R OF LET- TERS IN AN ENTRY?"," THEN PRESS ENTER"

S@ INPUT 6

CLS 78 DIM AS{A,B) 682 FOR I=1 TO A 90 PRINT "<TYPE AN ENTRY?>",,”" THEN PRESS ENTER” 189 INPUT AS(T)

+1 THEN STOP a" ZZ " THEN GOT 170 FOR Y=1 180 IF ag iv) As (Xx THEN LET x=¥ 1938 NEXT 222 NBRINT AS ix 205 REM FOR fae 2068 CHANGE THIS LINE TO READ: 285 POKE 235692,100 215 PRINT AT 21-INT (B732) ,8; AS

228 PAUSE 62 225 FOR ce TO INT (Bsa) 41

250 LET as (x) ="Z2 i

285 REM ra SAVE PROGRAM USE ; GOTO 265 > 295 REM FOR THE 2068: DELETE LINE iS CHANGE LINE 215 " READ: 215 PRINT AT 21,0;AR(X)} DELETE LINE 225 CHANGE LINE 235 TO READ: 235 LET S=USR 2361 BELETE LINE 245 CHANGE LINE 255 TO READ: 26S SAVE "“ALPHABETIZ" LINE 19 DELETE LINE 275

GE Ss eS es Se Se Se S34. = Se Eo

FOR THE TIMEX/SINCLAIR 2068

Entering and Recalling Tex

im Hac

ne Code

By Dennis Jurries

a i ae ic Simmer ante rere mrt neg ater

This subroutine will allow the user to enter up to 277 characters into machine code and recover them at will. The routine consists of four parts. The first part is the machine code loader program.

109 FOR x=5552i TO S5553

2Q@ READ z: PORE x.z

SQ HEAT x

40 DATA 62,0,205,46,15,225,708, Soe ,223, 33,182,215, 126, an 254,i1 ics “56. 250,16,248,126,35, 254, 126,28 @,215,24,248,281,205, 2a5, 215,1,2 Qi

RUN the above program then DELETE it. The second part consists of six lines that allow the text you input into machine code, to be re- covered.

1@ FOR x=1 To 28 POKE 555232, 32 RANDOMIZE ‘SR 55538 42 PRUSE 2

S28 WEXT

BS 3ToOP

sN

The third part of the routine allows the user to put text into machine code. Once the user puts the text in and tests it, then this part may be deleted.

19@ LET z=1: LET j=55224: LET a 44@ PRINT “Input text (limit 3 fharactere ae you ant toa prifi

text on the 24th Line only!. e &es enter we STi Finished mith ¢t ae a eat

{2a PRINT

138 GO SUB 3ua

152 IF LEN as+=S5S500-j THEN FRI fT eT, B: @; "Text too Long. Input text, TLS : LET jsji-LEN as: LE 5 aE So TO 110 36

| =3.. °F LEN as 170 PORE i, CODE atti) 15a IF j<555e2 AND isLEN a THE

N POKE Jj+i,i26 9@ IF j<S555@2 AND i=LEN a THE

NH LET js=ug¢+l

2BO8@ If j<¢55588 THEN LET syasti

21 NEXT i

B28 LET z=z¢i

230 GO SUE 402

e480 LET ==z-i

258 STOP

S@0 PRINT “TEXT B's 25°" see? “LEN a; characters remaining. Sig RETURN

492 PRINT

413 PRINT “More text? ftyrni”

¢20 PRUSE 8

430 IF INKEYS="y" OR INKEYS="7" THEN CLS : GO To 110

440 RETURN

The above is set up to print on the 24th line. Several different messages can be run if you add a line, 45 CLS. If you wish to print text from the top of the page, then POKE 55502,2. To change back to the 24th line, POKE 55502,0.

The following is the OP CODE for the machine code routine, that was entered in part one above. This is the fourth part of the subroutine.

soo@l LD AD S55@3 CALL 4656 55586 POP AL

55515 Cp if8 S5517 JR C,55513 55519 DUNZ 8,55515 55521 LD A, (HL) 55522 INC Hi SS523 CP 128 55525 RET Z 55525 RST _i6 S552/7 JR SS527 55529 RET

55539 CALL S5501 55532 81

S55 34 RET

a oO

save the machine code routine, type SAVE "mssg" CODE 55224,350.

: :

|

a

CREEN DISPLAY STORAGE ANC MEMORY RELOCATE

By Dennis Jurries

The following is a routine that will work on the TS 2068, and with address modifications, on the TS 1000. You can save screen displays, or use it to relocate a program in memory from one address to another. The program as it is written here, will allow three screen displays to be stored and recalled in approximately 0.04 seconds.

The screen display on the TS 2068 is located at address 16384 and takes up 6912 bytes of memory.

Machine code loader and MC

S CLEARF 44529

1@ FOR i=44514 TO 4462:

15 READ x: PORE i,x: NEXT :

28 DATA 33,8,54,17,86,174.-4,5 $3,86,174,17,0,64,1,08,2° ei? 176,201

RUN and DELETE 5,20

If you wish to allow space for more, the two 174's in line 20 will have to be.reduced by 27 for each extra screen display, and the addresses in lines 5 and 10 will have to be reduced by 6912 for each extra screen. Be sure to check to see if you have enough memory to add the extra screens.

LOAD in or design your first screen display. Type RAND (single key) USR 44610 and press ENTER to store the first screen. POKE 44615, 201 for the second screen display set up.

LOAD in or design your second screen display. Press RAND USR 44610

and ENTER to store the second screen.

To set up for the third screen dis- play, type POKE 44615,228.

37

LOAD in or design your third screen display. Press RAND USR 44610 and ENTER to store the third screen. The USR addresses will change by 6912 for each extra screen display over the three set up here.

To recover your screen displays: POKE 44620,174 for screen #1 POKE 44620,201 for screen #2 POKE 44620,228 for screen # 3

and press RAND USR 44618

For any extra screens, change address 44618 to 6912 less than 44618 for each extra screen, and the same for address 44620. The value of the number poked into address 44620 changes by 27 for each screen, and will also do so for any extra screen displays.

To save your screen displays, press SAVE "name" CODE 44610,2075 6. If more than three screen dis- plays are to be saved, then change the first number after the CODE to the new starting address, and add 6912 times the number of screens in excess of three to the second number.

OP-CODES for machine code

44610 LD HL,i1530¢ 44613 LD BDE,44630 $4616 JR 5

246158 LD HL,44630 -4521 LD DE,165a4 +4624 LD BE,69i2 44627 LDIR

44629 RET

COMPUTER PROJECT

MAKE A STATIC DISCHARGE BRACELET

The computer chip manufac- turing industry has spent millions in building specially designed facilities. They are 99.9% free from common static electricity, Which can destroy certain IC chips that are static sensitive, in an Such a facility might have equip- ment that removes static from the environment, specially treated floor and work services, and the employees wear certain garments and shoes. While an electronic hobbyist connot afford such state of the art apparatus in his own home workshop, the hazards of Static electricity discharge are every bit as real.

Zapped computer chips such as microprocessors and logic chips, ROM, EPROMs, CMOS and MOS chips are not much fun, and certainly quite costly to replace. Although seasoned experimenters may rarely come across many problems in this area, special handling procedures need to be observed. This usually entails one or more of the follow- ing:

1. Carefully open up the computer's case, and use minimal handling around the circuit board, chips, and other internal parts. Power should always be off.

2. Right before removing or installing a computer chip, dis- charge the static electricity that has built up in your body by touch- ing a grounded object (i.e. drain pipes, center screw of an electri- Cal: outlet, €ct..J«

5. Store all static sen- Sitive chips in the special anti- Static foam that they come packed in.

4. Take into consideration several situations that are more prone to static, such as low humid- ity (dry weather), lightning storms, body friction on synthetic materials

38

and electric forced fan heaters and clothes dryers.

With a good deal of interest in Spectrum ROM swapping with the Timex/Sinclair 2068, and EPROM packages, "do it yourself" computer servicing is on the rise. Most Spectrum ROM conversion kits come complete with precautionary instru- ctions to use in avoiding static electricity damage, however, this does not necessarily remove the risks.

There is a device that many professional computer service tech- nicians use to get around the prob- lem of static safely. It is called a "static discharge bracelet". The bracelet simply is a metal strip that is strapped around the wrist, with a long wire that is soldered to the band at one end, and attach- ed to gound by means of an alligator clip at the other end. The person wearing the bracelet is securely grounded, rendering any static dis- charge harmless. You can make your own bracelet at home for a few dol- lars. All of the parts are easily obtained.

1. Strip of foam-type weatherstripping, 3/4" to 1" wide, and long enough to wrap comfort- ably around your wrist with an extra inch to spare.

2. 3/4" wide strip of copper foil, approx. the same lenghth as the foam strip with- out the extra inch.

(The copper foil can

be found at hobby/craft stores or large plumbing shops.)

3. Two Velcro strips

4. 48" or longer piece of insulated electrical wire.

eR

RUBBER BOOT

5S. One 1/4 watt mega- ohm resistor.

6. One medium-size alli- gator clip with a rub- ber boot.

7. A piece of vynl elec- trical tape.

Peel off the paper backing of the foam weatherstrip and attach to the copper foil strip. Attach the Velcro strips to each end of the bracelet (either glue or sew a stitch), observe the illustration for proper placement. Punch a small hole thru the foam and copper strips and insert one end of the wire with 1/4" of insulation stripped from the end. Solder the wire to the cop- per foil, and cover with a small piece of electrical tape, so that the solder joint won't scratch a bare arm (it also acts aS a strain relief). On the other end of the wire, strip 1/4" of insulation and slip the boot of the alligator clip over the wire end. Solder the mega- ohm resistor to the wire, followed by soldering on the alligator clip itself. Slip the boot down over the clip, and inspect all the sol- der connections or places where there might be bare wire showing,

39

PUNCHED HOLE

VELCRO

and cover with more electrical tape if necessary.

When using your static dis- charge bracelet, strap it firmly to your wrist, with the copper foil contacting securely against your skin. Run the long piece of wire to a known ground and attach with the alligator clip. Now you can safely handle computer-related parts and chips as long as your bracelet is properly working for you. Wear your bracelet at all times when you are engaged in such activities...it could save you time and money in the long run.

Special Note: Use caution when cutting or handling the thin copper foil strip. The edges are extremely sharp and could cut you. Make sure all sharp edges of the foil are pointing away from your arm, or removed with a file.

ss en

A ete ean ee Ee aaah

a a silts. . seise rseitety = Srstize : pests fee-e.? < elite * +eletee ihe "tell hee « ire =

MAGAZINE

SS ES TD RS Se SN

BREAKING AND SAVING 2068 PROGRAMS

By Dennis Jurries

EASILY MAKE BACK UP COPIES OF EX- PENSIVE COMMERCIAL SOFTWARE TAPES WITH THIS METHOD BY DENNIS JURRIES. AT THE SAME TIME, LEARN HOW PRO- FESSIONAL PROGRAMMERS STRUCTURE THEIR MACHINE CODE PROGRAMS.

Most programs that you Can purchase for the TS 2068 when loaded start running, and if you try breaking into them, they dump, lock up the computer, or will not accept the break command. These programs usually consist of a least three programs in one. The first part consists of a simple loader that tells the computer to load the SCREEN$, and to load the machine code program, and may have some BASIC program that intermixes with the machine code program. The first part may be hidden when you break into it by having the BOARDER, PA- PER, and INK colors all the same. Change the paper color if this is so, and relist it. You may have to MERGE .a Line, such @s "1 STOP".

The MERGE command disengages the auto-start function and thus any command that would normally prevent you from breaking into the progran.

The following procedure works

in all cases.

MC -machine code program name.

BASIC -basic program name.

SCREEN -screen string program name.

1. LOAD the program until the screen

display is displayed, then BREAK and LIST. If the program dumps or locks up, then MERGE a line and LIST. This listing will give you the starting address of the machine code (found in the line RAND USR #), the name of the MC, and SCREEN$ programs.

LOAD the MC program (LOAD "MC" CODE).

PEEK the MC program looking for

the length. This can be done by

looking in the MC until you find a long group of Os (say 96).

SAVE "BASIC"LINE 1

SAVE "SCREEN"SCREEN$

SAVE "MC''CODE #1, #2 #1 is the starting address from RAND USR. #2 is the length of the MC routine, determined by subtracting the starting address from the ending address found when you peeked the MC and found the start of the Os, or by using the top of memory 65535 (ie. say start address from RAND USR 420 00: 65535-42000=23535 then SAVE "MC"CODE 42000, 23535).

After completing the above, and VERIFYING each step, ex- cept SCREEN$, press NEW and LOAD the program copy that you have just made, and try zt. out.

NOTE: You may want to delete any

of the statements that would not allow you to break the Original program, before you start saving the progran. Some of these commands are: ON ERR and POKE 23613, 87. DELETE them if you want to.

GOOD LUCK!!!

VAMP

tv to monitor kit

by Dennis Jurries Oregon City, Oregon

If you want to get rid of un-wanted lines, and improve your TV picture without paying over $200, then this conversion kit is for you.

I sent $39 to VAMP Inc., and 10 days later I received a package containing a circuit board, a package containing resistors, capacitors, and a few other parts, along with an eight page instruction manual with schematics. After a couple hours of assembling the PC board and mounting a TV/monitor switch, and the PC board...I was ready to make the circuit/TV con- nections.

Next, I went out and paid $8.50 for a Sams Photofact, for my model of TV (Sanyo). The in- struction manual tells where, and shows typical examples of where to make the connections.

I would still recommend that you either have experience with TV's or know someone who has, and will help you with this part of the project. I made three wrong connections before getting it right.

The final result is a color monitor/TV with a picture every bit as good as that of a ded- icated new monitor, for a total of approximately $48 and a few hours labor.

You can obtain the TV To Monitor Conversion Kit from: VAMP Inc., PO Box 411, Los Angeles, CA, 90028.

PSS SOS, SS SS EES SES, 4S SESSA SS SABA ALSE SALSA LSALAS SASS AARABA BSAA ASRS SSAA . -)

TASWORD TWO TIPS

by William D. Erickson and Paul T. Erickson Decatur, Georgia

1.

Many of us that use TASWORD TWO are bothered by one thing that spoils all the fun. This is the fact that once you have printed something on your 80 col. printer, you can not again print with your T/S 2040 Printer without going through a big hassel. Also, many of the command functions of the program also produce the same result and leave the user who only has the T/S 2040 Printer between a rock and a hard place.

To correct this problem, go to the main menu by using SYMBOL-SHIFT A, exit to BASIC by pressing b, then add this line to the BASIC portion of the program:

29 POKE 26703,0 POKE 26704,5

Now GOTO 25, and save this’ version of the program by pressing "t".

Now any time your T/S 2040 fails to print, all you have to do is use: SYMBOL-SHIFT A, then press "y" to return to your text and print to your hearts content. This in no way interferes with your 80 col. printer.

2.

LARGE PRINT USING TASWORD TWO and a T/S 2040 PRINTER

Set right margin to 32 columns. Set window to a 32 col. screen. Stay in this mode when you print your text. All other aspects re- main the same. Large print still works, just more so.

TS SY

_ os = _— ~ a

-~

book review by Dick Wagner

Minute Manual For The Dot Matrix Printer Author-Jim Pirisino Publisher- Minute Ware Eight Chapters/164 pages Price-$12.95

The author of MINUTE MANUAL FOR THE DOT MATRIX PRINTER covers the dot matrix printer principles in 118 pages of well written text. His intent is to provide the reader with some knowledge on the subject So a suitable printer can be _ purchased. Also, he provides a very good background for printer use. Printer features include: print quality, types of print, character sets as graphics and foreign, line spacing and form control. He also goes into print- ing speed and tests, IBM compatability, noise, and the ability to handle forms.

Very little technical information is given on interfacing. The author does cover the need for interfacing and brings out that this should be considered "part of the computer cost". Some computers come equipped with parallel and/or serial in- terfacing built in.

Chapters 5 and 6 are probably the meat of the book in that they cover’ the subject of printer codes, those mysterious numbers and symbols that make the printer recognize computer commands, are discussed in detail. Probably all of the commonly available 80 column printers use ESC as part of the code system. At least the printer manufacturers have agreed on this, if not on the number codes. ESC is gen- erated by a special key on the computer that changes the meaning of a character, so that the printer itself will recognize it as special.

Our 2068 computers do not have the ESC feature, so we are dependent on soft- ware to work it out. There are probably knowledgeable people who know how to inm- plant ESC into a 2068 program using LPRINT or COPY to do certain commands such as double-width, ect.

The author uses specific comparisons to show how various makes of printers, even different models, differ in such things as type shape, what they can and cannot do, and the problem of combining printers with computers that don't use the Same methods for LPRINT, ect.

The remaining 45 pages are used in covering in detail certain models of Ep- son, Gemini, NEC, Okidata, Apple and Pro- writer printers. Some comparison is made betwee certain models of the same make to Show differences. The book ends with a comparison chart that the reader can fill out for any printer being considered for purchase.

I was in need of "printer education", after purchasing an Olivetti printer and this book was a great help in deciphering the user manual. This book can help you select a printer and operate it. After all, printers are a specialty, and very little information has surfaced for a per- son to use in operating a printer.

RAQLQLLHALAN HANAN HAAARAONQAANHAAAgHononRAggND

A RUSSELL ELECTRONICS

ROMSWITCH ©

Most computer users, except for a select group of "do-it- yourselfers" and experimenters, would be horrified at the thought of opening up their computer and installing a small circuit board. Well the folks at Russell Electro- nics have almost totally eliminated the fears and risks involved in Such an operation, by offering a kit that requires no soldering, no drilling, and no technical exper- tise. The "Romswitch" is simply a tiny circuit board that is inserted into the socket of the TS 2068 ROM chip that has been removed carefully, then inserted into the empty socket on the Romswitch board. Also, on the board is the Spectrum ROM (type three), and a magnetic reed switch assembly. With the Romswitch in place, the TS 2068 user can utilize almost any software written for the 48k ZX Spectrum.

42

eee @e

ia Titties

Ce wace in KOREA

oe ee

Proper placement of the Romswitch board. Note: location is upper left of the cart- ridge port.

: F agecr * ~meser |

The stick-on magnet switch reads either Spectrum or TS 2068.

The beauty of the Romswitch is the capability of switching be- tween both the TS 2068 and Spectrum ROM operating systems, by sliding the large magnet "switch" assembly that is affixed to the TS 2068s case by means of a pressure sens- itive adhesive tape. This is where the Romswitch received its name. Once the blue magnetic slider is positioned properly next to the 0 key and directly above the previous- ly installed board, you are in bus- iness.

Russell Electronics has docu- mented each assembly step quite thoroughly in their instruction packet. Almost any question that one might have, has been answered. The completeness of their instruc- tions is a rare "plus", and a feat- ure that is rarely included in most kits that we have seen for TS re- lated products. There are very few

risks involved here. The biggest perhaps is static electricity dis- charge or a broken-off chip pin. Again we recommend following the excellent instructions provided, and use patience and common sense. This will more than gurantee a perfect installation. With our sample Romswitch kit, we installed it in less than fifteen minutes in our TS 2068.

When using the Romswitch, it is necessary to turn the power off when switching from the Timex to the Spectrum ROM (or vice versa), otherwise, the computer will crash. Although this requires an additional step, it really isn't a problen. You will know that you are in the Spectrum mode both because the switch will tell you, and as the computer initializes, only the Sin- clair copyright report will appear on the screen. Programming in BASIC is exactly the same in this mode, but some of the keyboard charac- ters have been changed.

We feel that the Russell Electronics Romswitch is a valu- able addition to the TS 2068, and extraordinarily easy to install. Although at first we thought that the price of $54.95 (includes post- age) was somewhat high, after obtaining some excellent Spectrum programs and using them on our Timex, we began to reconsider our first impressions. The Romswitch is a big improvement over direct replacement of a Spectrum ROM in a TS 2068, and so far to date, has run every program that we have loaded, and has never failed. We recommend the Romswitch without reservation. Good work Russell Electronics!

For more information: Russell Electronics, RD I; Box 539, Centre fall, PA; 16628

THE Z—LINK

Timex Bee wt | eee,

Simply put, the Z-Link In- terface Card is a "plug-on" de- vice that re-configures the peripheral I/O port connector pin-calls of the Timex/Sinclair 2068, to match that of the Sin- clair ZX Spectrum Microcomputer, and thus making the TS 2068 "HARDWARE COMPATIBLE" with Spec- trum peripherals.

The Z-Link makes available to the peripheral, all required address and data lines, as well as "hand-shaking" and "house- keeping" control lines required by the 2-80 CPU. The Z-Link also supplies the two additional supply voltages (+12v and +9v), via two type LM-78 series 3 terminal regulators.

The regulators are filtered with temperature-stable tantallum capacitors to guard against noise and "self-oscillation" (an in- herent problem that is "overlooked" by many commercial designers), until the system is switched-on. As with all digital systems, the secret to successful circuit op- eration is good connections, a common ground return, liberal distribution of by-pass capacitors,

and a "quiet" power supply!

That aéeines the Z-Link Interface Card. NOW, you are wondering what it's uses are. I could say that it will "RUN ANY- THING" (but that would be both un-fair and inaccurate in my book). I will however describe the systems and peripherals that I HAVE and DO USE...AND USE EVERY DAY!

But first, I want to say something about "EMULATORS", and clear the air about these devices. Without getting too deep into the subject itself (it would take the entire magazine), it is here that I will say that YOU NEED ONE to use Z-Link...but which one?

There are two basic "types", the first is known as "The Spec- 44

INTERFACE ......a synopsis

by Dave Clifford

trum Emulator" or EMU-1, brought to life by Doug Dewey (The Tri- angle T/S Users Group), and con- sists of a 128k EPROM that is mounted on a p.c. card that is fitted into the TS 2068's Command Cartridge Port. The second is known by the trade name: "The ROM- SWITCH" (editor note-see review

in Jan/Feb 85 issue of T.D.M.). This one consists of an actual Spectrum ROM, mounted on a p.c. card with a second socket for placing the TS 2068's “home ROM", then the entire assembly is fitted inside the 2068 (plugged into the "home ROM" socket).

The DIFFERENCE between the two is the ROMSWITCH is manually switched-in, and becomes the 2068's sole “operating system"...some control keys and built-in hardware become "transparent", because the Spectrum ROM does not contain the "instructions" for their support (i.e. SOUND, FREE, STICK, and the cartridge port).

The type EMU-1 and EMU-2 however "sits" in the cartridge port and is "BOOTED" into play by the 2068's home-ROM. But what really makes the difference is that the 2068's "SHADOW-ROM" is brought on-line as well. It is this SHADOW-ROM that contains the in- structions, that enables the TS 2068 to “commucicate" with the "smart" peripherals like the In- terface-1 and Microdrives, or the Rotronics Wafadrives, with the "help" of the EMU-1 acting as an "interpreter"...and thus "EMULATES a Spectrum".

And now the peripherals!!!

With space being at a premium, I will discuss the operation of two of the "most popular" systems that seem to have the majority of users "baffled", the ZX-Microdrives and the Rotronics Wafadrives.

I have had the Sinclair ZX Interface-1 and two ZX Microdrives

“s

THE OMNI-EMU

by Tim Woods

ON-LINE since October '84, and

have used the system extensively.

I do all of my word processing with Tasword-II installed on Microdrive Cartridges, and have just installed Masterfile...(FANTASTIC!). But the drives themselves are only PART of the system. The Sinclair Interface- 1 also has an RS-232 interface, as well as a unique L.A.N. (Local Area Network) for "networking" up to

64 Spectrums (or 2068's), that are also fitted with the Interface-1. (There are five users here, in the South Bay TS User's Group that are presently running the Interface-1 and Microdrives, and sometime when we can all get together, I would like to try a game of HUNTER-KILLER on the L.A.N.)

The second system that I have just received from the United King- dom, is the Wafadrives. This is a "twin" drive system custom manu- factured by BSR (the well-known audio people) for a company called

The OMNI-EMU is the very lat-

ROTRONICS. I have had this system est version of Spectrum Emulator on-line for the past two weeks and or "Chameleon" designed by Doug it is a VERY user-friendly sytem. Dewey (Triangle Sinclair Users When brought "on-line" it sports Group). It is sold through Doug's it's own operating system, and has company "Enter Lengua", and now commands VERY similar to CP/M. In by several different Timex/Sinclair fact, Rotronics refers to the op- vendors. The OMNI-EMU replaces erating system as "W.0.S." (as the previous EMU-1 (the EMU-2 is opposed to CP/M's DOS). On top of still available). What is the having two 128k drives, the Ro- difference? First of all a 27128 tronics Wafadrive also has an RS- Hitachi EPROM, that is presently 232 AND a Centronics Interface the only means of operating the BUILT-IN!!!.I even use the West- Sinclair Microdrives and the Ro- ridge 2050 Modem with the Wafa- tronic's Wafadrive is a new feature. drives! (Yes, the 2050 Modem is The Emulator board itself has been plug-compatible with the Sinclair designed to be very versatile...a Spectrum. Even MTERM II runs on the DIPswitch (mounted on the board) Spectrum. However, when you go back can access the four I6K blocks of to BASIC, you will crash. This is memory for specific application due to MTERM's call for BASIC. purposes. The supplied EPROM can Machine Code hackers...get out your be swapped with other LROS (language "HOT-Z" or "DISA-Z" and go to work!) ROM Oriented Software), the board The above systems are operated can act as a cartridge (AROS) with the Z-Link Interface and the or a ROM board. Some jumpers may EMU-1 (or EMU-2), as supplied by be required depending upon the Doug Dewey. particular use. Actually the WHAT'S NEXT??? I am WAITING documentation for these advanced for one of two interfaces from the applications of the OMNI board are U.K., that support STANDARD 5% still currently being written. floppies. Gaze through a copy of The OMNI-EMU as supplied, will ZX COMPUTING sometime and let your allow the T/S 2068 user to run ; s P se i ; ; "almost" every piece of software imagination "FLY - (The prices will available for the English 48K ZX amaze you too!) I just wish that Spectrum. It had been originally Mother England had and equivalent thought that the "chameleon" device = BEreos Blue Label... (at re Same would not run as many titles as a time, I'm glad she does not!) direct issue 3 Spectrum ROM replace- The Z-Link is priced at $49.95 ment of the 2068's "home ROM". and is available from: TEJ COMPUTER This however, is not really true. PRODUCTS, 859 North Virgil Ave., In fact some software said to be Los Angeles, CA, 90029. un-loadable will run on the emulator.

There are still a couple titles that won't load or run, like "Chequered Flag (PSION), Toolkit (Hi Soft), Valhalla, and few others. The Reason? "Interrupt-driven" programming techniques appear to be the culprit, and the common source of problems

here. 45 P

The OMNI-EMU, like it's predecessor the EMU-1, slips into the Command Cartridge port on the TS 2068. Our sample fit very se- curely with no insertion problems. The door to the cartridge port is able to close, with the Emulator tucked safely inside. At a first glance the OMNI appears to be a very quality board...compact, gold plated edge-connector fingers and plated through holes. I under- Stand that each new Emulator is thouroughly tested before it is shipped. Plus there is a two year warranty! The only problem that we forsee, is possible mis- handling by the user. Be extremely careful when handling the bare board, that the foil traces and semi-conductors aren't touched (static discharge). Always make sure the power is off when you insert the board, and also when it is removed...when you want to return your 2068 back to its nor- mal operating mode.

We put our OMNI-EMU through the paces, by test-loading 12 of our Spectrum programs. All 12 were a successful load! Absolutely no problems. When the OMNI is first switched on, it is inter- esting to point out that the 2068 first switches to it's normal mode for an instant, then checks to see what is in the cartridge port... when the Spectrum mode is initiated (Sinclair copyright notice alone).

We strongly feel that the OMNI-EMU is a good way to go for Spectrum conversion. First of all, the user will not have to tamper with their computer (as is the case with "Romswitch" or direct Sinclair ROM replacement). Secondly, this is the only method of "booting" Sinclair Microdrives or Rotronics Wafadrives. Then coupled with the new price of $50.00, it is an excellent choice that should be considered.

ae

Sorate aero

To make the skeleton move right one step, the following FORTH definition is used:

: STEP 1 COL +! 2 SPN ! PUTBLS 1

SPN ! PUTBLS ;

In English: Sprite 1 is on the screen and Sprite 2 is placed on the screen 1 column to the left and over Sprite 1. Sprite 2 is then placed on the screen directly over Sprite l. 46

at

SPECTRUM SOFTWARE

WHITE LIGHTNING

by Michael Carver

"White Lightning is a high level graphics development system for the Spectrum 48k." (This program can be used with the TS 2068, with Russell's ROMSWITCH or other Spectrum ROM add- ons.)

You want to create some exciting arcade game, but have realized the limitations of speed in BASIC, or have encountered the need for a mastery of machine code you know is still months away. Maybe you have a short movie running through your head that you would like to produce. Then White Lightning is for you.

White lightning comes in a library case with two cassettes (4 seperate programs), one manual (131 pages, and a “cheat sheet" which con- tains a sample Lunar Lander game, and useful subroutines. Two of the programs are demonstrations of the - possibilities using White Lightning.

One is about 20 minutes of 16 differ-

ent animated programs. The other dis-

plays 167 arcade sprites included

with the software; (i.e. Asteroids, 7 Pac-Man, Defender, Frogger, Donkey

Kong, and many more). The other

cassette contains the Sprite De-

velopment Package and White Lightning ol proper.

SPRITE DEVELOPMENT PACKAGE

A sprite is a defined picture or graphic element which is stored - in memory to be called up and put onto the screen when needed. The sprite is placed whole on the screen, not plotted or drawn. Some computers limit the size or amount of sprites that can be developed. The Commodore 64 allows only eight sprites per pro- gram. The TI/99 allows 32 sprites, but they can only be 8 pixels by 8. With White Lightning, one can have 255 sprites of any size (within

memory limitations). They can even be larger than the screen. Sprites are generated using the Sprite Development Package (SDP) by defining each 8x8 pixels grid to be incorporated into the sprite. One plots out each pixel to be set, paper and ink colors and other attri- bute assignments (see fig. 1). These grids are then pieced together like tile on the larger screen to the right, making up the sprite. The completed sprite is then given a number and stored in memory. Within the SDP, the largest sprite possible is 15x15 characters, but these can be joined ) later in White Lightning to create large sprites.

SPD allows one to rotate a sprite 90 degrees, invert the colors, mirror the sprite, even put a sprite inside another sprite. Also included is an arcade sprite library (the 167 sprites shown in the demo tape). After the sprites have been defined, they are stored on tape to be loaded into White Lightning for manipulation.

WHITE LIGHTNING

BASIC is limited in flexibility and speed. Machine Code is fast and compact, yet it is difficult to learn and master. Development of Machine Code programs is tedious and is easy to crash. Also a working knowledge of the computer's mechanics is re- quired. Enter White Lightning!

White Lightning (WL) incorporates a standard Fig-Forth language and has speed very close to Machine Code. Forth is a simple high level language that is fast and expandable. Forth is an easy language to learn. If you already know BASIC, you will pick up Forth quickly and within a few hours should be able to write simple programs.

One of the useful features of Forth is that it grows as one programs. If a routine or manipulation is needed but does not exist, you take parts of Forth and create a new com- mand or routine, which then becomes part of Forth. In this manner, Forth expands to meet your computing needs. Forth code is easier to read, edit, and is harder to crash than Machine Code.

Added onto the Forth language in WL, is IDEAL (Interrupt Driven Extendable Animation Language), with over 100 words or commands. This is the heart and the beauty of WL. One can actually have two programs run- ning at the same time using IDEAL. WL also includes access to many of the Spectrum commands via Forth (i.e. COPY, AT, BORDER, DRAW, CIRCLE, SCREENS, POINT, TAB, ect.). It is also possible to access the joystick ports, and the sound generator chip on the TS 2068 through the use of IN and OUT, and the BEEP command via BLEEP.

Complete control of sprites and game or animation programs is pro- vided with WL. Sprites can be en- larged, scrolled pixel by pixel (with or without wrap...vertically or hor- izontally). Collision between sprites can be detected for use in games.

One sprite can be printed behind or

in front of another, or combined to make a new sprite. Windows can be de- fined on the screen or inside sprites, giving greater control over the be- havior of the sprites. An example in one of their demonstrations, is of a television sprite with various dif- ferent sprites animated inside it. Using WL, one can freely mix BASIC, Machine Code and White Lightning, passing control easily from one pro- gram to the other. (See example 1 for a simple program to animate two sprites.)

47

TT Tbe

Liptib os

or ~

ef TT Te

[tJ

Hi me TI 3g

TI aot ie)

ins

1

7 ! A ra p> tit Vii et iit Ww Th

S si ets =

a ee at

ah = a: Ware

SHTG me

Ri. ii = = *.

‘a

TUCO Ty rp ERA Ea eS

Bia) EJ nasi = [RC 8 OfSS = bie) DANDs o DC DANCES # Rigi (Xoo; # RUM #50fss 0

nity

Tue

rts tl j fi tv

Miche cy

8%

AT a en Seach

of PG ye,

mf

hen

——

#3 BS Sin

re

' Mine aes weve ri titt It ed bef sal sf ayer pa

oT

Upon first reading the manual, I was overwhelmed by all of the new languages and commands needed to use this package. After a quick look through the manual, I sat down at the computer with the manual and found the

task far less intimaidating than first thought. Each part of the manual is filled with step by step examples to be tried out on the computer. This approach is to be applauded, as it makes learning the ropes less of a challenge, and more of a discovery and adventure. The Forth language's major commands are shown by example, but for a better understanding of the language, there are many excellent tutorials available and these are listed in the manual. I have two minor complaints about the manual. First, there is no index, though the table of contents is helpful. It is sometimes hard to read the manual without excellent lighting as the print is small, and printed black on a dark green background to prevent photocopies and piracy.

White Lightning is certainly a good buy. Not only does one get the sprite generator program and the ability to animate sprites and design arcade games, but there is also the Forth language, which can be used on its own. If you create a masterpiece, you can sell your program without ob- taining special permission, or paying for royalty rights. Oasis Software, the company that publishes WL, is offering to market the “very best”.

You can obtain White Lightning from Software Supermarket for @ 14.95 plus €1.50 shipping and handling. Their address is 87 Howard's Lane, London, SW15 6NU, England. Or you may call their 24 hour answering service at 001-789-8546. They accept VISA or MASTER- CARD. They usually ship within one to two weeks. If any of your friends own Commodore 64's...White Lightning is also available for £19.95 cassette, or £29.95 disk. With the pound down to all time low, now is a good time to order from Britain.

_———SSS—_ ee =

LUEOR THE MOONPRINCE He stanoas in the

Mountains oF Dograk

tookince Northeast

From the fantasy worlds of Tolkien and C.S. Lewis, comes a similar "epic" adventure in the form of a Spectrum game program called ''The Lords Of Midnight". The story background is typical...the struggles between good and evil. In this case, Luxor the Moonprince and his son Morkin battle the realm of Doomdark and the ice-fear. There are actually two sep- erate ways to play the game.

The most fascinating aspect of ''The Lords Of Midnight", is the elaborate graphics system. There are 32,000 scenes in all! The players ability to spot cer- tain landmarks on the horizon, will help in deciding the outcome. The graphics are very nicely done. With horses, wolves, armies, and an intricately detailed land- scape...the programmers deserve a good deal of praise. Most of the scenes have small parts of other scenes to construct what is on the screen. By operating the keyboard, you actually "move" forward through the "Land Of Midnight", and the scenery in the distance appears to get closer (any number of directions can be chosen).

Another nice attraction of this pro- gram is the packaging. It is supplied with a "library-style" case, a very compre- hensive 29 page manual, and a plastic key- board overlay. I thought I would take this time, to point out to you novice Spectrum fans, that all keyboard over- lays designed for the ZX Spectrum, also fit the Timex/Sinclair 2068 perfectly.

48

THE LORDS OF MIDNIGHT

by Tim Woods

Getting back to the users manual, it is very explanatory and detailed (actually it is more like a small paperback book), and even includes a background story with five chapters called the "Midnight Chron- icles",

Some other features worthy of men- tion include: the facilities to SAVE a game in progress to tape, and each gra- phics scene can be sent to the printer (including the 2040), to give you a run- ning account of your quest.

"The Lords Of Midnight" is a very playable game, and even somewhat habit forming. It is slightly different than an ''all-text" adventure game. In fact the text itself is very sparse. No standard adventure commands or jargon is needed, since most of the games control commands are one-button funtions (featured in a few on-screen menus) on the keyboard.

If you do not have a copy of this game program, and it sounds in the least bit interesting to you...I would suggest that

you go out and obtain one. ''The Lords Of Midnight" is hard to beat by any stan- dard.

It also might be interesting to point out that this adventure game is actually part of a trilogy. Part two of the trilogy is already out on the market, and it is called '"Doomdark's Revenge", and is reported to have 48,000 entirely new scenes. Later this year, part three which is entitled "Eye Of The Moon", will be released.

Our copy of "The Lords Of Midnight" was obtained from: E. McGhee, Suite 150, 10127-121 Street, Edmonton, Alberta, Canada,, TSN 3X1.

KKK KKK KKK ERK KE KKK RRR RE REE E KEKE REREERE

Special Offer For Readers Of Time Designs Magazine: E. McGhee is offering ''The Lords Of Midnight" at a special price

of $23.50 for you. The price includes shipping and handling. Also, an issue 3 Spectrum ROM chip (plus chip puller tool and detailed instructions for the TS 2068 are included) for $19.50. Send check or

MO, in U.S. dollars to address above. KECK RKRRKKKAREKREEKREKRRERREEKRRREEEERS

BRAXX BLUFF

by Tom Judd

Do you like an arcade game that is both very easy to play, and extremely challenging? Then I have the program for you...it is called "Braxx Bluff". That is kind of a strange name for a game, it is called that because you have to rescue some stranded space travelers from a place on the planet Prolon called "Braxx Bluff".

Like I said earlier, this game is easy to play. It uses only the cursor arrow buttons, and the "0'"' for the FIRE button. It would be nice to have a joystick to play, and there are provisions for a British joystick interface, but unfortunately, I do not own one.

Even though the controls are simple (this is refreshing compared to other games that require you to press a lot of buttons at once, and remember a bunch of details), the game provides you with continuous enter- tainment...with variety. This is a multi- screen 3D rescue game.

The first part, is a very neat landing sequence, when you approach the planet in your spaceship. The graphics here are fan- tastic! This is a tricky part, but once mastered, you will be on the planets surface (on foot) in search of the survivors and the wreckage of their ship.

To help you with your search, you will also need to find a "land-crawler" vehicle and later a "sea-crawler". At the same time, you need to be on the look-out for the space "beasties" that can kill you, if you don't shoot them with your laser gun.

Well, I haven't made it very far, but that is what keeps me going. You can SAVE your present position on tape, for play at some other time. If you blow it, you have to start all over from the beginning.

"Braxx Bluff" was a pleasant suprise to play. Very good graphics, excellent sound effects, and an extremely addictive game.

(I obtained my copy from Software Super- market, England.)

SPECTRUM SOFTWARE

reviewed by Michael E. Carver

WELCOME TO THE MACHINE!

DEUS EX MACHINA (Latin) noun, (1) Power, event that happens at the right moment to solve difficulty. (2) A god, in- troduced into a play to resolve the plot.

When I first saw the ad for the Spec- trum program "Deus Ex Machina", my in- terest was piqued. They offered a ‘“tele- vised fantasy" which was syncronized to a stereo soundtrack, starring yourself, plus Ian Dury, Jon Pertwee, Mel Croucher, Donna Bailey and Frankie Howerd.

For those of you who are not Anglo- philes, Jon Pertwee was one of the various Dr. Who's in Britain's long-running sci-fi television series of the same name. Ian Dury is a long-standing rock musician with a "bent" sense of humor. Frankie Howerd is a comedian who has worked in film with Peter Sellers, and in television.

Let me assure you, it did indeed live up to my expectations! The animation is detailed and smooth. The soundtrack stands on its own as a work of art. Machina is a novel and refreshing approach in computer programming. Not only is the concept of a soundtrack with storyline new, but the ideas embodied in the game itself are of a different nature than the usual shoot-em- up games. You are asked to touch, caress and nurture a new life into existence,

ARABARRBRRAAEBEBEEAEEEAAAAAA AAAARAAAAAAAEDEOOeD

guiding it through the seven ages of de- velopment, from conception through old age.

49

The year is 1994 and the Central Com- puterized Data Bank which holds all the Police and State Security records of the United Kingdom becomes all powerful. Then -.. Tuesday evening, after tea and com- pulsory prayers, the machine rebelled...” You, the player, are invited to control the machine's development of a new life while helping it avoid the dreaded Defect Police. The instructions are rather cryp- tic, but then so are the lessons we re- ceive during life. It will take many plays just to learn exactly what must be done and many more to achieve any great exper- tise.

It would appear that this program was developed using FORTH and an animation package similar to “White Lightning" (see T.D.M. issue #3). The soundtrack is a pro- fessionaly produced “opera”. Just listen- ing to it is reminiscent of the power and novelty of the musical "hair" or of Pink Floyd's, the "Wall", and of National Pub- lic Radio's broadcast of the "Hitchhiker's Guide To The Galaxy."

Deus Ex Machina is not a child's conm- puter game, but a mature science-fiction fantasy-morality play-interactive adven- ture. The program is controlled by the keyboard (4 keys--up, down, left, right), or by Kempston or Interface 2 joysticks. The program was written by Andrew Staff and Mel Croucher and published by Auto- mata. My thanks to all of those who worked to make this program a reality. I hope to see more great ones in the future. I hes- itate to say more, and thus destroy the sense of discovery or even ruin the plot.

Machina comes in a book-sized storage case with two cassettes (one for the com- puter and one for the soundtrack), a post- er and a complete script. The program was obtained from Speedysoft (formerly Soft- ware Supermarket) 87 Howard's Lane, London England, SW15 6NU for £15.00 plus £1.50 for postage. They also have a 24-hour

telephone order number: 01-789-8546.

eee. &

PMIKRO-GEN

~

yt anh, 4 % | = aca

: rf9 i, |

; f .

io "ihe

a © ee”) < : Ves

he . is S ey

_ Siig eis? }

; od ren (fy

| PYJAMARAME

ASLEEP AT THE WHEEL

Your name is Wally Week, you are asleep, and you are having a nightmare! This is no normal nightmare. If you cannot find your alarm clock and wind it up you will not wake up and will be late for your work. If you are late, you lose your job. Welcome to "Pyjamarama", an arcade game for the Spectrum from Mikro-Gen.

This is an excellent and cute game. Wally's alter ego must persevere through this nightmare and find some way to wake the real Wally up. (Note: Wally is Cockney Slang for a cucumber cured in brine--a “pickle-brain".) In order to wake Wally up, a series of tasks must be performed and in a dream this may be no easy chore. You control the character via the keyboard (you can define your own keys--only 3 are needed; left, right, jump) or with the Kempston or Interface 2 joysticks. You must explore the numerous rooms of Wally's nightmare house and collect objects to help you obtain your goal. In the process of collecting these objects, you must dodge devouring roasted chickens, ghosts, flying axes, grasping hands and many more surreal foes. Wally can only carry two objects at a time. Sometimes one or _ two items are needed to pick up a certain ob- ject. you have three lives, but as you progress through the house you lose snooze

energy or some of the nightmare goblins will snatch it away from you. No_ snooze energy and your life is gone. Keep your

eyes open for midnight snacks to your energy back up.

This is a very amusing graphic arcade game. The character is easy to control and there are large colorful graphics. Each room is richly drawn with chairs, boxes, barrels, and tables to climb on. The an- imation is smooth and quick. The only com- plaint I have about the graphics is that some have color attributes which "bleed" onto the background, but then this is a dream! Strange things happen to Wally, like entering a video arcade game of in- vaders. Wally becomes a part of the game and must fight the invaders (houseplants, roasted chickens, ect.) which drop bottles and telephones and other household appli- ances onto him while he fights back with shooting forks.

bring

You may find logic a drawback while trying to figure out parts of this game, remember this is a dream. It will take you many plays just discovering the various rooms and the means to enter them. Many more will be spent finding the order in which to obtain numerous objects. Even after you have figured out the pattern of the game and have woken Wally up, you can still play with the added challenge of trying to win with the least amount of steps.

If you like your arcade games with a good laugh, Pyjamarama is for you. The cassette comes packaged in a regular case with full instructions and even a little story. My copy was obtained from Speedy- soft for the ridiculous price of £6.95 plus £1.50 for s & h.

THROUGH THE MAGNIFYING GLASS

You have inserted the cassete into your player and the computer has dutifully loaded the program. You now find yourself in Victorian England, sharing a flat with a doctor, overlooking Baker Street. Yes, you deduced it, you are the famous de- tective, Sherlock Holmes. This is the set- ting of the new Spectrum adventure program from Philip Mitchell and Melbourne House, the people who gave the computer world "The Hobbit".

Again we have a text adventure with graphics, featuring “Animication" of char- acters, “Animtalk" and "“Inglish". What does all that mean? Well, Animication is the independent actions and movements of all the characters in the adventure. They will follow courses of action based on their personality and the situation they find themselves in. Animtalk is the abil- ity for you to speak to any character in the adventure, asking them questions or telling them to do a particular task and for them to talk back. You will find that at times, the characters do not cooperate, due to Animication. Inglish is the easy way in which you communicate with the computer and the adventure (i.e. "Open the ornate door and go through the door.") Also included, is a “real-time” feature. Time passes as Sherlock examines items, questions witnesses, or rides on the rail-

| TEED

car. This is a very rare element of test adventures and an added challenge. You can also save your progress to tape and re- load it back into the computer. This will allow different approaches to be tried and prevents having to start over if you allow Sherlock to be killed.

As Sherlock Holmes, you find yourself confronted with a mystery as yet not chro- nicled by Watson. (Note: you can use your printer as a chronicler of your adventure by using a print feature which will print out all actions and graphics if you so de- sire, see example.) This is a mystery which has completely baffled the local police and you can bet that Inspector Lestrade will make the wrong conclusions. You must hunt down the clues, make your brilliant deductions and find the real criminal. The computer has a vocabulary of over 800 words and can carry out over 53 different actions. Sr a a

a | A.

eo =,

ee ee ee

nh ch, ye m1

ota a nt a

+ hs

me ot tee ame bee oa se

ae rn ie ”y a

Gade fade eb pode ee TL

1) Be wip pes pee gab

? rete ts if iT ta Ck ate bee 9

= 2 8

ES » 3.SS bap BB) aoe 173 9

ee

=

om v4 =

7th trope

ut

remo ce 2 i Lu =?

hit

rT ae 1th hi

aoe

fi) tes

I have found this adventure very challenging and well worth the purchase price. I have spent many hours, which have turned into days, which have turned into weeks...and I have yet to solve the final mystery. Sometimes the deductions come easy, but obtaining evidence can be quite the task. I have a few qualms with the program. I have found no means of using all of the vocabulary listed in the accom- panying manual and a few glitches have shown themselves, none with major conse- quences. The most annoying is an "out of memory" report from the adventure itself. One must then reload a saved portion of the game in order to continue. Still, I must highly recommend this program to any mystery and/or adventure lovers in the audience. After all, a program of this size and scope is bound to have a few bugs in it.

Sherlock comes in a small book-sized box, with an instruction manual, and a train schedule. Available from Speedysoft for £14.95 plus £1.50 for postage.

a ee ee %

There is a cassette tape available featuring ten top hit game programs’ from England, for the Spectrum computer. All proceeds from the sale of the software go to the BAND-AID TRUST FUND to aid starving Ethiopians. The Band-Aid project was first implemented when British Pop Music Stars recorded and donated a Christmas song for

reviewed by Tim Woods

I obtained this program because it sounded like a good “warm-up” for a cer- tain interest (or "habit" as some may like to call it) that I have in the Fall. You may have guessed by now, that it is Pro Football, but I will not bore you with de- tails about my favorite team (except that they are from the northwest, wear blue jerseys, and made it to the play-offs last year!).

AMERICAN FOOTBALL is a Spectrum pro- gram on cassette that is published by the Argus Press Software Group (ZX Computing). What makes this program sort of unique, is that the British are just now starting to appreciate our brand of "football". They even have organized minor league teams’ to root for. I remember watching a TV news interview with some English youth that were playing the game of football (non- soccer version) in a neighborhood lot. The broadcaster asked, "How do you like the game?" One very muddy-appearing young man

AMERICAN FOOTBALL

52

the effort. The “greatest hits" tape is called SOFTAID, and contains the following games: Spellbound (Beyond), Starbike (The Edge), Kokotoni Wilf (Elite), The Pyramid (Fantasy), Horace Goes Ski-ing (Melbourne House/Psion), Gilligan's Gold (Ocean), Ant Attack (Quicksilva), 3D Tank Duel (Real-

Time), Sorcery (Virgin), and Jack and the Beanstalk (Thor). On the “flip” side of the tape is the recorded version of the

song "Do They Know It's Christmas?"

Rod Cousens of Quicksilva organised the software relief project, and hopes that it will raise some £200,000 for the Ethiopians. Here in the U.S. the SOFTAID Spectrum tape is available from Susan Ziegler, Software Services, 14307 BenBrush, San Antonio, TX 78248, for a mere $6.25 plus $2.00 for first class p & h. Bob Dyl of the English Micro Connection, 15 kil- burn Ct., Newport, RI 02840 will also have substantial supplies of SOFTAID shortly. The British software producers have been very generous in their efforts. The tape is very reasonably priced, and everyone should obtain their own copy...pirated versions won't help dying people one bit. Note: There is also a version for the Com- modore 64,

spoke up, “We love it...but we don't un- derstand it!" Indeed, the program American Football comes with a 16 page guide en- titled "A Guide To Understanding American Football". The wording is sometimes a bit odd.

The game of American Football itself, is similar to a program that used to be on the Timex label for the T/S 1000 called "Strategy Football". This version is much more sophisticated. To "play", you must choose from a menu what offensive or de- fensive move you would like to make. The key to winning, is to try and "“outguess” what play your opponent will try and go for. Your opponent can either be a_ friend or the computer itself.

The action on the screen is simulated

by tiny pixel-ated players. One of the problems with this game, is that the op- posing teams don't “huddle" facing each other, but rather on the sides of the field.

A lot of work has gone into making

this game authentic. It is played from the view of a team coach (or like one of those

guys that sit up in the box seats with headphones on). With a set number of plays to choose, the game becomes’ predictable

after awhile. I think that I would opt for a type of computer football game that is in 3-D like the "MATCH POINT" soccer game.

Over-all, AMERICAN FOOTBALL is an in- dis- at

teresting package with nice screen plays and a lot of little extras...and a good price too!

AERCO FD-68 DISC DRIVE SYSTEM FOR THE 2068 PART 1

reviewed by Dennis Jurries

A week ago, I had the honor of receiv- ing number 20 of 20 pre-released models of = the FD-68 Dise Drive System for the Timex/ Sinclair 2068 from Aerco, for review. After a bad experience with trying to obtain the Millennia K Disk Drive Interface from Ramex In cream colored steel case. (see accompanying article), I was leary of looking at an incomplete disc operating system (DOS), but I was pleasantly suprised. (Editor's Note: Aerco will be releasing up- dates for the interface board as improve- ments are made. Simply replacing the sock- eted EPROM is all it takes. Aerco will pro- vide the updates free. In fact, right after our review unit was shipped, we received the first EPROM update. Eventually, the FD-68 will contain all of the extensions, and a proposed Spectrum mode.) The main commands to operate the system are:

Aerco sIngle 2/3 ht. floppy drive

ti tt OL a to format disc MOVE’ Dee g & ade to save to disc | = Fully populated Interface board was designed CAT "n.X", ..0e. to load using Apple's MacPalnt. Note: DOS EPROM is ERASE "n.X", .... to erase program shown In upper hight-hand corner . from disc SACD: 2 a nero wie eich. dik to call disc -BUT - boot program to be executed at catalog menu start up m™ n= name of program (1 to 10) -CHR - character array x = extension as follows: -DAT - numeric array . SREY “<eOESER ES BOGE: PANN -LRO - LROS runs in dock bank starting -BAS - basic program at 0 -BIN - binary data (machine code program) -SCR - screen is a copy of the video

53 display

Examples: CAT “tasword.BAS", MOVE "zeus.BAS",10 MOVE “zeus.BIN",#,#

# = start and length of MC

The system comes with an interface that is 4 inches tall by 6 inches long with through edge connector for other add- ons. There is also a boot disc and a 2/3 height Remex drive in a case (6 5/8" X 7"W 10"L), with a power supply on the end, extending the lenghth to 13 inches. It appears that there is room in the case for two additional drives, although the power supply and ribbon connector are set up for two maximum.

I also set up my Tandon 100-2A disc drive following Aerco's instructions in Heavy duty 5 amp power supply their literature. A jumper wire had to be Is mounted behInd drive case. installed from the + 5v power supply to pin 2 of the disc drive's edge connector, and a jumper from + l2v to pin 34 of the

same edge connector. The following is a comparison of the REPAIR DATA

features between two disc drive interfaces available for the T/S 2068: If your disk drive is exhibiting LOAD/ RAMEX AERCO SAVE problems, there may be _ two possible solutions. 1. If you can transfer a program onto a disk programmed on your drive, but cannot a program from another unit (like a commercial disk), the head is out of align- ment. You will need to have aé_ technician repair it. 2. If you can neither SAVE/LOAD programs from your unit, the problem may be in the head load button pad. This pad gets dirty and/or worn, and can cause problems. It can be removed and replaced easily by the user. Replacement button pads can be POSWOEG TE sci6iss Kas Siecie ecors 5.7 sec. found at part houses. Zeus Assembler ...... een Deo BGC A 37.6k BASIC program I wrote that loads from cassette tape in 3 min. G14 SOQCOs cowaews os Sieiais%e & (400/ SOC;

On a double-density, double-sided disc, you have 400k of memory storage. I believe that with the 64k additional RAM in 8k bank switching, the RGB output port, and the DOS on ROM, make this system the best buy for your money. In the next issue of TIME DESIGNS, I will give further in- formation on the Aerco Disc Drive I/F.

System available from: AERCO, Box 18093, Austin, TX 78760. Cost: Interface- $199, Drives- $99 each, Power Supply/Case- $99. CP/M Boot Disc will be available soon for the FD-68 (Kaypro/Osborne version).

lst drive QUAD density any memory used 4 to 8k RAM ROM approx. speed 32k/sec 8.6k/s

syst. cost (do $450 $380 it yourself)

to be useful... 2 drives l drive

Some searching and loading times:

D4

THE

DAMCO/ROTRONICS WAFADRIVE REVIEWED

by Tim Woods

If you have a very limited work area dedicated to your 2068 computer, or have a small home business, the following product may be of particular interest to you. It is the Rotronics Wafadrive mass-storage system from England. I pur- chased our unit from Damco Enterprises (67 Bradley Ct., Fall River, MA, 02720), who is the exclusive distributor of the Wafadrive here in the U.S. Damco has put together a special package that allows the Rotronics Wafadrive to operate on the T/S 2068, since the system was originally designed for the Sinclair ZX Spectrum. This package includes all of the "goodies" that come with the stock Wafadrive (which we will discuss shortly) plus a cartridge- style Spectrum emulator, and an adapter for the 2068's expansion port. The Spectrum and the Timex have different rear-edge ports.

When the Rotronics Wafadrive arrived in the mail, I was first struck by the size of the box it came in. Very small, to say the least. And the unit itself is quite compact. It reminds me of a Tupperware container with a lid (only black). The old saying, "good things come in little packages," seems to fit here. The Rotronics has not just one drive, but two. They are the "stringy floppy” type, which use special micro-cartridges