x BOSTON COMPUTER SOcIinBRTY x

x Bewsletter of the BoSTUG (Sinclair/Timex User Group?) x

* Vol 7 MOO Se Soha ete lal Pid EDITOR'S EOTES DIRECTORY

Time Designs Magazine recently Co-director Peter Hale

had a nawsletter competition for Sinclair/Timex User Groupa. Ve submitted our May issue. Surpris- ingly, we did not finish last.

Hor, did we finish first.

Said the judges, ".... clean pro- duction, Interesting articles ... leaning more heavily to the QL. This Sinclair SIG has been around since "day one’, It has had some upe and downs

Rarely does a judgee agree with a Judge, but we agree entirely. An

editor with a QL knows others who

sometimes let us twist their arms and our active group te heavily into QLs.

On this page we have sought con- tributions from other Sinclairs but, with notable exceptions, the request has fallen on deaf ears. (Past pleas for members to let us know what turns them on have been lonely cries in the wilderness, so we draw your attention to this month's centerfold.)

Nat commented on by the judges, but one reason we tied for eighth in a field of 22, was a lack of any distinguished graphics.

To correct this defictency we invite you to crank up your crea- tive juices and submit designs for the following:

1. A Bewsletter cover. (The BCS logo is available tn paste art.)

2. A Banner Head (See page top).

To encourage you to squeeze the juices, a year's subscription ta Time Designs (‘see review) will be the first prize and you will have your name immortalized in print.

BoSTUG Stnclair/Timex Newsletter

(617) 889-0830 John Kemeny (508) 263-3347 General Questions John Kemeny (508) 263-3347 Joha Kemeny (508) 263-3347 Software Librarian Jim Rodlin (508) 481-2155 Al Boehm (617) 275-1097 Peter Hale (617) 889-0830 Peter Hale (617) 889-0830 Plexi-BES (617) 648~7651 Syeop: Bob Cutter 646-4425 THE TIMEWARP(BBS(508> 481-0555 Sysop: Jim Rodlin 461-2155 Member Services Liason

Co-dtrector

Machine Language

SuperBaSIC Guru

Editor (pra tem QL sub-Group

Wtil (617)

Stackman 547-0655

The Sinclair/Timex Newaletter is the official publication of the Sinclatr/Timex User Group of the Boston Computer Society (BaSTUG).

Annual membership for New Englanc residents is $35.00 (ctherwisa $28.00) per year. Subscription to BCS/Update and one other newe- letter 1s tncluded without cost.

The newsletter has an exchange policy with Sinclair/Timex User groupe willing ta reciprocate. Please forward exchange issues to the editor pro tem, Peter Hale, P.O. Box 8763, Boston, MA 02114.

Unless copywritten by the author, articles are in the public dom- ain, Attribution is requested.

- 1 - September/October 1988

CONTENTS

3 3

iditor's Notes directory

7HEN_ERROR

?sion Productivity Tips calendar Notes

3nug as a Bug

snug Conference ixchange Newsletters

7S 2068 Machine Code-Review lagazine Reviews

varken Ramdisk

will Filesaver

3CS Programming Project 31NGO

OOMVFATeOWN NEY

last Coast Sync Fest 10 ‘bout Toolkit I! 12 -Glumntfying Quill 12

WHEE _BRROR

“he listing in tha atomic Powered 22, in the last isgua had an wror. Line 100 should read:

.00 IF LEW (us><20 THEN uso: GO TO 40

Jestarn papers, please copy. PSION PRODUCTIVITY TIPS

nm the three years since getting . QL, 1 continue to be surprised .t little secrete it reveals.

tere is a new one and two aidies some haven't tumbled to yet.

4} On screen, the number zero (0) 1a a Slash so it looks different rom the capital letter 0. Mast winters have a dip switch set- .ing so the zero can be printed nithout the slash. Pretty, but ance tn a while you actually want the slash in the zero, as when owinting a listing from Quill.

n the bowels of the QL’s charac— cer set is <CTRL><SHIFT> P which S like slash zero. QLS and many ipson/Seikashas can print this.

| In the Fsion programs there is . screen re-draw key <SHIFT><F5>. icreen redrawing rewrites the soreen. It’s useful in Quill if

30STUG Sinclatr/Timex Newsletter

on-Screen text jumps all over the Place during editing.

When inserting text in the middle of a document, space opens in the middle of the Screen to let Quill

give you and tt some room. Add a character in the middle of text and everything after is pushed

one byte in RAM. Keep this up at a rapid pace and the screen gets

stressed trying to keep up. At the end, text doesn't always close up neatly. <SHIFT><F5> is

Psion’s equivalent of Valium.

§ Speaking of <SHIFT{F5>, not everyone knows about <CTRL><F5>, which pauses on-screen scrolling.

In SuperBASIC, without Toolkit II

extensions (and sometimes with),

and in programs which send all kinds of stuff to the screen but have no built-in pause, it can be

destrable to pause the program.

LISTing a program, COPYing a file toe scr or doing a rong DiRectory, ean be frustrating. rolling is

paused by pressing <CTRL><F5); to continue, press <CTRL><P5> agatn.

Actually, any key press continues scrolling but CTRL FS ts best. It does not register in the buffer and consequently ts not mistaken for a subsequent INKEY$, or its equivalent, as a keyed response.

- Peter Hale

CALENDAR NOTES

The Sinclair Timex User Group General meeting ili ba held on October 19, 1988, at 7:30 pm at the U. Mass Harborside Campus on Columbia Potnt. The room is 063 Wheatly Butlding.

The QL sub-group next meets on December 5 at John Mitchell's in

Westwood. As this is a private home, please call Join at (617)

326-5420 so he can tell you how to get there.

For other information contact Peter Hale or John Kemeny.

- a7 September/October 1988

SHUG AS A BUG ~._—_—

On cold evenings of my childhood my grandmother would wrap me in a handwoven blanket and settle in front of the fire to reat me a story. But before the story she would always say, " and there you are, snug aS a bug in ai rug." The sense of being protected has lasted with me to this day every time i bear the word ‘snug’.

In 1988 SHUG ts the acronym for Sinclair North American Users Group. It's adjective is to sup-

port ali Sinclairs across this vast continent, maintain PD and shareware software libraries, act

as a referal service, publish newsletters and generally promote Sinclair computers. It is to cor- Plement, not compete with, local

user groups.

All worthy goale. Realistic? Who's to say? Some wet blankets have editortally mused that it is a bug itn @ rug, because of 111- defined organization, naive econ-

omics and avoidance of reality.

Yet, for all the talk of the Sin- clair being ‘dead’, consider:

1. Hardware peripherals for the T/S 1000 continue to come to mar— ket and survive.

2. The Larken disk controller for the T/S 2068 ‘s a technical and financial success.

3. Time Designs Magazine turns 4 profit.

4. Stnelatr computers are virtu- ally the only ones that permit novice hackers ta understand the inner workings. Somewhere, there have to be training grounds ta get hands-on, basic understanding of machine code.

Sinclatrs are not dead nor will they dte. Like old soldiers they will fade away, but in the mean- time thousands of Sinclair owners Power up and get productive use, vast entertainment and much sat-

BoSTUG Sinclaitr/Timax Newsletter

APPLICATIONS SOFTWARK far the QL fron EMSOFT

MAILBAG An address database you won't believe. Labels, Rotary index cards, Zip sorting, Tickler filing, 3 column printout, many

automatic features and

much more 256K+ TAX-I-QL Spreadsheet for IRS tax returns Baak+

QLARD LORD Manage up to 99 units and do Schedule E. (Soon? 256K+

TEUST_FUND Track investments an net worth. Retain cost basis (Soon) 256K+

$19.95 ea ppd on 5 1/4" DSQD (+$2.00 on microcartridga)

BEMSOFT P.O. Bax 87483, Boston, MA 02114 (617) 589-0830

isfaction from their computers.

The arguement for SNUG is that i: smaller groups disband, there can be a vehicle for continuing sup- port and assistance to new usar: as they come into the fold. New Users? Yes, daily new people are turned on to Sinclairs and there is no media attention to connect these people ta the experienced.

Mel Nathanson, 7515 Arbordale [r. Port Richey, PL 34668 is collect- ing names and addresses of thos who are interested in the concept

and/or want more info. His phone is (613) 663-5552. Drop him a postcard. At wors"

you're aut 15¢ (17¢ 1f you wait?

- Peter Hale

S03 = September/October 1988

SEUG CONFEREICE R (Mtnutes of the SNUG (Sinclair North American User Group) con- ference af 8/17/85 on Compuserve)

Ve met on the Timex section of Compuserve on Wednesday, August 17 at Spm to discuss SNUG. Among the 13 active participants were:

Mel Nathanson (Chairman pro-tem of S¥UG), Gary Leasenberry ‘of CATUG), Paul Holmgren (ISTUG),

Sysop Dave Rothman (Compuserve), Jim Rodlin ‘the Boston Computer Society>, Greg Popovich (of LIST)

and saveral others.

The meating was active, and many ioteresting ideas were proposed. There were two primary topics:

A) The SHUG Newalatter, and

B) The SHUG Public Domain Library

At the beginning of the discus- sion, since we were all confirmed

modem users, it was suggested that a BBS be the central] point for SNUG. But it was acknowledged that many users either cannot or will not uee their modems (for whatever reason). So even as the

idea to disseminate the newslet— ter from a BBS was proposed, it was eliminated. It was decided that any newsletter would HAVE ta be in hard-copy format. It was also felt that SNUG should definitely hava its own separate newsletter rather than depend on other publication). This would

give a etronger sense of identity on the part of the membership.

As far as the Public Domain Library went, consensus was more

aifficult to reach. In the beginning, once-again, it was proposed that the library should be up for downloading. But this was eliminated, largely for the same reasons as the newsletter. Then, it was proposed that we

confine it strictly to tape media since everyone can read tape. But the objection was raised that this would consttute a very big demand on the Livrarian. It was then suggested that the disk formats should also

BoSTUG Stinclair/Timex Newsletter

time of the

be supported. The mechanics of Such a system were discussed for some time, the most prominent idea being to have “Sub-Libr- arians" to handie the various Specific formats. But no firno sonclusion was reached.

Tha idea of setting up an Echomail system based on Fidonet was briefly discussed. Two T/S BBSes are currently based on Fidonet nodes with a third to be added soon. The current ones are

the Passaic BBS <node 107/559) and the Bus Depot (node 112/4). There seamed to be some enthu- siesm for the idea.

The last item of business was that wae agreed to meet again on Compuserve on Wednesday, August

3ist at 9:00pm EDT.

- Pete Fischer (Phoenix Pete")

We found a emall supply of ZX Spectums and ZX Interface i's in their artginal cartons.

They won't last at thase prices!

2X Spectrum with 240v PS (or use TS 2068 PS? $40.00

2X Interface 1 $30.00

(plus $5.00 sth ea)

Visa/Master Card accepted ask for Meal. And ask about cur prices on wide carriage, daisy wheel QUME serial printers

ELI HEFFPRON & Sone inc. Computer Equipment & Pertpherals

139-145 Hampshire St. Cambridge, MA 02139

1-800-892-9230 1-617-547-4005

September/uctober 1986

BXCHASGE WEWSLETTERS

Since renewing our publication schedule in January, BoSTUG gets exchange newsletters from many

groups across the continent.

The newsletters are available to members at the bi-monthly meet- ings. When someone figures out how ta keep track of loan-outa, they will be available for take— out and mailout. Suggestions!

Quality and quantity vary. The most réliable is the HATS from Lemoyne, PA, with whom we tied for eighth place in the Time

Designs Magazine contest in May.

Vernon Smith wha edits the Vashington, DC, CATS newsletter puts out thea meatiest and most professional newsletter. It won second place in the TDM contest and was the top newsletter pro-

duced on a Sinclatr computer.

This editor ts pleased that some of what we publish is of interest

to others. The Chicago area Wite-Tines Bews copied Mike Mitchell's article and listing,

“Telecommunications on tha QL".

What was most interesting is that they got it from tha Phoenix, AZ, based QZX which spectalizes in Sinclatr Telecommunicattons.

We don't even exchange with them, yet! They got it from the group in Dallas. By the time it got back to us, @ POKE had been added and a line changed. Congratula- tions, Mike!

We have also uncovered in the BCS archives exchange newsletters from 1983/1984, the heyday of Sinclair computing.

We really Newsletter

need a Coordinator of Exchange to summarize the best for inclusion in this newsletter. It has gotten beyond the abilities of the editor ta keep up. Volunteers, PLEASE!

- Peter Hale

BoSTUG Sinclatr/Timex Hewsletter

TS 2068 MACHDIWE CODE A Book Review

Introduction to 2068 Machine Code by Dr. Lloyd Dreger & Advanced 2068 Machine Cade by Dr. Lloyd Dreger / S.€K.U.G.

(A mote to readers: The differ-

ences between “assembly language" and "machine language” are subtle and unimportant in this review. For the purposes of this article,

the two terms may be considered equivalent.)

There are many good books that teach BASIC programming for beginning and advanced T/S 2068 programmers. However, the 2068 programmer interested in assembly language programming is faced with a shortage of information. Although there is no shortage of books on Z-80 assembly language, none of them cover the T/S 2068 and its operating system. AD exception is the T/S 2068 Tech- nical Manual, but that book was never tntended to be a tutortal.

Dr. Lioyd Dreger, of the Sinclair Milwaukee Users Group, saw this problem and decided ta da some-

thing about it. The result is two books. The first, a 213 page manual called Introduction ta

2068 Machine Code, cavers nearly every agpect of machine language on tha 2068, including a tutorial

on the basic concepts behind machine language programming. It was written with the assumption that the reader knows BASIC, but not necessarily machine code. However, those who already know something of 72-80 machine code will benefit just as much as the beginning student. The manual goes to the heart of the 2068, explaining the BASIC interpreter,

the 2068 memory map, video mades & screen addressing, the system variables, and sound.

Armed with a thorough under-

standing of the inner workings of

the 2068 and the basic concepts Cont page (9

-~ 6- September/October 1988

MAGAZINE REVIEWS

Orphan computers are lonely and have communtcatian problems. It is not enough to be loved.

If that orphan is a Sinclair, the other problem is magazine costs. Ginclair users operate on tight budgets and UK subscriptions also take forever to arrive.)

Six vital magazines are published in Worth America-land and maybe you don't Know about them yet.

The grand daddy and guru of them all is Time Designs Magazine. Its 4000+ subscribers might also call tt The Journal of Record of North American Timex/Sinclair Computing

TDM has goodies for each Sinclair model and clone. It also has the best (excellent)? graphics.

Regular contributers include such luminaries as Fred Nachbaur, Stan Lemke, Paul Bingham, Mike de Sosa and others.

Each issue always has columns and programs for all three classes of Sinclairs, but its other value is

that it is where everyone adver— tises - hardware, software, etc.

The May/June (Vol 4,No 4 - $3.00) issue lists 55 user groups and 94 companies that support Sinclatrs.

Threa magazines support TS 2068's «and Spectrum).

The most unusual is Byte Power on cassette - no typing listings —- and mostly tn machine cade. It’s bi-monthly on a flexible schedule put the software is extemely well written and often unique.

Back issues and software reprints are available.

UP-DATE Camputer Systems comes quarterly. It is one third list— ings and supports every 2068 disk controller in each 50 page issue. It has excellent reviews and a sense of humor, Now supports QL.

BoSTUG Sinclair/Timex Wewsletter

“contacts.

The SyncWare Group publishes two bi-monthlies for the Sinclair and

both are internationally reknown.

SyncWare News bas been in print since 1983. It's for ZxX-80 thru

TS-2068 computers. Quantum Levels is just for QLs.

Both are 16 page bi-monthlies for anyone who explores a Sinclair's full potential. No one who enjoys hacking should be without which- ever one applies. Beginners may sometimes feel overwhelmed, but

there 1s something for everyone.

As much as anyone, Syncware Group has its ear to the ground for the latest scoop and poop in the 1/S community. It has good overseas The worst that can be noted is the (temporary) lag from editing to production and dearth of graphics.

Finally, do not overiook Computer Shopper, a hardy habitue of com- puter flea markets. There is an orphan column and much classified activity directed to Sinclairs.

The Bottom Line: You get change gut of a twenty doller bill for a year of most magazines.

Byte Power, 1743 Meadowview Ave., Pickering, ONT, CANADA L1V 3Gé8. US$32.00 for 6 tssues. ($2.00 for Catalogue/Demo tape, a must buy?

Computer Shopper, P.O. Box F, Titusville, FL 32781. $2.95 at computer stores; by subscription, monthly. (Various special deais)

SyncWare Group, 602 S. Mill St., Loutsville, OH 44641, $18.95/yr, bi-monthly, for SyncWare News or Quantum Levels. Gample $2.00)

Time Dasigns Magazine, 29722 Hult Road, Colton, OR 97017. $16.95/yr bi-monthly. (Alsa get May/June a User Group issue for $3.00)

UP-DATE, 1317 Stratford Avanue, Panama City, FL 32404. $15.00/yr, quarterly.

- @- September/October 1988

LARKEN RAMDISK for T/S 2068 A Review

I recently received an order from Larken Electronics with Ramdtsk on a medium-sized x7) circuit card and 4 replacement EPROM chip for the LKDOS disk controller cartridge.

The chip 1s an updated version of the disk operating system so that LKDOS can support the ramdisk.

The Ramdisk board has a feed-thru connector that plugs into the rear expansion buss of the 2068, and 4 empty sockets on the back-

side of the card. These sockets hold the ramchips, which must be bought separately. At one edge

of the ramdisk board ts a battery clip to hold two “AAA” batteries.

With batteries inetalled, the

contents of the ramdisk are pres- erved when the 2066 ts turned off or Ramdisk is unplugged.

The LKDOS Ramdisk accepts up to four 32K ram chips without modifi- cation for up to 128K of storage. The board uses 32 x 6K static ram chips (part no 43256L or 62256L). To install memory beyond i28K, four more empty sockets must be soldered 'piggyback' ta the first four ram chips, but this is rela- tively simple for anyone who has used a soldering tron.

Once tnstalled, the ram is ‘form- atted’ with a single command from basic and ready for use.

The Ramdisk behaves exactly like an ordinary disk drive tn LKDOS, only a lot faster. The same com- mands are used; only where ordin- ary drives are numbered Zero to Three, the Ramdisk is drive Four. PRINT #4: CAT ' ingtantly res- ponds with a catalog of tha files under a heading “Disk drive name:

RAMDISK". | could even change the Ramdisk drive name with Larry Kenny's recently released disk

editor utility.

AUTOSTART ftles can be the Ramdisk. Turn the

saved to 2068 on

BoSTUG Staclair/Timeax Newsletter

while pressing ENTER and the "J" key Simultaneously will boot the AUTOSTART ftle from ramdisk in- stead of tha regular disk drive.

Sereen images loaded from the Ramdisk consecutively appear so quickly that an animation effect is achieved. I found that being able ta load, save, boot and re- load ftles to ramdisk continually instead of disk saves a lot of time and bassle. When I'm done, I dump the contents to a floppy.

This tllustrates the fRamdisk's intended use to speed up existing

programs when files are loaded and saved frequently, as opposed to increasing your disk space.

Also, a 236K ramdisk stores more than an ordinary single-sided, double-dansity floppy disk.

The only problem | have encount- ered so far is some interference batween the Ramdisk board and the ‘stock' 7SI/O RS-232 card and modem at 1200 baud. However, 1! do not know if this is a problem with the Ramdisk, software, tha ZSVO0, or plain power drain. (As it is, Il have 7 devices chained to the back of my 2068). Other than that, | have found the LKDOS Ramdisk to be one of the most versatile tools yet for the 2068. Any serious 2068 user would do well to consider purchasing one.

The LKDOS Ramdisk is available trom Larken Flectronics at RR #2, Navan, Ontarto, Canada K4B 1H9 and most local T/S dealers. Ram- chips for the Ramdisk are about $14.00 apiece at Jameco (415-592-

-8097 to order). Chip sockets are

about 50¢ each at Radio Shack.

- Jim Rodiin

(Ramdisking capacity is often the cheapest way to increase speed, since the most annoying delays in using a computer are when access- ing media. For the QL, memory expansion plus ramdisk software make microdrive cartridges bearable. - Ed}

= fos September/October 1988

QUILL FILESAVER

More than once, my QL has mangled a long Quill document through poor disk or microdrive L/O. Either 1 removed the cartridge before closing a file, or the QL tried ta write part of the file to a non-existent track on the disk or the QL crashed. The result is the same - any attempt to reload the file into Quill results ina File I/O Incamplete error, disasterous if you forgot to periodically backup your work.

One such encounter forced me to take a deeper took at how Quill files are stored. I could da this with "BGET", which reads a Single byte from a file. Most

disk systems and toglkits have thia command. l used BGET to print out the

numeric value of every character in my parttally-corrupted Quill file to learn its structure and 6Q recover at least part of it.

The most etriking discovery was that Quill files use the WMNull character (CHRS$(0)] tn place of

Carriage Returns. I also noticed that a good portion of the Quill file is formatting information, stored towards the end of the flle. It is mostly strange con- trol characters. All the text was present, but some formatting information was cut off during the incomplete SAVE.

lL tried renaming the file with a _LIS” extension and importing that, but Quili didn't like the

NUL's and stopped importing the file at the first occurance of a NUL.

Sa 1 had to figure out a way to extract the ‘text' portion of my document and re-write it as straignt ASCII. BPUT came to the rescue and the result is the listing below. In a nutshell, the program reads a byte from the

damaged file in channel #5. If it is a null, it’s changed to a carriage return (CHRS(13)): tr a

BoSTUG Sinclair/Timex Newsletter

control character (less than SPACE [CHRS&(32)) but not CR, it

is changed to a space. Ctherwise, it is a regular ASCII character and left as ts.

now ASCII] character 15 writ— to the new file in channel#o. character is also printed to screen so you can watch as it goes through the file. Then the loop repeats tor the next character until there are no more characters to read. What is lett

is a plain text fila which can be

The ten The the

imported tnto Quill. 1 was able ta recover a 15 page document this way, though it took about

ten minutes ta do sa.

Hopefully you wilh never need to use this utility, but if you da,

here it is. - Jim Rodlin

10 REMark "“Filesaver’ REMark Corrupted Quill file REMark recovery utility REMark by Jim Rodlin REMark Requires Toolkit REMark commands BGET & BPUT EEMark In the public domain REMark Attribution requested FLP_EXT: REMark or TK2_EXT enable extended command sat cLS

OPEN#S, “mdv2_MYFILE_doc*

: REMark {tle to save OPEN_NEW#6, “mdvi_BBS_1lis*

: REMark output ASCII file REFeat loop

150 BGET#S, a%: REMark get byte and put in a%

160 IF a% =O THEN LET a% 13 REMark convert nuli to CR

1065 REMark replace ail control chars with SPACE

170) «IF a% <32 AND a% 6213 THEN LET a% =32

180 REMNark print character to screen for visual feedback

190 IF a% =13 THEN PRINT : REMark Carriage Return

200 IF a% <713 THEN PRINT CHRS (0%);

210 BPUT#6, a%: REMark write

ASCII byte to LIS file END REFeat loop

September/October 19848

BCS PROGRAMMING PROJECT

The BCS Sinclair/Timex User Group has launched a project to develop a state-of-the-art BBS program for the T/S 2068 computer. We are

looking for volunteers to parti- cipate in the project. A know- ledge of Pascal or 7280 Assembly

language would be helpful.

We will build advanced features into the software, including 1200 baud, Xmodem, and networking with other 2068 BBSes. The software will be developed under LKDOS V3.0. You need not live in Mass- achusetts to partictpate.

If you are interested, phone Jin Rodlin at (508) 461-2135. or write to him at 66 Chandler St., Maribora, MA 01752. By modem, he can be contacted on the BCS TIMEWARP BBS at (508) 481-0554, 8/1/8 300 baud.

BmNcO

There are ‘one or twa Sinclair computer users who play Bingo, or whose family does. From the “HACKER’, the official newsletter of the Timex/Sinclair User Group of Las Vegas, NV, cones this gem for the 2068 that prints out BINGO cards on a 2040 printer.

QL users may want to convert to a SuperBASIC program ta get a bet-— ter underetanding of AT, BEEP, BORDER, FOR and TAB ‘use TO in- stead), which have slightly dir-

ferent constructs.

LPRINT, of course, is unavatlable in SuperBaASIC. Instead. insert line 5: ‘OPEH#3,seri' ta open a channel to the printer, then use ‘PRINT#3,' instead of ‘LPRINT’.

This ts also an easy program to change GO SUB routines to Super- BASIC procedures.

BoSTUG Stnclair/Timax Hewsletter

Oeunwr

-9-

REM "BINGO" BORDER 1: PAPER 6:

cLS : CLS

GO TO 600

PRINT AT 2,1;"Welcome to the Bingo Parlor';AT 3,4;"HWere ar @ your options:";AT 6,4;" 1

~ PLAY BisGO"; AT 8,4." 20 - PRIBT OUT BINGO CARDS";AT 10, 4;°° 3 - MASTER CALL SHEET"; AT 12,4;° 4 - STOP’; AT 20,1 "Enter Option Number (1-4):"" IRPUT z: CLS

GO TO 20% =2>++90 (2=3)4+700% ¢ 2x3 )+BS4 (244)

RANDOMIZE

DIM ysc75)

LET 1$="BiHGO"

BORDER 3: PAPHR 7: CLS : CLS : PRINT AT 2,10;"Bingo Calier

T 8,6?" CALLING 12,6 Press ENTER for next call"; AT 16,37" HO for New Game" ;AT 18,3;" Q to Quit"

FOR z=1 TO 75

LET r3IRT (RND&75)+1

IP y$iry="*" TREN GO TO 50

PAUSE 80: PRINT AT 8,17;" "31 SCLDIT 715+.96) "Gry: BEB P 2A

LET y$(r=e"

WK 0

IF INKBYS$="" THEN GO TO 70 iP LKEY$=""N" OR INKBYS=" n" THEN CLS: GO TO 6

IF INKEY$="Q" OR INKBYS="" q” THEN PAUSE 200: CLS: STOP PRINT AT 8,18;" NEXT z

CLS : STOP

PRINT AT 11,1;7*HOW MANY CARDS

BO YOU WANT?";

URPUT cards: PRINT AT 11,30;¢ ards: PAUSE 80 FOR x=1 to cards LFRIST 4, LPRIST LPRINT LFRIST : LFRINT THE HAM MER HUTCH CASINO": LPRINT : L PRINT " xB * 1 &€ 8 KG +o * DIM y$(75) DIM aG®) GO SUB 300 FOR g=1 TO 5 GO SUB 400 FOR z= 110 5

LET atz INT (RED#15+ (z-1)*15 +

September/Octaber 1986

708

IF y$ta(z»)="*" THEN GO TO 14 1] LET yStatz= NEXT z IF y=3 THEN LET a(3)=0 LPRIQT TAB 3;"e";TAB 5,a(1);T AB 8.°2":TAB 10;a(2);TAB 13;" x; a ae THEN LPRINT TAB 14;"FR IF yO3 THEN LPRINT TAB 15;a( 3); LPRINT TAB 18 AB 20;a (4? TAB 23;"*";TAB 25;a (2);TAB 2 oR; GO SUB 400 GO SUB 300 NEXT y FOR z=1 TO 5 LPROT,, NEXT z NEXT x cLs GO TO 500 LPRIST " HAKARAER" RETURN LPRIT "= =6* x x x * a” RETUERE PRINT AT 4,47/'Choose your nex t Option:";AT 7,8;" 2 - Mor e Cards’;AT 9,8 IWGO";AT 11,8" 30 - alling Sheet";aT 13, STOP';AT 20,1"Enter Option N umber (1-4): INPUT q$: PRINT AT 20,28;q$ IP q$="1" THEN CLS: GO TO 90 IF q$="'2" THEN PAUSE 80: CLS: GO TO 20 IF qs="3" THEN CLS: GO TO 700 IF q$="4" THEN CLS: STOP PRINT AT 4,8;"WELCOME TO THE" FLASH 1: PRIST AT 6,8;" HAMME R HUTCH “:AT 7,8;" CASINO “: FLASH 0 PRINT AT 12,0;"COMB IN AND SI T 18 ONE OF OUR COMFORTABLE CHAIRS IN OUR BINGO PARLOR.

AEKARRAKRAARAALALE

PRINT OUT A COUPLE OF CARDS, GRAB A PEN OR FERCIL, Au D HAVE SOME FUN.” PAUSE 300: CLS: GO TO 6 BORDER 0: PAPER 7: INK 0 CLS: CLS PRINT AT 10,1;‘Master Call Sh eet now printing" PRI8T

peseey

BoSTUG Sinclair/Timex Newsletter

LPRINT "Master Call Sheet" LPRINT "----—---—----—----—-

LPRINT LPRIST 8" LPRINT LPRINT LPRINT 29" LPRIST LPRIVT LPRIBT 38” LPRIST LPRINT LFRINT 53" LPRIST LPRHAT LPRIAT oa" LPRINT LFRIST “.

“pe

"lt 2 3 4 5 6 7

"9 10 11 12 13 14 15" op 16

es

30"

4s

&

71 72 :«°73 «74 75"

LPRIST sessevey BORDER 0: PAPER 7: CLS: CLS

GO TO 6

SAVE “BINGO” LINH 1: BEEF ,i2: BEEF .47,8

STOP

INK 0

BaST COAST SYEC FEST

The Capital Area Timex Sinclair Croup (CATS), Washington, DC has announced it will sponsor a Sin- clair Computer Fest in May, 1989.

Major Vendors are participating and it is expected tc be the outstanding Sinclair Fest.

A wajor advantage of this fest is its central location on the East

Coast and will expect attendance from some of the nearby centers

of T/S mania.

The Fest will be at the Howard Johnsons in New Carrollton, AD, close by the METRO with con-

nections to the entire DC area.

The BCS will sponsor a table and arrange for group transport and

accomdations. Watch this space

for further detatis.

= 10 - September/October 1988

ABOUT TOOLKIT I1

Are there any QL owners who if they don't have TK2, have nat been strongly advised to get it?

Anyone who has keystroked COPY mdv2_fred to mdvi_fred a zillion times to backup media finds WCOPY worth the price alone.

the Toolkit II manual Thera list of itmited direcs—

Certainly, 1s a forbidding document. is no tutorial; just a

Keyword extensions with and sometimes incomplete tions on their use.

There is not even a clue as to where to get your feat wet, sa a Gampling of easy and immediately useful keywords is offered here.

Toolkit I! extensions that are easy and that you will enjoy are: ALARM, CLOCK, DLIST, BX, EXTRAS, EW, FREE_MEM, RENAME, SPL, SPLF, STaT, TK2_EXT, VIEW, WCOPY, WDIR, WMOH, WREM, WIV, and WSTAT.

All can be explored from direct mode and you can't gat in (much) trouble ‘except for difficulty understanding tha manual).

But a lot of people are missing out on three excellent features incorporated in Toolkit II: ED,

ALTKEY and last line recall.

Last line recall <ALT><ENTER> is usually useful in direct made in SuperBaSIC. It recalls all char- acters since the last ENTER. Done several times in sequence, it recalis several lines at a time. Once recalled, lines can be edit- ed or reexecuted. It algo warks from Psion programs, as a quick and dirty copy, up to Paion's 22 character buffer limit.

ALTKBY is worth exploring. It is buried in the back of the manual in Section 21 and little is said

about it. Essentially it permits writing macros. The syntax is ALTKEY ‘x’,’....*

where x is any one of the QL's character set. In the example, x is lower case.

BoSTUG Sinclair/Timex Newsletter

Everything after ‘z', and within

the quotes happens when the com- bination <ALT><x» 1s pressed. If

sENTER? is desired for executing,

the ALTKEY definitton can end with ,** (comma and two single

quotes), which is <ENTER>,

How tually easy.

to use ALTKEY is not concep- One usa is ALTKEY

‘)*, CHRS (240.&°1flpl_setup',”’. This line is incorporated in my Quill boot. The same disk also

has the file ‘setup_doc’ on it.

Setup_doc is my Style sheet for correspondence. [It has my return address, the date and salutation position and no footer. I don't Teorganize Quill's default page each time 1 write a latter; | press <ALT><1>.

Programmers assign ALTKEYs to oft used keywords (without an ENTER) to emulate single-stroke keywords popular in earlier Sinclair's. A boot with a batch of user defined ALTKEYs and a final line WEW is run at the start of programming. NEW clears SuperBASIC memory (but neat the ALTKBY definitions.»

Finally, there is ED that invokes a full screen SuperBASIC editor. The cursor keys move the cursor over the full screen. They can be combined with ALT and SHIFT for spectal effects. It is easier ta edit existing programs with Over—

writing (SHIFT F4, as in Quill).

SuperBASIC programs often have a number of duplicate or near dup- licate lines. Editing a line

number replicates the lina ata new position and retains the old line. lf slight modification is

required, overwriting speeds any needed changes.

Por fun, Slip in ED as a line anywhere in a SuperBASIC progran.

Run it. Predictably, when the program reaches ED, it halts and goes into full screen edit made.

Wow press <ESC>, What happens?

-Peter Hale

- 12 September/Octaober 1988

COLUNEIFY ING QUILL by Mike Padlipsky & Peter Hale

The trouble with having been a working programmer in one’s youth is that you spend the rest of your life under the constant threat of getting readdicted to that particular form of abeessive— campulsive behavior.

(The trouble with being an ex- programmer who's also a Published Author, by the way, ia that you feel obligated to spend much more time describing programs than writing them. Thies can boggle a newsletter, unfortunately. So be-

tween my rewriting and his conm- pressing, what you're seeing is

about 60% of what your Editor originally got. [ln case anybody

cares, Tha Book is The Hlesents ef Hetwaorking Style, Prentice-

Hall, 1985.] )

So when, for obscure reasons we needn't bother witb here, I deci-

ded the other week that I needed to ba able to print a Quill docu- ment in Double Strike Condensed mode, in columns, 1 knew I had a probien. That meant I'd have to write a program todo it. And that meant I'd have to run the risk of getting rehooked, just as I bad for several months last year, shortly after acquiring my QL. As a matter of self-protec— tion, then, I consciously did the

program in the simplest, laziest way 1 could think of, so as to re-expose myself for only an hour er two, and sat back to enjoy it.

There's even trouble with sitting pack and enjoying your columnity— ing program, though. Part of the enjoyment was bragging how nifty it was to Peter Hale, who'd been helpful tn the planning stages and who'd expressed a desire for such a program to produce this very newsletter. Cap. Temptation

again. He wanted it toa ba more “user friendly"; suggested all

sorts of embellishments, indeed.

Having already produced my

BoSTUG Sinclair/Timex Fewsletter

"Sweetened Condensed" columnized document (it's lovely, thanks), ft

managed to hold firm, though, and convinced him—in part by promis- ing to do the writeup myself: more trouble--to do his) own version of the thing. So what follows is actually a collabora-

tive effort. Peter assures me I'm

entitled to take credit for the

semi-elegant SuperBASIC gimmick, so i will; but anything you don't

like about the user interface,

blame on hin.

All I ever wanted was to run a 65 character wide Quill document. off into a file named colify lis, having forced it to have an even number of whole pages by Dlanking enough lines at the bottom to come out right, make it print out in columns, and just run off the end because 1 remembered from the Lost Months of a year ago that there was something funny about end-of-file detection with Quill.

USAGE

The first thing to do is to make a Quill document with an apprap- riately narrow line. The table at the end of the article gives maximum line lengths for antici- pated type faces. In my sbort version (here for thase who don't want all the typing for Peter's version)? choose a non-O margin. Its width will also be the width of the column separator.

How to end the file is important in Feter’s version. The last

line has to constst of only a <CTRL-SHIFT-K> and an Enter. This

makes life easier than coping with the imponderables of how Quill ends lis files. For py version just pad the Quill file

out with one or two Page Breaks, to end up with an even number of pages when you're done. Close the channels by hand when it runs off the end of the file.

How run the Quill document off toa _lis file. IE. type colify

over the “printer” prompt as the last step of the Print command;

- 12 - September/October 19858

you don't even need to specify the _lis part, it’s furnished by the Quill program automagically. (The version Peter will stick in lets you salect any file name allowed by Quill.)

The next trick ts ta invoke the columaifter program by lrunning whatever name you saved it under. My version just gives two columns of Sweetened Condensed, provided tha Quill document is no more than 66 columas wide. Fire up Peter's and it'll start asking

you about various things like linewiath, typeface and 6a on. It

will) even let you alter the left

margin and respecify the width of the column separator.

Most of the usage is as nearly self-explanatory as these things ever are. If things really seen fouled up, be af good cheer: you can always get out by hitting <CTRL><SPACE>, since it is, after all, a SuperBASIC progran.

The one obscura point, in ay hum ble but dogmatic opinion, is this business of “text frane". (That's

the measured width of two columns of text, ineludiny the column separator, for a chosen type face without regard for left margin adjustments. The ‘out of range’

prompt takes tnto account margin adjustments.)

Hot everyone will use the maximum width for a given type face. Ta avoid a cramped look, it may be necessary to widen the calumn separator. if the output is ta be reduced, a full 4 tnches of text frame may be excessive.

There are doubtless a number of fine points I'm overlooking here,

but with any luck at ail, that's

all you need to know about colun- nifying prior to using the pro- gram - except for the Limitations mentioned below, anyway. lf it

isn't, the REMarks in the program listing might well help even if you're not @ programmer and would otherwise be totally disinclined to look at them.

BoSTUG Staclair/Timex Newsletter

Another potnt about my lazyman's version might be tn order: if you decide to use it rather than the full version and want to adapt it for other than Condensed, Peter's

code should help in deciphering wnat you have ta send ta the printer. The thing ta be wary af is that you must diddle the type-

face before you fiddle the tab satting. (It might seem obvious, put overlooking tt doubled the

time I spent writing the code.)

Oaps. One more featura: Peter's version has the option to run the

output into a file (which will have sama "first name" as your _lis file, with the suffix _col>

1f you want to copy a number of _col files to seri all at once.

LDUTATIONS

foremost: it the Preamble in your printer driver does a reset (1. has ESC,@), gat rid of iti! It took me hours of headscratching and a couple of lengthy conversations with Peter to figure out why the full-up pro- gram didn't let my machine make a draft of this very article. Sigh.

an

The lack of page numbering is noted and won't be apologized for; my psychic well being is at stake here. (Perhaps Peter will be sbamed into doing it himself; check for notes after the list- ings.) (Why watt? You know that Editors have no shame! -Ed)

The main thing to realize is that this ts a fatrly dumb little program sat heart. All it does is Tread 66 ltnes out of a _lis file, change the CRs at the end of each line to Tabs, than read the next 66 lines and concatenate them with the first 66 ‘one at a time, of course) before datng a Super- BASIC PRINT statement with them to tha printer.

So if you're doing a lot af bold- facing or underlining in your document, be aware that if you don't turn them off at the end of aach line, thay'll slop over tnto

- 13 - September/October 1984

either the righthand column or the next lefthand line when printing. Similar considerations

apply to meta—-Quill fancies, like selective italicizing by having appropriate Translate entries in your priater driver,

Sorry about would have hairy to hava

that, but become the

it really unacceptably program keep

track of that sort of thing for you. If you don't have a feel for the problem being described,

don't worry; if and when you get funny looking output, it'll be clear how to deal with it whether or not the semi-explanation made sensa just now.

There area also some limitations in the printers you're likely to hook up to a QL, like the bizarra fact that Boldface temporarily disables Condensed, or the subtle point that {if you do run the output into ai ftle you can't reimport the file tnta Quill for further fiddling in columnized form because one of the printer control codes ends in <HUL>, which makes Quill stop tmporting. But I won't try to remember any others than those two since there isn't anything we can do about them and I've probably gone on toa long anyway.

THE LISTUIGS

Here comes mine, tn all its

minimalist glory:

DIM icols (66,80) DIM. rcols (66,80) OPEN_IN #3,'f1p2_colity lis OPEN #4,‘serl’ PRINT #4,CHRS (27);'@'; CHRS (27 ;'G'*;CHR$ (15); CHR$ (27);'D’;'B';CHRS (0); FOR t=1 TO 66 INPUT #3, 1co1%(17 g=CHRS (13) INSTR icol$(i> 1co1$ (1,J>=CHRS (9) END FOR 1 FOR 1=1 TO 66: reols(i) FOR i=1 TO 66: PRINT #4, lcal$(1) & rcols(i) GO TO 160

INPUT #3,

220

BoSTUG Sinclair/Timex Newsletter

lf the ‘B' itn Line 150 puzzles you, it's just the lazyman's way of spelling chr$(66). And for any programmers watching, | do have Dykstra’s permission for 220.

More than enough ishness.

of this Over to Feter:

fool-

There really isn’t much to add ta Mike's prose. The three pages of listings are tedious to type in. If you do, save it as Bi_col_bas by starting with line 2000, a wee procedure to help you save the program by just typing s <ENTER>.

To get the listing and somewhat different instructions from thase above, send a microcartridge and $3.00 handling to the Sinclair group at the BCS.

Remenber: No header and no footer in the Quill document and no Reset in the printer_dat Preamble for when you create the _lis file. Terminate any enhancement where the line ends and reset it where the line begins below.

In the long version set the left

margin tq zero; Bi_col_bas lets you adjust margins and column separator widths later. And don't

forget how many columns you set the right margin § for. Let the last two characters in the name of the _lis file be the number as @ memory aid.

Here are the maximum number of colunns per line: Maximum Type face characters/ line Doudle-wide 18 Standard (Pica) 38 Elite 46 Condensed 66 lf you anticipate proportional typeface, the limits can be increased by a factor of 1.1. There's nothing in Bi_col_bas that shouldn't be feasible in

another BASIC to Bi-columnify any ASC1l-fied document and it should be most elegant on a T/S 2068.

- 14 - September/Octaober 1966

REMark BI-COLUMWIFIER

REMark Prints a _lis flle

REMark as two columns to 4 page

REMark by Mike Padlipsky

REMark & Peter Hale

REMark Sinclair/Timex User Group

REMark Boston Computer Society

O REMark One Center Plaza

1 REMark Boston, MA 02108

REMark Attribution requested

15 REMark Progam assumes Epson compatible printer codes 16 REMark See line 1900 & ff far codes needing changes

EBS OPN AONe

100 init: open_file: char_col_line: CHAR_wid: CHAR_2: verify 110 print_file: PRINT_col

120 CSIZE 3,0: AT 20,5: INK 0: PRINT "i Fils I"

130 BEEP 0,50: PAUSE (150): BEHP: STOP

150 DEFine PROCedure gky

160 an$=INKBY$(-1): an=CODE (an$): PRINTlans

170 END DEFine gky 3

180:

200 DEPtne PROCedure init

2210 WISDOV 512,256,0,0: INK 6: PAPER 2: CLS: CSIZE 3,1 220 WINDOW 312,220,15,0: BORDER 2,6: CLS: aT 4,2

230 PRINT “BI-COLUMMIPIER": CSIZE 1,0

240 = =PRINT\" by Mike Padlipsky & Pater Hale"

250 PRINTN\\,"Press <SPACE> to run‘: PAUSE: CLS

200 «k=O: mar=0: tb=4: r=1: n$=CHRS(O): pS=n$: t$=n$: wS=n$ 270 «c_t=5: typ$="Standard “: nlq8="Dratt’: epoS=typs 280 END DEPine tnit

300 DEPine PROCedure char_col_line 310 PRINT\" Enter number of characters per’ 320 INPUT " itne in original textr'!c_c_l$ : c_c_l*c_c_1s

_c_lMcharacters too wide to"

350 «PRINT bi-columize the docugent.”

360 PRINT " 66 is maximum for condensed type.” 370 «= PRINT\" «=Re-do your document.": STOP

380) «END IF 390 END DEFine char_col_ line 400:

500 DEFine PROCedure CHAR _wid

510 PRINT\" Salect character width": PRINT

§20 IF ¢c_¢_1<19 THEN PRINT,'<D> ouble wide”

$30 IF ¢c_c_1<39 THEN PRINT,"<S> tandard (Picay’

540) «IP ¢_<¢_1<47 THEN PRINT,"<E> lite”

S50 IF c_c_1<67 THEN PRINT,"<C> ondensed"

560 PRINT\" Enter choice (d/s/e/c?';: gky

570 SELect ON an

580 =68,100: wS=CHRS (27 &'W"&CHRS$ (1): wid$="Double Wide" 590 =80,112,83,115: widS="Pica': c_1=10

600 =69,102: wS=CHRS(270&'M': widS="Elite™: c_t=12

610 =67,99: wS=CHRS(15): wid$="Condensed": c_1=17

620 =REMAINDER : CLS: RUM

630 END SELect

640 END DEFine CHAR_wid

650 :

BoSTUG Stnclair/Timex #ewsletter - 15 - September/October 1982

700 DEFine PROCedure CHAR_2

710 PRINTN\" Italic character type? (yn): gky

720 «IF ans=="y" THEN tS=CHRS$ (270a"'4": typS$="Italic*

730 IF c_icl2

740 PRINTN" Froportional spacing? ¢y/n¥'::

750 soIF an$=="y” Pee es, ey

760 PS=CHRSE (27 8" p"SCHRS(1): spce$="Propor'l ": r=1.1

770 EXD IF : END IF

780 spcS=spc$&(c_i*ra" char/inch”

790 «=PRINT\" W.L.Q. Printing made? (y/n>";: gky

800 IF ans="y" THEN

820 REMark c_i<i2 if your Epson can't do NLQ in elite 820 IF c_£<17

830 nS=CHRS (27 &''x''&CHRS (1): niq$="NHear Letter Quality” 840 ELSE

850 nS=-CHRS (270&''G": nlq$="Double Strike”

860 EXD IF ; END IF : CLS

870 c_l=e_c_I/r: tab=INT(tbkrtc_1): d_f=INT (0% (tabte_1)/¢_1+.5) 880 ESD DEFine CHAR_2

900 DEFine PROCedure verity

910 PRINT," DOCUMENT FORMAT"

920 PRIAT\” Char fount",typs

930 PRINT” Char size’,wids

940 PRIBT " Spacing’,spcs

950 PRINT" Text frame",d_f/10!' inches”

960 PRINT" Printing mode"”,niqs

970 =PRINTN” Left Char’ Column Rel tab Text" 980 PRINT " Nargin line Sep‘tr position trame” 990 =PRIBTN" Cold te

1000 PRINT\TO 7/'Press cursors to adjust'\TO 11;*<ENTER> to eet" 1010 REPeat loop

1030 AT 10,4: PRINT mar,tic_c_1,itb,itabtittd £/10;"" 1040 PAUSE: an=KEYROW (1)

1050 SELect ON an

1080 =4: th=to+1

1090 £128: th=tb-1

1100 =1: EXIT loop

1110 SREMAINDER

1120 «- END SELect

1130 tab=INT<(tbtrtc_2): d_f=INT (10% (tabtc_12/c_1i+.5) 1140 AT 12,6: PRINT PILLS(* ",25)

1150 IF mar<O OR (marx20/c_1+d_£)/1028 OR tb<3

1160 AT 12,0: UNK ©: FAPER 6

1170 PRINT Out of range: try again ": INK 6: PAPER 2 1180 =o END IF

1190 END REPeat loop

1200 AT 16,7: PRINT “Is this correct? (y/n)";: gky 1210 =IP an$=="y" THEN RETurn verify

1220 PRINT" Then you must rework your Quili dac” 1230 PRINT\” Exit to rework Quill doc? (y/ny;: gky 1240 IP an$=="y THEN CLS: STOP

1250 PRINT " Try another document format? (y/n7;: gky: CLS 1260 IP anS=="y" THEN GO TO 100: ELSE : STOP

1270 END DEFine vertty

1280 :

1300 DEFine PROCedure open_file

1310 OPEN #5,con: WINDOW #5,120,256,330,0: BORDER #5,2,4

BoSTUG Sinclair/Timex Newsletter - 16 - September/October 1985

1320 «INK #5,6: PAPER #9,0: CLS #5

1330) INPUT #5,\" Document on'\\" DRIVE? avs

1340) «IP LEM (dv$0=1 THEM dv$="flp"advs

1350 REMark Number of fields = 66 lines/page

1360 «~-REMark Pield length = 99 columns

1370 «DIM 1c01$(66,99): DIM reals (66,99)

1380 IP dvS$(LEN (dv$))<>"_" THEN dvS=dvsa"_*

1390 DIR #5,dvSa"_lis": INPUT #S,\" Select _Lia"\\" FILE: files

1400 REMark Lina 1390 uses Toolkit II DIR ability display only filles 1410 REMark that end in "_lis". You may have to edit out 4” lis”

1420 «IF NOT "_” INSTR file$ THEM files=filesa"_lis" 1430 LET tempSsdvssfilesi(1 TO ¢ "_" INSTR ftlle$)a"col” 1440 END DEFine apen_file

1450:

1500 DEFine PROCedure PRIIT_col

1510 REMark Printer control codes are for Epson printer

1520 REMark You may have to change for other printers

1830 PRINT #4,CHRS(27>8'@";: REMark printer reset

1540 IF n$<>CHRS(O) THEN PRINT #4,n$;: REMark See Lines 830/650 1550 IF pS<>CHRS(O) THEN PRIWT #4,p$;: REMark See Line 760

1500 iF t$<>CHRS<O) THEN PRINT #4,t$;: REMark See Line 720

1570s [Fs wS<>CHRS(O) THEM PRINT #4, : REMark See Lines 580 ta 610 1580 REMark Following line sata left margin, then horizontal tab 1990 =~ REMark "IF ans<?'f™ and 1610 to reimport file to Quill

1600 PRINT #4,CHRS (27 &''1L"&CHRS (mar &CHRS (27 &'D"&CHES (tab &CHRS (0); 1610 REMark EXD IP

1620 =REPeat col_PRINT

1630 FOR 1#1 TO 66

1640 INPUT #3,1c018 (1)

1660 J=CHES (13) INSTR 1c018(1)

1660 10018 (1,j2=CHRS (9)

1070 REMark G=CTRL SHIFT K

1080 IF "2 INSTR 1¢01$(1) THEN k#1: EXIT 1

1690 BMD FOR t

1700 IP k: FOR 12k TO 66: lcols (1)=CHRS(9)

1710 IF HOT k

1720 FOR 171 TO 86

1730 INPUT #3,rcol$(L> 1740 IF " IWSTR rcol$(i) THEM #1; EXIT 1 1750 END FOR 1

1760 END IF

1770 IF k; FOR isk TO 66: rcol$(t)=CHRS$(13)

1780 FOR 121 TO 66: PRINT #4,lco1$ (i);rcol$(1)>

1790 IP k THE® EXIT col_PRINT

1800 END REPeat col PRINT

1810 CLOSE #3: PRINT #4,CHRS @7)&"@";: CLOSE #4: CLOSE #5 1820 END DEFine FRINT_col

1900 DEFine PROCedure print_file

1910 FRINT\" Print to Paper or Pile (p/f";: gky

1920 IF an$=="p" THEN OPEW #4,ser1: ELSE anS="t"

1930 OPEN_IN #3,dvsaftles: PRINT #5,\dvSafile$\" will ba printed” 1930 IF an$='f' THEM PRINT #6," as:*!tempS: OFEN NEW #4,temps

1950) PRINT #5,\\" PATIENCE?!” 1960 END DEPine print_flle 1970

2000 DEFine FROCedure s 3010 DELETE flp2_Bi_col_bas: SAVE flp2_Bi_col_bas 2020 END PROCedure s

BoSTUG Sinclair/Timax Newsletter - 17 - September/October 1958

behind machine code thinking, the reader dives right into machine lanuage programming with a look at the CPU and how it works. The Z-80 assembly instruction set is 2xamined in detail, with examples

jemonstrating their use. Later,

the author touches on advanced zoncepts like bank switching, the

floating point processor, the

function dispatcher, and how peripherals (such as printers,

disk drives, and modems) work. Six appendices provide helpful tables and information for the reader.

One complaint | have is with a PRUIT routine in appendix B that had bugs tn it. The author uses the program to teach basic techniques to his machine code Classes at SMUG, #0 a detailed explanation of the program and what's going on is not included. 1 Guspect that the bugs are deliberate and meant for bis students to correct. However, there is no mention of this in the manual. It can be irritating for the beginning reader to be faced with a buggy program with no hints ag to how to correct it, especially when ha doesn't expect any bugs in the first place.

Book two, Advanced 2068 Machine

Gode Volume 1, covers graphics

and advanced screen progranming. lf you want ta write that ultimate “Paint” progran, or you

are interested in the 2068's

advanced video modes, this book ig what you are looking for. It

begins with a few notes about assemblers and compilers for the 2068. The second chapter starts

you out with a few simple routines that should be in every programmer's tocalbox (screen clear, locate screen address,

atc). Chapter three includes an

article (originally from the SMUG

Bytes newsletter) about bank switching BASIC programs with the Aerco disk drive's expanded memory banks. The author expands upon it with a discussion about using advanced screen modes while bank switching.

BoSTUG Sinclair/Timex sewsletter

. Wizards on the 2068,

The next three cnapters are devoted to the TS 2068's advanced video modes: 64 and 80 (yes 80) column screens, dual screen mode, and high resolution graphics mode. Tbe author provides many examples and 4 generous amount of source code, including com- Plete, debugged versions of th3 advanced video sade routines fron the T/’S 2068 Technical Manual.

The remainder of the book is about game programs and the ideas behind them. ‘Sprites’ are ex- amined and a super sprite driver is developed that puts the Tech Manual routines to shame. It cul- minates ina shoot-em-up arcade game that involves some complica- ted timing, interrupts, and even

drawing on the border. Finally, the book examines fractals and how to devalop the scene portion

of graphical adventure games.

to bdvecome

language these two books are a nust. If you are a beginning machine language pro- grammer, you will not find «a more informative and well-thought out tutorial anywhere.

Dr. Dreger is currently working on Advanced 2065 Machine Code Volume 2, which will cover BEEP, sound, and music on the 2068, and a closer look at the T/S 2068 ROK routines, to be released in 1989.

Por those who aspire crack 2-80 assenbly

books, The

A companion to these

Timex/Sinclair 2068 ROM Masu- script, also by Dr. Dreger, is a

disassembly of the 2068 ROM with comments and cross-references to the Sinclair Spectrum KOM, it is a valuable reference for assembly language programzers of all leagues.

The S.K.UG., Users

books are distributed by the Sinclair Atlwaukee

Group, at Box 101, Butler,

wil 53007. They are also carried

by most Timex/Sinclair dealers.

Order yours today.

- Jim Rodlin

- 18 - September/October 1988