to'

* UPDATE COMPUTER SYSTEMS *

UPDATE COMPUTER SYSTEMS is Edited and Published by Carol and Frank Davis of P.0. Box 1095, Peru, Indiana 46970. Phone number is 317-473-8031, with normal phone hours being between 5 P.M. and 9:30 P.M. Standard Time during the y/eek and noon to 6 P.M. on weekends. When we are not there or unavailable, please leave a message with our answering machine, you’ll be answered by mail

* * *

Mailing date for all issues is the twentieth of the issue month.

At times due to Postal Holidays, or the 20th falling on a weekend (bulk mail not accepted on weekends) they will be received at the Postal Unit the next business day. Please allow two to three weeks from this date before assuming your issue is not on its way to you. The Postal service tells us it can take as long as 6 weeks via bulk mail. For those wanting speedier service we can arrange your issue to go by First Class Mail, but that will raise the price of your subscription by $3.00.

n * * *

The magazine is published on a quarterly basis in the months of October, January, April and July. All subscriptions begin and end at the same time... first issue being October and all renewals coming due after receipt of the July issue. The cost is $18.00 U.S. for a one year subscription for North America, and for those outside of this area $20.00 U.S. We accept personal and business checks, money orders, and Cash. We do not accept credit cards at this time, due to costs. Back issues, where available pap benoqtained from us, at excellent prices.

* * *

Assistance in Publishing this magazine is provided by Eliad P. Wannum, poet, computer; user and ;all round good guy. The magazine is made possible by the regular contributors such as Paul Holmgren, Bill Cablp, Andy Hradesky, Bob Hartung to name a it few, and by the many,, contributions of other writers and programmers. Your, contributions to this magazine are welcome i This is truly a magazine BY THE USER AND FOR THE USER OF

SINCLAIR, TIMEX AND CAMBRIDGE COMPUTERS. When we cover othefSH operating systems such as CPM or MSDOS it will be in ar^I

relationship to our computers, or emulators for our systems bos Hi run their software. We primarily cover disk based systems anS-S’* \\ software for the TS2068, Spectrum, QL, Z88...and will cover items on the TS1000 if disk drive based, or in relationship t Ca¬ using it with the above mentioned computers. We do accept-; 4 reviews of peripherals that are <useable by our systems, such as j li scanners,;; printers;, modems, etc. Submissions should be on disk^H^ or hard;Vcqpy 4two qppies and at least NLQ, no\ sdraft mode). there is artwork, please let us know in what, order it should be used, and provide it as a saved screen or hard copy screen dump 1 The format is very relaxed. Just pay attention! to the width of^H the pages and allow 3/4 inch top and bottom, and make the left 1 and right margins wide enough to accomodate a 3o hole- punch thatB^ does not cut out some of the text. We have enlarge and reduction— capacity to adjust a page, but ; may lose some print legibi 1 ity ^ in the process. Most important inn legibility. Draft- quality dot1 matrix does not reproduce) wel l*, . Print, size * preference is ELITE- 12 CPI. PICA 10 -CPIniis okay aLso, .but please.no condensed print. T Please do ; not make programs .submitted on cassette tape under any" ! circumstance.;, disk cxr -hardcopy oiily. ^Exceptions i to this would* beJ’ on the wafers fiom-j the./ jBotron&GSeWaf adrive .forothe Spectrum. 288 f 1 programs on disk mayt.be ,in; either! IBM or QLr format or hardcopy . rL TS2068 programs may be LLISTED in 32 chr. lines .

UPDATE COMPUTER SYSTEMS PAGE DIRECTORY , JANUARY 1993

The computer that an article concerns is marked by using the following mark at the start of the page number-TS2068 = * , QL = # / Z88 = % , TS1000=~. There will be no mark if the article or ad applies to all or several different computer systems.

Inside Front Cover contains magazine information.

Page No. Page No. Page No. Page No.

Page No. ~Page No.

Page No.

Page No.

Page No. Page No.

★Page No.

Page No. #Page No. %Page No. #Page No.

#Page No. #Page No. Page No. Page No. #Page No. #Page No.

#Page No. #Page No. #Page No. %Page No. %Page No.

1 - UPDATE Directory of Magazine Contents

2 - Editorial and Dedication by Frank Davis

4 - Russell Electronics Ad

5 - Make the Tasman ' B' Centronics Printer Interface

Work With the Larken DS400 by Larry Kenney and Bob Swoger

7 - TS2068 Power Supply Information from QZX

8 - Tips on ZX81/TS1000 Computer Repair from

Budget Robotics and Computing

9 - TS2068 Payroll Program for Larken by

Jim Bretz

14 - Historys Greatest TS2068 POKES and

Extras by Frank Davis

16 - Continuation of TS2068 Payroll for Larken

18 - Mechanical Affinity Ad

20 - Autostart Hints for Larken Users by

Peter Hyman

21 - RMG Ad -- Rod Go wen

22 - QL ARCHIVE Revisited by A. Hradesky

26 - The Music Suite -- Ad

27 - Public Domain Software and the QL by

Bob Dyl of SeaCcast QL User Group

29 - The XChange Version of Quill by Ron Blizzard

30 - Open Letter to All QL Users by Peter Hale

31 - Computer Classics Ad

32 - Bible on Ethics supplied by Don Lambert

33 - QL Keyboard Connections by Bob Gilder of LIST

37 - Cable Column -- Archive Series - Part 11 by

Bill Cable

39 - QUANTA Library Update

40 QUANTA Application

41 - QL Acey-Digety Game by Lee Gayman

43 - Z88 Biorhythm Program Converted by Chris Fenn

46 - Safe As Houses -- Z88 Security by Mike Lloyd

taken from Z88 User j*

Page No. 48 - Computer Classics Ad

Page No. 49 - New Disks from UPDATE by E.P. Wannum

Page No. 50 - Free Want or To Sell Ads

Back Covers ---Issue Disks for TS2068 and QL

All material used in this publication is copywritten and remains solely in ownership by either the Magazine or the author. To reprint from this magazine please contact either the magazine or specific author. All Issue Disks are copyrighted and remain the property of the software author. All hardware advice is followed at the users sole risk. Where needed please consult with competent help on all hardware modi rx cat ions Or projects. Most of all enjoy the magazine and may it greatly enhance your use of your computer.

EDITORIAL AND DEDICATION by Frank W. Davis

The subscription level in the area of number of subscribers has stayed fairly level the last couple of years. We do on occasion lose a subscriber, who either decides he now no longer wants to subscribe, or changes computers. As we lose one. . .we seem to find another one who appears that we never knew was a Sinclair user. However, the biggest reason that we seem to occasionally lose a subscriber is by means of death. That has unfortunately been the case recently with one of our longtime subscribers and writers. I received a call a few weeks ago from John Pedersen, telling me that around Christmas his brother Bill

Pedersen had passed away. Bill had suffered for years from

Lupus, and had experienced severe heart problems a couple of years ago. I first met Bill when I helped organize and produce the first Midwest Timex Sinclair show in 1986 in Ohio. He came as a dealer of software for the TS1000 and TS2068. He had

written all of this software himself, and had a TS2068 that was

bank switching what seemed like huge amounts of memory at that time. This too was of Bill Pedersens own design. I bought a few programs from Bill. They worked, but were of a different program concept than I was used to. It took me a bit of effort to get used to them, but when I did, I found I could do more with the program than I originally thought. His style did work, he had just been raised on mainframes and minis and had programmed from that veiwpoint.'

The next year when Paul Holmgren, the ISTUG group, some of the original Fest group and I put on a Timex Sinclair show at Indy, Bill showed up at that show, though in a wheel chair. He had started telling people that the TS2068 had been deliberately sabotaged just before delivery in order to make it unable to do all that it was promised to do. Most of us did not take him at his word, at that time. Over the years since with Bill showing me what was in the ROM and SCLD,I must admit that some of what was there did not look to be of the same quality code work as that which performed as promised. It could be that Bill was right. Bill was engaged upon a project to allow the TS2068 to do all sorts of wonderful things, such as put the ROM where it could be easily modified, build an interface to allow the TS2068 to use IBM peripherals such as memory, hard drives and color display boards .(perhaps even VGA or SVGA). I was working with him on this project, and only wish that 1 -^had finished sooner what he wanted me to do, so that he could have seen it before he died. Larry Crawford, another friend of Bills, according to Bill had done a complete board. If this is so, Larry, please contact me on this, as I have many notes of Bills, and perhaps we can share data.

Bill made it to the Dayton Computerfest this last August and stayed up late bending the ear in a pleasant way of many of us.

I can say that he will be missed by more of us than just his ^ family. I dedicate this issue of UPDATE Magazine to BillTO Pedersen. ~

I realize that a small group of people feel that an editor should not edit, nor should he voice an opinion. To those cornfused few I say go to a dictionary and look up the meaning of the words edit and editorial. You might also look at a few editorials in newspapers; they are nothing if not opinion. We can always hope that the opinions are educated.

2

What is new in the Sinclair community? Well, for one I will try to dispell some nasty rumours. In a recent issue of NESQLUGs newsletter there was an article that gave the distinct impression that this was the last year of both UPDATE Magazine and of International QL Report. Neither is true! If any reader is ever in doubt as to whether these, or any other publication you are getting is about to cease publication, then call or write to find out (if you write please include a Self-Addressed and Stamped Envelope for a reply) . I spoke with the people publishing IQLR and was told that not only have they plans for finishing out the current subscription year, but have made a commitment for 2 years beyond that. As for the future of UPDATE Magazine, either Carol or I will let you know when and if we decide to not continue beyond a certain subscription year. As long as the number of subscriptions allows us to continue with a financially viable magazine and we have articles to publish, we will probably continue. If you find the number disconnected, or your mail returned from a publisher, or never heard from again, then you may start worrying. But, please do not be so swayed by nasty rumours. In our last issue Eliad mentioned that he, in his travels, had heard some rumour mongering about EMSoft, and now we have an ad in this issue from Peter Hale, having a going out of business sale, and in his ad he gives nasty rumours as part of the reason. Anyone who is engaged in such rumour mongering, or the repeating of such tales needs a good dose of honesty. In my own considerable experience there is nothing that justifies such bull! The spirit of man deserves better.

Well ,what do you know, I have just gone and expressed an opinion again. I do invite any opposing view that is not worded in a nasty or hateful manner to use this column as a forum in the next issue.

And now for some good news! In the last issue of IQLR, it was announced that we now have two QUANTA Sub Librarians for North America. We still have Paul Holmgren, of 5231 Wilton Wood Court, Indianapolis, Indiana 46254, phone number 317-291-6002. And we now have added Bob Dyl , of 15 Kilburn Court, Newport, Rhode Island, 02840. Paul can provide the library on both 5 1/4 and 3 1/2 disks, while Bob will be providing the disks on 3 1/2 format. You must be a current member of Quanta to purchase these disks; they are not legally available to you otherwise. As Quanta is the largest group of QL users in the world, publishes a 40 page monthly newsletter and has a library of 56 disks, all I can say is that if you use a QL...why are you not a member? In this issue we have included a membership form and a list of what disks are available from Paul. The library is not totally free, as you need to either supply formatted disks, or purchase them from the librarian, as well as pay for the postage. You should also take into account the packaging needed to ship so many disks to you safely. This is all a very small price to pay

for all receive .

of the programs.

utilities, games

and

data

you will

The

other large user

group of interest

to

North

Americans

(and maybe those elsewhere) is T/SNTJG. I had asked them for a write up on what they are doing for this issue but did not receive it yet. As I recently received the latest copy of their quarterly newsletter I know they still- exist, but I want to be able to tell people how to join and what and where any library they have can be obtained. Send me the data I can publish, please.

3

RUSSELL ELECTRONICS

RD# 1 Bx 539

Centre Hall, PA 16828

Dear Frank,

Nice talking with you and reviving some old IS memories. Here is some classic software aria some hardware that we would like to offer to your readers. Most are one-of-a-kind. First come, first served!

T'SIOOO :

BASIC COURSE-* Learn IS Basic language. $7.50

The following TS1000 tapes are $6.50 each:

TIME TEACHER

ORGANIZER: Mimi database manager.

MIXED GAMEBAG GAMES 4

ROCKETMAN: Hi resoiutionn graphics game from England. ZXTRICATOR: Another HI res game from England.

TS2068 :

PC -DR AN : Create graphics. $15.

MIND GAMES: Chess, backgammon, checkers and more. $15.

EPROMs, to Emulate the Spectrum. Plug into the TS2068 ROM socket Dill run much Spectrum software. $10.00.

QL : All on cartridge.

STOCK CONTROL. For small business management. $15.00

QL- CAVERN.. Outstanding platform game. $10.00

QL ARCHIVE. Database manager. $15.00

BUSINESS GRAPHICS. Spreadsheet. $15.00

QL EASEL. Drawing program. $15.00

DESIGN BOARD II. 2D & 3D CAD program. $25.00

TASKMASTER. Multiplexes the QL packaged programs. $15.00

HOME FINANCE. Cash record keeper. $18.00.

GARDNER. Plan your backyard garden. $15.00.

CUMANA DISC DRIVE INTERFACE FOR QL : $90.00

We pay shipping and handling costs.

Bill Russell

Make the Tasman 'B1 CPI Work With the LarKen DS-400

by Larry Kenny and Bob Swoger

George Chambers wrote to say: "We have been looking at the possibilities, i.e. reasonableness, of modifying the Tasman 'B' printer interface to make it compatible with the LarKen disk system. Presently there is some sort of a port conflict and the LarKen will not function when this particular model of printer interface is connected. The question is, does anyone know what port addresses the LarKen system uses?"

Here is the answer on how to use the Tasman ' B * CPI from Larry Kenny himself. The problem is not really a port conflict. Instead, the problem is that the Tasman 'B' CPI is not completely decoded. The Tasman iBi has an input port of 191 but A 7 is not being looked at by the CPI to come to this conclusion! If the mailman only looked at the first two numbers of an address and gave me all mail that began with *61', my address being '613’, I would wind up getting a lot of wrong mail. That is the Tasman problem.

Larry favored the AERCO CPI because it completely "decodes the address bus, but he made provisions for Tasman ' B', A & J and others if they were modified. I like the Tasman 'B' because it can send all bytes to the printer from 0 to 255 and the AERCO can't. So I have modified my Tasman 'B' CPI for LarKen compatibility to run my Christmas Return Label program. It should be noted that this fix will not work for the Tasman 'A' or Tasman ' C ' .

To make the Tasman 'B' CPI work with the LarKen disk System, acquire a 74LS04 quad NAND and some small gauge insulated hook-up wire. Open the Tasman 'B' CPI by first carefully peeling back the plastic label away from the screws. (If you pick up the ends carefully with an Exacto-knife, the label will press back over the screws when you are done without even a wrinkle.)

Remove the four screws that hold the case together and open the case. Examine the PC board to be certain that you have a 'B' version Tasman CPI. It is a 'B' if it is labeled 'VERSION B' .

Next, make the trace cut of A6 on the underside of the PC board close to board edge connector with the Exacto-knife. Now follow the rest of the instructions Larry has given us on the drawing. When you are finished, carefully check all connections against Larry's drawing. I didn't and had to go back in to fix my problem. Finally, close the case and press the plastic label back into place.

As for the port addresses of the LarKen system, I don't know them, but here are the CPI addresses from 'The Best of SUM', the newsletter-turned-magazine of the Gainsville Sinclair Users Group by Joe Williamson and Richard Cravy:

PORT

Type:

IN

OUT

AERCO

127

127

Tasman

'A'

63

123

Tasman

' B '

191

123

Tasman

•C'

251

123

5

ffgixtdincj-Uc ToS*>^n S+- C Use U/fK +ic JU<len 0\sL \F

&**<l*ll <s4 Pin5 On 4U- 7VZ.SOV Cypy (***P+ fins 4^7 7 uaJ /9)

S-ftict- it" on +*p a-f +k, iLS 53- , So Wet- /?/**.*

7 One/ /V l^o 7 a*l H *f -U* LS5Z

Conned" /Mo On co««*dh>r< p»n 5" On *H\«_ 7V4S32. U/,‘fA a U/iVe. Conn*cf /?7 On fit ConwccKr fo pin 3 on ffxt 7</lS0</ U/C+i U/iVe . Counter pi* £ on y</cs3Z. *> p/*, 6 tn 7^532.

6

TS2068 PS INFORMATION

AC Adapter

The AC Adapter transforms 117V AC (Nominal) to filtered DC via a step down transformer, full-wave bridge rectifier, and filter capacitor to supply from 14 to 25 volts at 1 amp over the AC voltage variation range of 105 to 130 V AC. Transformer isolation exceeds 1500 volts.

2.1.2 Voltage Regulation

Unregulated DC from the AC Adapter is supplied for regulation through a bi-filar torroidal inductor which reduces conducted line emanation for FCC compliance and through the power-ON/OFF switch located on the left side of the TS2068. This switch voltage is supplied to the System Bus Connector (see Section 2.4) and for regulation to the +12 V regulator and the +5 V regulator. Characteristics are as follows:

SUPPLY VOLTAGE RANGE CURRENT RANGE

5V 4.75 - 5.25V 200ma - 1.0 A

12V 11.5 - 12.5V 20ma - lOOma

_ i'WVVYV _ _ ,

- ^

ft£.C*ULlATcR

.V

(Vro zs v '

/VIWWV

1 >

- >

>

+Zo v

+ V

<J/V£>

The 12V regulator is a 78L12 series regulator while the 5V regulator is a switching supply utilizing the 78S40 circuit .

7

TIPS ON ZX81/TS1000 COMPUTER REPAIR

The following is a brief record, based on practical experience, of what kinds of things go wrong with the ZX81 and TS1000 computers and how to go about recognizing and fixing them.

Your first clue as to what's wrong is indicated by what does or does not come up on the screen. If nothing comes up on the* TV screen, after checking to see that the TV and computer have the same channel selected, suspect a bad power adapter. Another possibility is the RF modulator (the shiny box inside the computer), but I have yet to see one of these fail.

To take the computer apart (you have to do this if you want to fix it) remove the 3 to 5 screws from the bottom (two of them are under rubber feet) and separate the top and bottom halves.

The top half will have the computer printed circuit board attached. The first thing to check is the shiny grounding strip on the bottom of the circuit board. Sometimes one end (the end near the edge connection) breaks away from the circuit board. If so, reposition it and resolder it to the board.

In nearly all repairs you will have access the top side of the circuit board by taking the screws (usually 3) from the bottom of the circuit board. After these screws are out, slowly separate the case top from the circuit board being careful not to damage the keyboard ribbon connections. At this point you have two choices on how to proceed. If you pull the two keyboard ribbon connections from their connectors, you risk (1) tearing them or (2) not being able to reinsert them properly with out damaging them. As you see, the risk is either damaging the connections or damaging the connections. One alternative is to set the board and case top on their edges leaving a small space between them to get at the components on the board. However, you also risk damaging the ribbon connections this way too. This is one reason Budget Robotics sells replacement membrane keyboards.

Now, what to fix. If the keyboard ribbon connections are damaged (they get brittle from the heat sometimes), replace the keyboard. However, a common mistake in diagnosing a computer problem is to assume that if the keyboard does not respond, the keyboard is bad. If a group of keys in one area of the keyboard or on opposite sides of the keyboard are the only ones that don' t work, it is probably a bad keyboard. However, if none of the keys work (and the connection is OK) or if keys only fail in a shifted mode, it is probably a bad IC1 (integrated circuit chip number 1, one of the two largest chips, always socketed). In fact IC1 is the most common component to fail.

The CPU (the other large one, marked Z80 on top) is the second most susceptible to failure.

The other IC chips on the board rarely fail. These chips are the ROM (read only memory chip with the operating system inside) and the RAM (random access memory chip or chips, some machines have one, some two).

That is a corporate dump of the repair experience we have, good luck in you efforts.

&

TS2068 PAYROLL PROGRAM for Larken by Jim Bretz

400 RANDOMIZE USR 100: OPEN #3,"LP"

410 RANDOMIZE USR 100: POKE 16090,79 420 RANDOMIZE USR 100: POKE 16092,0 430 RANDOMIZE USR 100: POKE 16096,0

500 REM payroll 502 DIM e*( 1 1 ,22)

504 CLS

506 INPUT "Enter TODAYS Date " ; bS 510 PRINT AT 1,12; "MAIN MENU"

520 PRINT AT 5 , 1 ; "Opt ions : " *

530 PRINT TAB 5;"1. Enter New Employee TAB 5; "2. Calculate Wage. "’TAB 5; "3. V

iew Payrol 1 . " TAB 5; "4. Print Reports TAB 5; "5. Change Rate."

540 INPUT “Enter Option: ";x$

550 GO SUB VAL xS«1000

560 CLS : GO TO 510 lOOO REM new employee

1005 CLS : PRINT AT 1,9; "NEW EMPLOYEE"

1010 INPUT "Name: “;e$(l>: PRINT e$(l)

1020 INPUT "Married/Single ";eS(2)

1022 IF eS ( 2 , 1 TO 7)="married“ THEN GO TO 1028 1024 IF e$(2,l TO 6>="single“ THEN GO TO 1028

1026 GO TO 1020

1028 PRINT eS( 2 )

1030 INPUT "No. of Allowances" ;e$(3)

1035 PRINT e$(3) ; “Allowances"

1040 INPUT "Rate of Pay per Hr.";eS(4): PRINT eS(4) ; "per Hr."

1050 INPUT "SS number" ;x*

1052 IF LEN xS=9 THEN GO TO 1056

1054 GO TO 1050

1056 LET e$ ( 5 ) =x s

1058 PRINT e$ ( 5 , 1 TO 3 ) ; " - ; e$ ( 5 , 4 TO 5 ) ; " - " ; e$ ( 5 , 6 TO 9)

9

1060 INPUT "Pay Schedule, M th / B iM th ; e$ ( 6 )

1062 IF es ( 6 , 1 TO 3)*"mth" THEN GO TO 1068 1064 IF e*(6,l TO 5)*“bimth" THEN GO TO 1068

1066 GO TO 1060

1068 PRINT e*(6)

1070 INPUT "Any Changes y/n ?“;x$

1072 IF x$- " n " THEN GO TO 1078

1074 GO TO 1000

1080 INPUT "FICA year to date“;es(7>

1081 INPUT "MEDC year to date“;e*(ll)

1082 INPUT "FWT year to date";eS(8>

1084 INPUT "SWT year to date“;e*(9)

1086 INPUT "Gross Wage year to date " ; eS ( 10 )

1090 INPUT "Enter Employee Code" ; s$

1092 RANDOMIZE USR 100: SAVE s$*".AS" DATA eS()

1094 RETURN

2000 REM calc wage

2005 CLS : PRINT AT 1 , 9 ; " CALCU LATE WAGE"

2008 INPUT "Pay Period " ; pp

2010 INPUT "Enter Employee Code ;s$

2020 RANDOMIZE USR 100: LOAD ss*».AS" DATA e$() 2030 PRINT e*( 1 )

2040 INPUT "Enter Total Hrs. “;h: PRINT h;" Hrs. 2050 INPUT "Enter Overtime Hrs. ";o 2100 REM gross wage

2110 LET sw= VAL e*(4)»h 2120 LET ow=(.5*VAL e$(4))*o

worked

1 0

2130 LET gw=sw*ow

2200 LET F I CA=gw* . 062 2205 LET ME DC* gw* .0145

2210 LET bb* VAL e*(3>*2300 4

2300 REM FWT/SWT

2302 IF eS ( 6 , 1 TO SJ^bimth- AND e$(2,l TO 7 ) = “marr ied " THEN GO TO 2400

2304 IF eS ( 6 , 1 TO 5 ) = " b im th " AND e*(2.1 TO 6)="singleM THEN GO TO 2430

2306 IF e*(6.1 TO 3)*"mth,‘ AND e*(2sl TO 7 ) = " ma r r i ed THEN GO TO 2450

2308 IF e*(6,l TO 3)*"mth- AND eS(2,l TO 6 ) = M s ingl e THEN GO TO 2470

2400 REM bi/married

2410 LET a = VAL eS(3)*95.83

2412 LET b=gw-a

2414 LET FWT* ( b-250 ) * . 15 2416 LET a*gw*24

2420 LET c*a-bb

2422 LET d* ( c-3700 ) * . 06

2424 LET SWT*d/24

2426 GO TO 2490

2430 REM bi/single

2432 LET a=VAL eS(3)*95.83

2434 LET b=gw-a

2436 LET FWT* ( b- 102 ) * . 15

2438 LET a*gw*24

2442 LET c*a-bb

2444 LET d= ( c- 1300 ) * . 06

2446 LET SWT*d/24

2448 GO TO 2490

2450 REM mth/married

2452 LET a= VAL e$(3)*191.67

1 1

2454 LET b=gw-a

2456 LET FWT* ( b-500 ) * . 15

2458 LET a*gw*12

2460 LET c«a-bb

2462 LET d= < c-3700 ) * . 06

2464 LET SWT*d/12

2468 GO TO 2490

2470 REM nth/single

2472 LET a = VAL eS(3)»191.67 2474 LET b=gw*a

2476 LET FWT= ( b-204 ) * . 1 5 2478 LET a=gw*12 2482 LET c=a-bb

2484 LET d= ( c - 1300 ) * . 06

2486 LET SWT=d/12

2490 IF f wt < 0 THEN LET fwt = 0

2492 IF swt < 0 THEN LET swt = 0

2494 LET pay=VAL e$(4)

2500 PRINT "Gross Wage= M;gw’“FICA= " ; f ica "MEDC= " ; medc * *' FWT= ”;fwt’"SWT= ; swt 2502 LET net=gw- ( f ica +medc+ f wt +swt )

2504 PRINT “Net Wage = “;net

2506 INPUT “Print to paper y/n ?“;x$

2508 IF x$= “n " THEN GO TO 2530

2509 LPRINT ’’’’’’"Pay Period ";pp,"Date: ;b$

2510 LPRINT e*(l)’ "Total Hours for Pay Period ”;TAB 40;h' "Rate of pay per Hr. $"

;pay;TAB 40 ; sw “Over t ime pay for ";o," Hrs . ; TAB 40 ; ow Gross Wage";TAB 40;gw’”F ICA " ; TAB 40 ; f ica * MEDC " ; TAB 40 ; medc ' FWT ; TAB 40 ; fwt "SWT" ; TAB 40; swt’ "Net Wage"

; TAB 39 ; $ " ; ne t 2520 LPRINT

1 2

2530 LET x=VAL e$(7): LET x=x+fica: LET e$(7)=STR* x

2532 LET x = VAL e*(8): LET x=x+fwt: LET e$(8)=STRs x

2534 LET x=VAL e*( 9): LET x=x+swt: LET eS(9)=STR$ x

2536 LET x = VAL eS(10): LET x=x+gw: LET eS(10)=STR$ x

2537 LET x*VAL eS(ll): LET x=x+medc: LET eS(ll)=STR$ x

2538 IF xS s " n " THEN GO TO 2599

2540 LPRINT "FICA year to date: s";e$(7)

2541 LPRINT MEDC year to date: sM;e»(tl)

2542 LPRINT FWT year to date: s";es(8)

2544 LPRINT "SWT year to date: $M;eS(9)

2546 LPRINT “Gross Wage year to date: s”;es(l0)

2550 FOR 1=1 TO 45: LPRINT : NEXT 1

2599 RANDOMIZE USR 100: SAVE s$*".A$" DATA e$()

2600 RETURN

3000 REM view

3010 CLS : PRINT AT 1,9; “VIEW PAYROLL"’’

3020 INPUT “Enter Employee Code ;sS

3030 RANDOMIZE USR 100: LOAD s*-*-".A$H DATA e$<)

3040 PRINT es ( 1 ) e* (5,1 TO 3 > ; " - " ; e*( 5 , 4 TO 5 ) ; - ; es ( 5 , 6 TO 9)’

3042 PRINT "Status: " ;ei(2) ' “Allowances : ; es ( 3 ) " Rate of Pay: $";e$(4)

i od : ; e * ( 6 )

3044 PRINT "Year to Date:"

3046 LET x * VAL eS(10)

3048 PRINT "Gross Wage: s";x’"FICA: " ; e* ( 7 ) MEDC : ";e$( 11) "FWT: " ;es(

;e*(9)

3998 PAUSE 0

3999 RETURN

4000 REM reports

4010 CLS : PRINT AT 1 , 1 3 REPORTS "

4020 DIM Ds ( 30 , 2 )

CO NT PAGE

' " Pay Per

) "SWT :

ON

\<o

HI STORYS GREATEST TS2068 POKES AND EXTRAS by Frank Davis

Over the last several years most of us have collected from our own research, fellow users and newsletters some POKES that we have found useful to us while using the TS2068 or Spectrum. I want to share with you some I have put to use over the years. If you find some that I have forgotten, or never knew about, drop a line to me at UPDATE Magazine. Also program tips are shown.

(1) To put the TS2068 in CAPS LOCK mode--POKE 23658,8. To take the TS2068 out of CAPS LOCK mode--POKE 23658,0.

(2) To cause the computer to PAUSE until a key is pressed (any key) --PAUSE 0.

(3) POKE 23609, X (where X is from 1 to 255) will give you varying key click.

(4) POKE 23659,0 will make a program unstopable by using up all 24 lines. This can be used in just part of a program or throughout the entire program to limit user input.

(5) POKE 23692,1 will cause the computer to scroll 22 lines to a key press, then a key must be pressed for every line.

(6) POKE 23692,2 can be used before every print 'for automatic scrolling. This gives you a SCROLL command like you had on the TS1000 and the TS1500.

(7) On the Spectrum, you POKE 23617,142 in order to get the

Pound Sign (CHR$ 96). On the Spectrum to get the $ Sign, you

have to POKE 23617240 (which is CHR$ 36).

(8) For the Spectrum to get a fast auto repeat you POKE 23562,1. In order to disable the auto repeat on the Spectrum you POKE 23561,0.

(9) Also on the Spectrum you can find useful the following

POKES: POKE 23617,238 for a flashing blank square; POKE

23617,223 for a question mark; POKE 23617,252 for a ’less than' sign and POKE 23617,253 for a 'more than' sign. If you should POKE 23617,190 you will get the word USR, while POKE -23617,192 will give you the word BIN, and POKE 23617,208 will give you the word DATA.

(10) On the Spectrum or TS2068 emulating a Spectrum you can find out your memory size by the following little program:

10 PRINT (((PEEK 23732+256*PEEK 23733 )+ 1 ) /1024 )- 16 and it will be printed to the screen.

(11) On the Spectrum, if you want to disable the BREAD key, you need to enter this line into your program:

LET a= PEEK 23613-2: POKE 23613, a

(12) On the Spectrum if you POKE 23692, n with 'n' being upto a maximum of 255, you will over ride the SCROLL command 'n' times.

(13) Also on the Spectrum you can get a BRIGHT window at the bottom of the screen (lines 22 and 23) by entering the following: POKE 23624,120

(14) If you want to get a loading pattern on your screen then enter the following: LET a=1278

(15) On the Spectrum in order to find out how many 50ths of a second it took for a key to be pressed, then do the following: 'LET t=7997-USR 1991' and then 'PRINT t' to get the results.

(16) On the TS2068 to get a question mark displayed in an INPUT statement as a cursor you need to: POKE 23617,236

(17) On the TS2068 to get a delay between successive repeats

of a key being held down you enter 'POKE 23562,*' where * will

be on the order of * = 1 to 5.

(18) On the TS2068 to control the time that a key must be held down before it repeats enter the following, 'POKE 23561,*'. On this *=1 to 35, which can be varied on games according to ones skill and preferably 0-15 if you are entering text in a program such as a word processor.

(19) Some folks never liked (and got confused by) the SAVE

message "Start tape then press Enter". On the TS2068 you just

need to 'POKE 26689,38' and on the Spectrum 'POKE 23736,181' and you will start SAVEing immediately.

(20) Have you ever had a program that loads in several parts off of tape that gave you the following annoyance? You have the loader program, then a pretty screen presentation, followed by the loading of the main program overprinting the screen and giving an unaesthetic look? To get rid of this problem do the following in the loader program: POKE 23570,16 and in the main program you can restore by using POKE 23570,6. If you do not restore by the second POKE then PRINT and LIST will be corrupted in your program.

(21) If you have ever had the problem on the TS2068 that is caused by the INPUT command on the TS2068 not being able to see a letter in upper case (caps) as the same as lowercase, then try the following in your programs: POKE 23658,8 for UPPERCASE mode; POKE 23658,0 for LOWECASER mode; POKE 23617,2 for GRAPHIC mode; POKE 23617,1 for EXTENDED mode.

(22) To get contrasting color between ink or paper on the screen try INK 9 or PAPER 9.

(23) If you can't get line number 0 on a listing then try POKE 26711,0 and you will have line 0. To change line 0 to line 1 try POKE 26711, 1 .

(24) Should you want to send all data that is normally headed for the screen to the printer instead then use 'OPEN #2'. To cancel the above you need only enter 'CLOSE #2'.

I hope you can find some of these of use to you. Bye, Frank.

4022 FOR L* 1 TO 30

4024 INPUT “Enter Employee Codes: ”;ds(l)

4026 IF ds ( 1 ) = " STOP THEN GO TO 4100

4028 NEXT 1

4100 LPRINT “PAYROLL REPORT" , “Date : " ; bS *

4102 LPRINT "NAME " ; TAB 23 ; " WAGE " ; TAB 35 ; F I CA " ; TAB 47 ; “MEDC" ; TAB 59;MFWT";TAB 71

; "SWT" *

4105 LET gw*0 : LET fica=0: LET medc=0: LET fwt=0: LET swt=0 4110 FOR p= 1 TO ( 1 - 1 )

4120 RANDOMIZE USR 100: LOAD d$(p)*“.AS" DATA e®( )

4130 LPRINT eS ( 1 ) ; TAB 23;VAL eS(10);TAB 35;VAL e$(7);TAB 47;VAL e*(U);TAB 59;VA

L e* ( 8 ) ; TAB 71;VAL eS(9) '

4140 LET gw=gw+ VAL e$( 10) : LET f ica= f ica+VAL eS(7): LET medc=medc+ VAL e*( 1 1 ) : LE

T fwtsfwt+VAL e*(8): LET swt=swt+VAL e*(9)

4150 NEXT p

4200 LPRINT "TOTALS TAB 23; gw; TAB 35;fica;TAB 47;medc;TAB 59;fwt;TAB 71;swt

4999 RETURN

5000 REM Rate change

5010 CLS : PRINT AT 1,10; "RATE CHANGE"’’

5020 INPUT "Enter Employee Code" ;s$

5030 RANDOMIZE USR 100: LOAD s$«-".AS" DATA e$()

5040 PRINT e$(l)’e$(5,l TO 3 ) ; " - " ; e$ ( 5 , 4 TO 5 eS( 5 ,6 TO 9)’

5042 PRINT "Status: " ;eS(2) "Allowances: " ; eS ( 3 ) '* Rate of Pay: S " ; e$ ( 4 ) " Pay Per

iod : " ; eS ( 6 )

5044 INPUT " Marr ied / S i ngl e ;a$

5045 IF aS = " " THEN GO TO 5060

5046 IF a$= "marr ied" THEN GO TO 5050

1 6

5048 IF a*= “single" THEN GO TO 5050

5050 LET e$(2)=as

5060 INPUT "No. of All owances ; a*

5062 IF a*=“" THEN GO TO 5070

5064 LET e*(3)=aS

5070 INPUT "Rate of Pay per Hr. '' ;a*

5072 IF as* " THEN GO TO 5080

5074 LET e* ( 4 ) =a*

5080 INPUT “Pay Schedule, Mth/ BiMth " ; a* : IF a$ = '*“ THEN GO TO 5090 5082 IF a*= "mth " THEN GO TO 5088

5084 IF a*= "bimth THEN GO TO 5088

5088 LET eS(6)*aS

5090 RANDOMIZE USR 100: SAVE sS+‘.A$" DATA eS()

5099 RETURN

This can be a useful as well as educational program for the TS2068. Jim wrote it for use with the Larken Interface, but it is easily converted to something like the Oliger system, by merely changing all of the LOAD and START commands, and deleting Larken commands, such as "PRINT USR 100:" and "PRINT# 4". These are Larken specific commands. You will also have to remove the file extensions, such as .Bl, etc. With this program you can track and get total results of all items such as pay, federal taxes and social security for employees. It has updated employee withholding tables and has all of the tax increases the last President left us with included! For the next President, we have to wait and see what he leaves us with.

We will be offering this as an Issue Disk for those without the time or inclination to type in and debug the program for yourself. If we can, we would like fox; some enterprising Aercc? or Zebra Disk System users to send us in the necessary conversions for their systems. On all of our issue disks we give half of the proceeds to the original author of the program, and the rest goes towards disks, documentation where needed, and 1 packaging and mailing costs. The price is $20.00.

1 7

MECHANICAL AFFINITY CATERING TO THE SINCLAIR COMMUNITY IN NORTH AMERICA

With two locations to serve you and provide accessories for your Sinclair, Timex-Sinclair or Cambridge computer. To obtain our newest catalog for the QL, Z88, TS2068, or other Sinclair machines, please send a legal size, self-addressed stamped envelope to one of the two listed locations, or phone (evenings or weekends), the numbers given below.

Recently, due to increasing demand on your part, we have added memory, cable and some software for the Z 88. We have brought back some old favorites for the TS2068, and have added quite a bit to our QL inventory.

For the QL we now carry the full line of software and hardware from JOCHEN MERZ SOFTWARE, DILWYN JONES COMPUTING, and DIGITAL PRECISION.

We also carry hardware from MIRACLE SYSTEMS for your QL.

MECHANICAL AFFINITY 513 EAST MAIN STREET PERU, IN 46970 317-473-8031

OR

MECHANICAL AFFINITY 5231 WILTON WOOD COURT INDIANAPOLIS, IN 46254 317-291-6002

We strongly support the idea of Sinclair users supporting the Sinclair machines and vendors. If there is a new product you are looking for, perhaps we can be of help. We just keep getting better the more we serve you and learn!

* * **************

*****************

ME CHAN X CAL

AFFINITY WINTER SALE

Bus i ness u s ttii s 1 ast of foreign

somewhat; more To celebrate our customers

has been good for ir , and the price goods has been

favorable recently . thi s , and *to help wo will too of f ering

a special solo oil the way up -fc ± 1 1 Ap rr i 1 15, t ax d oy in the USA.

The solos prices loo 1 ow will too i rr of foot: only fill f hen I

GOLD CARDS on sale for $360. This is a good time to upgrade your QL to 2 meg of memory, 16 megahertz speed and a battery backed internal clock with the latest version of Tool Kit 2 by Tony Tebby, and be able to use 3 disk drives (including 1.44 HD and 3.2 ED drives). Price includes S. & H.

INTERNAL QL ROM BOARD KITS, complete with printed circuit board, parts and instructions for only $12. Either you, or we can put your QL ROM on eprom and use it in this board to allow you to use your favorite ROM version, reduce heat internally in your QL by upto 50 degrees, and reduce power consumption by as much as 20 %. This kit does require soldering and the opening and installing of it inside your QL.

INTERNAL BATTERY BACKED CLOCK BOARDS FOR THE QL, complete with all parts, printed circuit board, and instructions for only $12. If you do not have a QIMI mouse with clock, or a Gold Card, then this is one of the best ways to give your QL a stable battery backed internal clock. Battery included.

NEW PRODUCTS I

HERMES, a replacement co processor for the Sinclair QL.

For only $43 you can give the following to your QL: No keyboard bounce, 2 key rollover (even with SHIFT), fully reliable serial output upto 19,200 baud with 1 stop bit (this assumes that IC25 output buffer is fully functional and handshaking is enabled at both ends), different baud rates for each SERI and SER2 input lines while separate from output (with latest version of Minerv4 can allow you to operate both a serial mouse and a printer from SERI), code to handle 3 spare I/O lines, key click can be toggled on and off, Reset/INT7 can be invoked more safely, function is included to return I PC number. It even improves the fuzzy and random sound capability of the QL. This does require internal fitting inside the computer. It even comes with a disk of utilities and a full manual. Works with Minerva and the Gold Card, and allows the full use of a modem without the need for a Modaptor .

*******************************

1 9

THE FOLLOWING IS AN EXTRACT FROM PETER HYMANS LETTER.

THIS IS AN AUTOSTART HINT FOR LARKIN USERS.

AN AUTOSTART FILE FOR THE LK DOS IS TRIGGERED UPON BOOT UP BY HOLDING DOWN THE ENTER KEY WHEN TURNING ON THE COMPUTER AND DISK DRIVE. THE AUTOSTART SHOULD NOT BE MORE THAN 1 BLOCK, 1 TRACK LONG.

WHEN I FIRST TRIED TO MAKE MY OWN AUTOSTART FILE I GOT A DISK

FULL ERROR. LARKEN SAYS TO CLEAR RAMTOP TO WITHIN 150 TO 200

BYTES, FREE, SO THAT PRINT FREE YIELDS 150 TO 200 BYTES. WITH THAT I MODIFIED THE MENU. B1 FILE. BUT EACH TIME I CREATED IT

I FOUND THAT IT TOOK UP 2 BLOCKS INSTEAD OF 1.

HERE IS A GOOD METHOD FOR CREATING AUTOSTART FILE ON LK DOS DISK SYSTEMS.

1. TURN ON THE SYSTEM, WITH OUT PRESSING ANY KEYS, AND INSERT THE DISK YOU WANT TO MAKE INTO AN AUTOSTART DISK.

2. START UP LK DOS AS USUAL WITH THE:

RADOMIZE USR 100:, "dd” ,

THEN TYPE THIS PROGRAM. I USED MENU. B1 BUT YOU COULD MAKE THIS ANY FILE YOU WANT. FOR EXAMPLE * TASWO. Bl’ SO THAT TASWORD WOULD COME UP AUTOMATICALLY.

10 RANDOMIZE USR 100: OPEN #4,”dd”,

20 BORDER 1:PAPER1:INK 7:CLS

30 CLEAR 65367

40 PRINT #4: LOAD ’’MENU.Bl”

3. AT THIS POINT WE WILL CREATE THE AUTOSTART, AS PER THE INSTRUCTIONS. IN DIRECT MODE TYPE THE FOLLOWING:

PRINT 65536 FREE (this equals 26839. >

(this might be different than yours , but, thats ok>

4. ADD 150 TO WHATEVER THE NUMBER WAS. IF IT WAS 26839, THEN 26990 IS WHAT WE’LL USE IN THE NEXT DIRECT STATEMENT.

CLEAR 26990

PRINT FREE <this sould give us 169 bytes free. )

RANDOMIZE USR 102: RUN: GOTO 10

THE TIMEX WILL ’DING DONG’ AND APPEAR TO BE HUNG UP, BUT, PRESS D OR d.

THE COMPUTER DISK DRIVE SHOULD SPIN FOR A FEW SECONDS, THEN THE PROGRAM YOU PLACED INTO LINE 40 OF THE ABOVE PROGRAM SHOULD BEGIN TO RUN.

NOW, IF YOU DO A ’CAP’”, YOU’LL SEE THAT THE AUTOSTART TAKES UP ONE < 1 ) BLOCK.

RAG

Supports TSers!

WE CERTAINLY DO! If you were a subscriber to our monthly flyers you would be one of the first to know about all of the new and exciting software and hardware that we come across. Many new PD programs, great finds in used hardware/software! AND, we try to keep you up on what is happening in the TS world. To subscribe, send 12 legal SASEs. For computer catalog send $4. For new gift catalog send $4. Mail to:

RMG ENTERPRISES

1419-1/2 7th Street Oregon City, OR 97045-2030 503/655-7484 FAX: 503/655-4116

QL- ARCHIVE REVISITED

A. Hradesky 01/06/93

Back several issues of UPDATE, we discussed the possibilities of upgrading the address database example within the QL manual. This ' upgrade ' gave your address database a more personable look, one that was not so sterile. To further advance your use of Archive, go ahead and type the listing below. This front-end type menu was originally designed for an extensive library program I created at work. The final product (at work) opens 10 separate databases each containing over 250 entries. Since there are only 386 PC's at work, I purchased PC-Four ( the same programs as the Psion quartet for the QL - only $100.00 more ) for the sake of using Archive. After it's success during beta testing, I thought the menu design could be used universally^ especially for the QL. The only problem I ran into was discovering QL- Archive had only half the IBM ASCII character set compared to PC- Archive. As you probably guessed, the ASCII characters I used are not within the QL- Archive repertoire. So, printing the QL- Archive ASCII character set helped reveal a pleasing design for the menu. After deciding which ASCII characters to use another problem cropped up. To display the menu, an unexpanded QL takes a considerable amount of time to physically draw the screen compared to Archive's SLOAD routine. So I decided (for the QL) to use this routine instead.

The listing below is designed for QL users who emulate a PC via SolutioiyConqueror and use PC-Archive (like I do) or own an IBM of some type. Please note, these listings are just for the menu design, I am saving the core library program for a later article. For those who wish to receive this program for the QL, just write to the UPDATE editor (Frank Davis) for a copy. SLOAD is a screen loader command to load a bit-mapped file, one that can not be printed with any sense. This is why the QL version can not be printed.

PC-Archive Listing: AddLib Menu

proc block

let a=0

print at r,c;chr(218);chr(4)+chr(196)+chr(w);chr(191) while A<H let r=r+l

print at R,C;chr(179);chr(4)+" "+chr(W);chr(179) let A=A+1

endwhile _ * ^ -

print at r,c;chr(192);chr(4)+chr(196)+chr(W);chr(217) endproc

proc BLOCK1

let A=0

print at r,c;chr(201);chr(4)+chr(205)+chr(W);chr(187) while A<H let r=r+ 1

print at R,C;chr(186);chr(4)+" H+chr(W);chr(186)

let A=A+1

endwhile

print at r,c;chx(200);chr(4)+chr(205)+chr(W);chr(188) endproc

QL- ARCHIVE REVISITED

proc mainmenu

mode 0,8

REM SET WINDOW AND COLOR ***** print chr( 20)+ chr (0) + clir(0) + chr(80) + chr(25) paper 0: els

REM * * * * * CREATE MENU TITLE * * * * * * ink 5

print at 0,8;chr(201); at 0,9;rept(chr(205),61); at 0,70;chr(187) print at l,8;chr(186); at l,70;chr(186)

orint at 2.8:chr(200): at 2,9:rept(chr(205),61); at 2,70;chr(188) REM * * * * * CREATE MENU PIXEL FRAME * * * * * ink 1

let C=l: let R=3: let H=18: let W=76 BLOCK

print at 4,2;rept(chr(176),76)

print at 5,2;chr(176); at 5,39;rept(chr(176),2); at 5,77;chr(176) print at 6,2;chr(176); at 6,39;rept(chr(176),2); at 6,77;chr(176) print at 7,2;chr(176); at 7,39;rept(chr(176),2); at 7,77;chr(176) print at 8,2;chr(176); at 8,39;rept(chr(176),2); at 8,77;chr(176) print at 9,2;chr(176); at 9,39;rept(chr(176),2); at 9,77;chr(176) print at 10,2;chr(176); at 10,39;rept(chr(176),2); at 10,77;chr(176) print at ll,2;chr(176); at ll,39;rept(chr(176),2); at ll,77;chr(176) print at 12,2;rept(chr(17(3),76)

print at 13,2;chr(176); at 13,39;rept(chr(176),2); at 13,77;chr(176) print at 14,2;chr(176); at 14,39;rept(chr(176),2); at 14,77;chr(176) print at I5,2;chr(176); at 15,39;rept(chr(176),2); at 15,77;chr(176) print at 16,2;chr(176); at 16,39;rept(chr(176),2); at 16,77;chr(176) print at 17,2;chr(176); at 17,39;rept(chr(176),2); at 17,77;chr(176) print at 18,2;clir(176); at 18,39;rept(chr(176),2); at 18,77;chr(176) print at 19,2;chr(176); at 19,39;rept(chr(176),2); at 19,77;chr(176) print at 20,2;rept(chr(176),76)

REM " + CREATE MENU WIRE FRAME + +

ink 5

let H=6: let W=34: let R=5: let C=3 BLOCK

let C=41: let R=5 BLOCK

let C=3: let R=13 BLOCK

let C=41: let R=13 BLOCK

let C=4: let R=4: let H=2: let W=17

ink 5

BLOCK 1

let C=42: let R=4

BLOCK 1

let C=4: let R=12

BLOCK 1

let C=42: let R=12 BLOCK 1

REM * * t + CREATE TITLES * * * * * ink 7

print at 1,25;" A DDRESS LIBRARY" ink 7

QL- ARCHIVE REVISITED

print at 5, 10; "SEARCH" print at 5,47; "PRINT-OUT" print at 13,8;"MAINTENANCE" print at 13,49;"STATUS"

REM ***** CREATE CHOICES ink 5

print at 7,5;" [A] Use to find the following:" ink 2

print at 9,5;"Name, Address, City, State, Zip" print at 10,5; "Misc. Descriptions, Information" ink 5: print at 7,43;"List Format In Order of:" ink 5: print at 9,43;" [B] " ink 2: print at 9,49;"Name, City, State, or Zip" ink 5: print at 10,43;" [C]"

ink 2: print at 10,49; "Business or Organization" ink 5: print at 16,5;"Ailows the alteration of:" print at 17,5;"[DJ"

ink 2: print at 17,ll;"AddLib DataBase Files" ink 5: print at 18,5;" [E]" ink 2: print at 18,ll;"AddLib Program" ink 5

print at 15,44;"DATE TIME RECORDS" ink 6

print at 20, 19;" [Enter Selection (A-E, or X to quit) : :]" endproc

proc password

print at 2,20;"PASSWORD VALIDATION"

ink 6: print at 5,21;"W ARNING! !": ink 7

print at 8, 13;" Your PASSWORD is required in"

print at 9,13;"order to perform any alterations"

print at 10, 13; "to this program!"

print at 14,13;"The wrong PASSWORD will return"

print at 15,13;"you to the MAIN MENU."

ink 6: print at 12,13;"PASSWORD? ";: ink 5

input pass$

if pass$<>"beach"

ink 7

start

endif

ink 7

endproc

proc pause

REM ***** TO FREEZE THE SCREEN FOR DISPLAY

let ok$=lower(getkey())

ifok$=""

endif

endproc

proc sav

save object "AdclLib" endproc

QL- ARCHIVE REVISITED

proc scr

mode 0,8

print chr(2)+chr(5):REM CYAN PAPER print chr(12):REM FORM FEED = CLS

print ehr(20)+chr(ll)+elir(3)+chr(71)+chr(21) print chr(2)+chr(0):REM BLACK PAPER print chr(12):REM FORM FEED

print chr(20)+chr(9)+chr(2)+chr(69)+chr(20) print chr(2)+chr(2):REM RED PAPER print chr(12):REM FORM FEED

endproc

proc scrDISK

REM CHOOSE AN OPTION ****

print at 2,10;"I NVENTORY PRINT-OUT"

ink 6: print at 5,19;"A TT E N T I O N ! !": ink .7

print at 8,14;"The XXXXLOG will be converted"

print at 9,14;"into an Exportable file."

print at ll,14;"Exit Archive and load Abacus"

print at 12,14;"using the file import command."

ink 6: print at 14,16;"PRESS ANY KEY TO CONTINUE

pause

endproc

proc scrframe ink 7

print tab 8;chr(201);chr(4)+chr(205)+chr(40);chr(187) print tab 8;chr(186);chr(4)+" "+chr(40)+chr(186) print tab 8;chr(200);clir(4)+chr(205)+chr(40);chr(188) print tab 8;chr(218);clir(4)+chr(196)+chr(40);chr(191) print tab 8;chr(179);chr(4)+" "+chr(4Q)+chr(179) print tab 8;chr(195);chr(4)+chr(190)+chr(40);chr(180) let A=0 while A<9

print tab 8;chr(179);chr(4)+" "+chr(40);clir(179)

let A=A+1

endwhile

print tab 8;chr(192);chr(4)+chr(196)+chr(40);chr(217) endproc

proc start REM

REM •*** AUTHOR: A. Hradesky REM + t DATE: 24 SEP 91 REM LIBRARY MENU

REM (c) 1991 by TIMELINEZ

REM **** For Public Domain use only REM

let record=0 mainmenu let key$="z" while key$<>"X" ink 2

print at 17,43;date(2)

QL-ARCHIVE

REVISITED

print at 17,55;time() print at 17,71;record

print at 20,56;" ";:REM **** waiting cursor in selection line

ink 6: print at 20,56;":";: ink 6:REM ***** correct the above enter

line

let key$=(getkey()): REM *** Use to deactivate ESC key

rem ***** let key$=lower(inkey()): REM ***Use for active clock

if key$=chr(0)+chr(27):start: endif

if key$="a":scr:scrframe:pause:start: endif

if key$="b":scr:scrframe:pause:start: endif

if key$="c":scr:scrframe:scrDlSK:start: endif

if key$="d":scr:scrframe:pause:start: endif

if kev$="e":scr:scrframe:password: mode 0,8: edit : endif

if key$="x": mode 1,8: quit : endif

if key$=chr(0)+chr(27):start: endif

endwhile

endproc

proc window

els

print chr(2)+chr(2) print chr(12) endproc

THE MUSIC SUITE LTD.

The Music Suite Ltd, Cenarth,

Newcastle Emlyn, Dyfed SA38 9JN.

Credit Card Hotline: (0239) 710594 FAX: (0239) 71 1343

THE Z88 - LINK II

FULL REMOTE CONTROL OF THE Z88 WITHOUT AN EPROM

ADVANCED BATCH PROCESSING ON ALL FUNCTIONS "

ARCHIVAL OF ALL Z88 FILES ONTO DISK (INC. FULL BACKUP) WITH VERIFY OPTION

CONVERTS P1PEDREAM FILES FOR WORDPROCESSOR USE (USING THE RESULTS OF FORMULAE RATHER THAN THE EQUATIONS)

CONVERTS PIPEDREAM FILES TO WORK WITH DATABASES OR LOTUS 1-2-3 COMPATIBLE SPREADSHEETS

PRINT PIPEDREAM FILES ONTO ANY PRINTER CONNECTED TO THE HOST COMPUTER’S PARALLEL PORT

PRINT FULL 238 DIRECTORY ONTO PRINTER

AVAILABLE NOW FOR: ATARI STs, PC COMPATIBLES and AMIGA'S Each program comes on disk, with a cable and manual for £34 96 (PC version comes on both a 3V2* and 5Y/ disk)

Registered owners of the Z88-ST Unk or Z88- Amiga Unk can update to the Z88-UNK II for £10 Please make cbeques/PO's payable to: THE MUSIC SUITE LTD.

You can also pay on credit card (Access/Visa) by FAX (0239) 711343 or phone (0239) 710594

PD SOFTWARE and THE QL SeaCoast QL User Group - Bob Dyl

Over the past four years, we've seen tremendous growth in the Public Domain sector of the QL world. In this article we'll try to present a little something concerning the major sources of Public Domain and Shareware Software, and how you can get your hands on as much as you might desire.

Who's responsible for this growth ?t? In the commercial sector the answer is a simple one; Richard Alexander of C.G.H. Services. In the user group sector, the names, are familiar ones; Quanta with its quality 56 disk (at present count) library, and Franz Herrmann of the SINCLAIR QL USER CLUB e.V. of Germany who organized the International Freeware Exchange (over 135 disks and growing) .

USER GROUPS

One of the first sources a user should try is their local QL or Timex/Sinclair user group, most have public domain software libraries available to their members. If you are not a member of a group, or don't know where to locate one, contact Frank Davis here at UPDATE magazine, I'm sure he can help you.

QUANTA is the best known and probably largest QL/QDOS user group in the world. Their library is available to all their CURRENT MEMBERS, through a network of sub-1 ibrarians scattered worldwide. In a manner of speaking the library isn't really public domain as it is only available to QUANTA members.

The membership fee is £17 per year, and includes their monthly newsletter (major credit cards are accepted), and you can join Quanta by contacting:

Bill Newell (membership Secretary)

213 Manor Road Benfleet, Essex SS7 4 JD

Great Britain Tel: 0268 754 407

IFE (International Freeware Exchange) is just as its name implies, a clearing house of freeware from all over the world. ONLY user groups can join IFE. IFE's operation is quite simple, user groups join IFE by submitting their library and paying a small membership fee; they in turn can obtain part or the entire IFE library for the cost of the number of disks and postage required.

As we stated earlier the library contains over 135 disks in 8 different languages. It is available only on 3.5" disks. For more information contact:

i

Franz Herrmann /IFE *

Talstrasse 21 *

W-5460 Ockenfels Germany

27

COMMERCIAL SUPPLIERS

C.G.H. Services (Richard Alexander) has the largest commercial offering of public domain software, a good portion of which can only be obtained from them. Their collection covers a broad range of interest, from games, graphic screens, to utilities and serious software.

Richard has informed me that they have in excess of 100 different disks available, at very reasonable prices. For more information, contact :

C.G.H. Services Cwn Gwen Hall Pencader, Dyfed, Cymru Great Britain SA39 9HA Tel: 0559 384 574

QUBBESOFT PD (Ron Dunnett), this collection is made up of mostly serious software and occupies about 25 different disks. In addition to the PD software, Ron also offers second-hand QL hardware, software, and even some books and magazines. QUBBESOFT now carries new TRUMP CARDS and just re-released QEP 3 EPROM programmer. For more information contact:

QUBBESOFT P/D 38 Brunwin Road Rayne, Braintree, Essex Great Britain CM7 5BU Tel: 0376 347 852

S.J.P.D. is the newest entry in the commercial PD software market. I don’t know much about them, other than the fact that they offer over 30 different disks. A friend in the UK ordered from them and he reported very prompt service. The only area of concern is that QLAW offers its wares through S.J.P.D. and we have withdrawn our support from QLAW. For more information, .contact:

S.J.P.D.

36 Eldwick Street

Burnley, lanes.

Great Britain BB10 3DZ

Tel: 0282 51854

Well, the information contained in this article should give you a running start in your quest for Public Domain and Shareware software. Please remember when writing to any of the sources listed, include at least 1 or 2 International Reply Coupons (available at your local Post Office) with your letter; it could make the difference as to getting a return reply.

28

THE XCHANGE VERSION OF QUILL

Although Quill is old, rat QL owners still use ft, at least part of the tine. It is a very good general purpose word processor, The enhancements in version 2.35, especially when running with Athene's Turbo QuOit, has made the program a lot less buggy and such more responsive. With the Gold Card, I as told, the speed is greatly increased. But there are still shortcomings.

Qui has no Block Copy and Save feature or Global replace command, for does it have a mail merge feature, But QuiB’s biggest cassia, in sy opinion, is its inability to import most ASCII files. (Yes there are ways to get around this, but they are cumbersome.}

Tert87 and Perfection can overcome these problems, but they are fairly expensive and there is a learning curve. Another solution is XCHANGE.

ICHAHGg is a dkk version of the set of four PSIOff programs that cane with the QL It allows all four programs to be loaded simultaneously. Using the P6 key (shift FI with the QL) the user can switch from one application to the neit Several documents can be loaded at once. The amount of memory is the only limft to the number of PSION applications available.

I’ll concentrate on the changes in Qui, hut ICHADGS includes a Task Sequence Language (TSL) that allows a programmer to control interplay be¬ tween the various applications. It also has 3D charts in Basel and a one-stop command to eipart Easel, Abacus or Archive files and impart them into Qui.

The version of XCHANGE I use is 3$ (copy¬ righted in 1967). I am told that it was hacked over from the THOR. The oily documentation I received was some pages from the reference manual dealing with the MAIL subcommand and the GLOSSARY fea¬ ture. Also, on the disk, was a short Quill_D0C explaining how to use the Task Sequencing Lan¬ guage. Five sample _TSL programs, which appear to have been part of a longer tutorial, where also included on the disk. With the PSION FI help feature, the above documents are enough to figure out most features.

XCHANGE requires the Toolkit II extensions, Once loaded you are presented with the teskswtich- ing screen. There are several commands available using FI You are also allowed to scroll to one of the four PSION programs and enter ft. If you push the ENTER key wfth the Qui label highlighted (tor example) you are prompted for a TASK name. Type a name, press the enter key and you are in QuHL

To open more Qui applications, press F6 (shift FI), scroll down to the Qui label, enter and use a dif¬ ferent task name, Press F6 to switch between applications at any time.

Once in Qui you will be in familiar territory. There are a few apparent minor differences. Far example, to change from Insert to Overwrite it wi say press F9 (which is shift F4). There is a block fey F6 (XCHANGE) and there is a task name at the bottom. Help k sti available at all times by push¬ ing FI, F3 gives you the commands, and prompts are turned off and on with the F2 key. The only added command is EXTRACT, but there are several additional subcommands and well get to those in a minute.

EXTRACT allows a block erf text to be highlight¬ ed, then saved to be merged with other documents at a later time.

SEARCH and REPLACE have the following en¬ hancements. They both now give the option of beginning at the TOP or defaulting from where the cursor is. REPLACE also prompts with "Yes, fo or AD?*— which allows global replacements.

SAVB now asks to overwrite with an ‘OVER¬ WRITE, YES?* prompt instead of requiring the user to push "Y.* There are several other enhancements (ft this kind.

There is also a GLOSSARY feature that allows the user to predefine a set (ft commonly used key¬ strokes. This is similar to the one used in Turbo QuilH, even making use of the F5 key. Any letter or number can be defined and up to 250 keystrokes can be entered far each definition or 'glossary.*

The most impotent changes are in the FILE command, fo longer will you find FORMAT, BACKUP or COPY. (BACKUP and COPY are two of the com¬ mands in the XCHANGE front end— FORMAT is no longer available from within XCBANGB.) These commands are replaced by the following: IMPORT (enhanced), EXPORT, MAIL and TRANSFER. These changes are, to me, the key advantage of using Quill under XCHANGE.

IMPORT now imports any ASCII text file, allow¬ ing many more extensions than _LIS. This saves the hassle of having to change the file name's extension. Impart can be used to view TSL pro¬ grams, SuperBASIC programs, Glossary definitions, etc. It also can be used to import text from other computers that has been brought over through the serial port, with Discover, or by using some other transfer program.

EXPORT makes an ASCII file with only carriage

returns and line feeds at the end of each line. This is very nice for uploading files to Bulletin Boards. One disadvantage of EXPORT, since ft puts line feeds and carriage returns at the end of each line, is that ft cant be directly used for editing SuperBASIC programs. Either a fitter program could be used to overcome this problem, or the dd solu¬ tion (ft making a special printer JAT and saving to a _LIS file. The default extension with EXPORT is _EXP. If you use _TSL instead, the file is treated as a TSL program. This means you can write a TSL program, XCRANGB tasks, try ft out, then return with the XCHANGE command and continue writing the program.

TRANSFER ateo lakes ASCII text files. Its purpose is to allow Quill documents to be trans¬ ferred to another type of computer using Qui (an IBM PC, tor example) without losing the formatting and typestyle commands. It does this by using ASCII characters to define the control codes. Once the document is transferred ft can be saved in the regular way and nothing is lost TRANSFER prompts the user either to Save or Load when the subcom¬ mand is chosen.

MAIL is the most complicated of the FILE subcommands. It allows personalised form letters to be printed. It does this in one of three ways. Codes can be inserted into the standard document that promt the user to type intonation from the keyboard when each letter is printed. Or codes can be embedded in the standard document allowing the intonation to be supplied by either a specially prepared Quill document or an Archive _KXP file. The ARCHIVE _EXP extension is the default

I'l very apressed with Quill in the XCHANGE program. The ability to open two or more docu¬ ments, extract what you want from one and load it into the other document is nice. There is multitask¬ ing software that allows task switching, but none that uses the enhanced version of QuilL I've used Turbo QuiUf by Athene tor several' years and am very happy with its increased speed and smoother 'feeL* The XOiANGE version (ft QuiQ seems about as fast and smooth as Turbo QuiHt. In addition, it has the added FILE subcommand features.

If anyone would like more intonation about XCHANGS, please write. I’m told that Sharps still has a couple copies available for $60, but I’m disap¬ pointed that a complete manual is not provided.

2 9

An OJPglST LETTgg _ j£jg> AJLbJEa ttE* _ ZJSERS

To all it may concern;

Effective close of business March 2, 1993, EMSoft will cease operations.

It began in 1987 as a service to promote North American software for the Sinclair QL; it was not to compete with existing suppliers. It was not intended to be a profit-making enterprise. Nor was it to lose money.

To the extent that software was written for the QL, it did its job.

The decision to terminate operations was not arrived at impulsively but was hastened by mean and petty rumor mongering without basis in fact.

Mechanical Affinity is a reliable and domestic source of considerable hardware and software. We recommend them. Further, most European vendors now accept Visa/Mastercard thus avoiding currency exchanges.

Until March 2, any item of QL software still carried by EMSoft sells at a 50% reduction from normal. Prices below reflect all discounts and are limited to these items while in stock. The ^asterisk indicates exceptions. All prices are postpaid in NJL. Choice of disk size/format: specify number of sectors. Add *$4.00 per mdv.

Peter R. Hale

Software1 1

text*fplus4 v3.1 (3 QD disks) $69.98

WYSIWYG wordprocessor & Qtyp spell checker fountext": graphic driver 24.98

WYSIWYG output to 9 or 24 pin with 32 fonts founted19: screen font editor 14.98

Make text87 custom fonts 24**: 24 pin drivers (for text11 only) 14.98 Boutmlf Chris

QLjSENEALOQIST (2nd ED) 27.48

Family history with UK royal family demo CAFE Software

RECIPE ver 2.0 19.95

Recipe card file _dbf and demo

EMSoft

HAILBA8 ver 3.1 / - 12.48

Mailing list Jdbf with demo QUUDJ.0RD ver 3.1 12.48

Real Estate management _dbf with demo TRUST JUMD ver 3.1 12.48

Stock, Bonds, etc _dbf with demo IMYEMTORY ver 1.3 7.48

Personal property record keeping dbf Qfile

HS-QUNK 12.48

Read/write/format QL/MS-DOS/Atar i-TOS DISOOPY Byte for byte QL disk copier 7.48 Also MS-DOS/Atar i-TOS disks

DILWYN JOKES COMPUTING SL0V90LD 2 *7.48

Slows down any QL or any program in a multi-tasking environment.

Sector Software

FILES2:Taskmaster Files upgrade 12.48

A tested file-handling utility that multi¬ tasks in AMY environment with or without Taskmaster. Many useful automatic fea¬ tures; hard disk support.

Sattshoe Software

SOLITAIRE - the card game *19.95

HARDWARE SPECIAL !

QL computer, 8 microcarts, Power Supply, upgrade membrane; shrink-wrapped original manual; technical manual; 48 hour burn-in. 30 day, money-back guarantee $95.00

OTHER HARDWARE

T/S BUS Connector/Extender (3 pack) *13.95 1/S BUS Connector/Extender 3*(3 pack) *26.95

BOOKS Sc MAGAZINES Syntax magazine set & Foyt book *29.95 All 48 monthlies, 3 quarterlies & book Syncwire News 9.98

All 30 issues (5 vols - 6/vol)

The Secret Guide to Coaputera 7.5Q

Delightful, entertaining and informative

EMSoft:

P.0. Box 8763 BOSTON MA 02114-0037 (617) 889-0830

30

COMPUTER CLASSICS RT 1, BOX 117 CABOOL, MO 65689

Repair Charges for SINCLAIR/TIMEX Computers Revised Nov. 1, 1992

Prices do not include shipping and handling charges.

Shipping charges will vary depending upon weight, distance, and method.

I will ship via the cheapest method unless you specify otherwise.

The minimum handling charge for shipping is $2.00.

There may also be an extra charge for repairing modified equipment.

The minimum extra charge for modified equipment repair is $5.00.

Definition of modified equipment: Any circuitry changes on the inside of the equipment case that involved the addition of components, wires, integrated circuits, or hardware. Customers who send in computer equipment that has had modifications done to it, which change the manufacturer’s original design are subject to paying extra.

The following items will be repaired for $5.00 each + parts & shipping:

TS-1000 ZX-81 1016 Ram Pack Any MEMQTECH Module ZEBRA TALKER

MIRACLE Centronics RAM Centronics

The following items will be repaired for $10.00 each + parts & shipping:

TS-1500 TS-2020 TS-2050 PC-8300 ZX-80 Any BYTE-BACK Module

TS-2040 ZX-99 Any BASICARE Module

LARKEN RAMDISK Z--SI0 AERCO 2068 Centronics

\

The following items will be repaired for $15.00 each + parts & shipping:

TS-2068 SPECTRUM A&J MICRODRIVE LARKEN 2068 FDI KEMPSTON FDI

MIRACLE 512K LARKEN 1000 FDI CUMANA FDI

CST FDI

The following items will be repaired for $20.00 each + parts & shipping:

ROTRONICS WAFADRIVE Z-88

The following items will be repaired for $25.00 each + parts & shipping:

SINCLAIR QL AERCO 1000 Centronics AERCO 2068 FDI TRUMP CARD ZEBRA 2068 FDD System AERCO 1000 FDI

For repairing modules, printers, monitors, or other computerized equipment not listed above - write for a price qubte for the items you want repaired. For modifying or upgrading any computer or module - write for a quote.

I also service ATARI. COLECO, COMMODORE. IBM. OSBORNE. TI. and TRS-80.

In house turn around is usually 2 to 4 weeks.

Upgrades and problem cases may take longer.

You will be notified of any unusual delays or excessive repair costs.

Instructions for sending in computer equipment:

1 . For repairs, please use a separate sheet of paper to describe in detail the problem you are encountering, and whether or not the problem is intermittent. List any software or hardware that are associated with the problem. Also list any modifications that have been done to your equipment. 2 For upgrades, please enclose or specify the magazine article or other source of information for doing each upgrade.

3.. You may include a check or money order as a deposit for repair costs. You will be notified if a balance is due. Over amounts will be refunded.

4.. Carefully pack and ship your equipment to the address below via UPS or parcel post. UPS is usually faster and safer with delicate items.

COMPUTER CLASSICS RT 1, BOX 117 CABOOL, MO 65689

Phone (417) 469-4571 anytime. Leave a message.

VISA / MASTERCARD accepted with 4% surcharge.

(Charge customers must provide Acct. #, expiration date, and name on card..)

BIBLE OIM ETHICSe The newly formed Computer Ethics Institute in Washington has issued the Ten Commandments for Computer Ethics, a voluntary code of conduct for users of computer technology:

1. Ihou shall not use a computer to hare, other people.

2. Ihou shalt not interfere with other people's co#puter worl .

3. Ihou shalt not snoop around in ether people s computer files.

4. Thou shalt not use a computer to steal.

5. Thou shalt not use a coiputer to bear false witness.

6. Thou shalt not copy or use proprietary software for which you have not paid.

7. Thou shalt not use other people's computer resources without authorization or proper compensation.

3. Thou shalt not appropriate other people's intellectual output.

S. Thcus shall think about the social consequences of the program you are writing or the system you are designing.

IB. Thou shalt always use a computer m ways that show consideration and respect for your fellow humans.

32

QL KEYBOARD KEY CONNECTIONS

The following table are connections to the J-ll keyboard pin 7, on the QL Mother board - 9 pin female - columns 1

connector , thru 9 .

J-ll, 1 - FI, F2 , F3 , F4 , F5 , 4, 5, 7 8 keys J-ll, 2 - 2, Q, E, T, 6, U, 8, 0 8 keys J-ll, 3 - W, TAB, R, Y, I, 0, 9 -(minus) 8 keys J-ll, 4 - 3, 1, A, D, H, J, L, P 8 keys J-ll, 5 - CAPSLOCK, S, F, G, K, : , [ , = 8 keys J-ll, 6 - Z, C, B, M, >, ", ], £ 8 keys J-ll, 7 - X, V, N, <, ? 5 keys J-ll, 8 - LFT ARROW, ESC, RT ARROW, SPACE,

UP ARROW, DOWN ARROW, ENTER, \ 8 keys J-ll, 9 - CTRL, SHIFT (2), ALT 3 keys

To use the above table, connect wires from one key switch terminal to the next key switch terminal until each of the ’J-ll' matrix 'column' rows (J-ll, 7 for example) are connected together).

X,x

o

5

V,v

o

o

N , n

_ ! /.

o

o

< ,

?,/

123456789

J-ll

ROW J-ll, 7

The following table are connections to the J-12 keyboard connector pin 3, on the QL Mother board - 11 pin female - rows 1 thru 12.

J-12,

J-12,

J-12,

J-12 , J-12, J-12, J-12, J-12 , J-12, J-12, J-12,

1 - CTRL

2 - SHIFT (2)

3 - RT ARROW, Z, CAPSLOCK, 3,

W, 2, FI

4 - ESC, X, C, S, 1, TAB, Q, F2

5 - LEFT ARROW, V, B, F, A, R, E, F3 G, D, Y, T, 4 K, H, I , 5, 6

key

keys

6 - SPACE, N

7 - UP ARROW,

8 - DN ARROW,

9 - ENTER, ], 10- \, ?, £ , 11- ALT

", : , 0 , U , 7

L, 8, 9, F4

P, ", Q, F5

7 keys

8 keys 8 keys 8 keys

7 keys

8 keys

7 keys

8 keys 1 key

To use the above table, connect wires from one key switch terminal to the next key switch terminal until each of the 'J-12' matrix rows, J-12, 3 for example) are connected together).

3,#

123456789 10 11

J-12

ROW J-12, 3

123456789

123456789 10 11

J-ll QL KEYBOARD MATRIX

J-12

BOTTOM TIES OF THE Qt KEIBOIRD SIRIMC FOR Ml, 1 THROUGH S

l

I

1

1

1

f

4

1 1

o! ! ! o

o! |

0

1

jo 0

II o

i

j j 0

1

1

i

j o j j

t

! o

i

_i_

j 0

i

jo 0

! o

fh

i i

i i

j oj--

\,l! !!£

t 1

1 * t _

: !M

! 8 , *

!7,*j !6,‘

! S , %

M,$

!U

12, 1

il. !!

j ESC j

!F1 j

o_J !!_

i i

i i

_0_

i

!ij>_

i t

! IjL

jo 0

1

j o j j 0 0

!_o_

!jl

i

j JL

!jl!

jo oj

i

j jl!

i i

i i

i t

1

1

1

i i

i i i i_

1

1

f

.... .... _ 1

t

i

i

2

i

i i

i i

1

i

1

1

1

1

1

1

1

1

i i

i i

i i

i i

i i

i

i

0

1

1

Ti !

i i

i i

1

I

1

0 oj j j

-h

i

i

i

o !

o !

1

o I 1

i i

_ i i

i i i

i i i

j oj--

i i

i i

\h)

[,

{!

P/P! !

j o ,0 j

i/I!

Mi !M!

t/Tj

r,Rj

M!

Mi

q / Q ! ! TAB

i i i

i ii _

jF2 j

i i

i i

i i

jo_o

1

_0

i

jl! !

i i i i

jo_oj

1

1

o.oj

1

1

_ 1 jo_oj

1

jl!

o_o|

1

j>_!

_o_!

i

1

_o_! jo.

i

.0

i i i

i i _ i

i i

! _ oj

i i

1

!

i i

1

!

1

!

1

1

1

1

i

1

t

_ 3 j j

t

1

1

1

1

i

1 1

i i

1

1

1

i

_

1

1

1

i

i

! io

A * 1 *

0 1 If

1

1

1

l

jo 0

! ! o

! o

jo oj j

l

1

jo 0

i

i

jo 0

! o

i

i

oj-

! J EITKR { !!

( H

t

1

1

(

I r i *

il.L

!k,K

1J,3

! h»Hj ! 9 / G

!f/P

Id.D

!s,S

k ! a, A

! CAPLK

i

i

F3 j

1 1

1

1

i 1 1 _i 1 1 i

i _

OJ)

1

1

1

1

1

jo_o

1

i

! l_o_

i

. t

!_o_

! _ ! !o_o

i

jo_o

1

1

jo_o

i

i

i _

!_o_

i

i

i

i

5 !

_oj

1

1

1

6

1

V

1

1

i

i

1

1

_

i

i

i

_

1

i i _i_ i

o

i 1

1 1

0

1

1

o oj

1

1

o ! i

! !oj

1

1

o oj

o i

o !!

i

i

oj--

SHIFT

1 1

1 1

/,

7\

< 1 i /' i

a, HI !

■ill !M! !

v,Y| j

C/Cj j

i/X j

Ml! !

SHIFT j

F4 j

0

1

1 1

_0.

1

_ i

jo_oj

jl! j

o_oj j_o_j

o_oj j

i i

jl!

jl! ! !

o o!

oj

i

i

1

1

j

1

1

i

i

i

i .

1

7 !

1

i

i

t

1

1

1

i

i

i

8

1

1 _l

!

1

i

1

1

i

! ! c

i i i i

3 0

0 0

i

i

0 0

j jo oj

!*o"j

i i

i i

oj"

! 1ALT! j

D/C

0/C

i

i

SPiCE

! U/c!

!R/C!

[CTRL!

F5 !

I I J

J !.

i

1 1 1

! o !

jo o !

_ oj

i

i

i

i

i

i

i

9

J-ll,

1

- FI, F2 , F3 , F4 ,

F5 , 4, 5,

7

8

keys

J-ll,

2

- 2, Q, E, T, 6,

u, a, 0

8

keys

J-ll,

3

- W, TAB, R, Y, I

, 0, 9 -(minus)

8

keys

J-ll,

4

- 3, 1, A, D, H,

J/ L, P

8

keys

J-ll,

5

- CAPSLOCK, S, F,

G, K, : ,

[/ =

8

keys

J-ll,

6

- Z, C, B, M, >,

"/ ]/ £

8

keys

J-ll,

7

- X, V, N, <, ?

5

keys

J-ll,

8

- LFT ARROW, ESC,

RT ARROW,

SPACE,

UP ARROW, DOWN

ARROW, ENTER, \

8

keys

J-ll,

9

- CTRL, SHIFT (2)

, ALT

3

keys

35

BOTTOM VI EM OF THE QL KEYBOARD HIRING FOR M2, 1 THROUGH II

II

o

\,i

0

0 0

£,*

i

0

M

o

i

0 0

0

M

0

8,*

0_0

I

],}

0 0

0

u

0

0

p.p

0

0 0 ENTER

o_o

i

i.

0 0

0 0 1,L

o,0

o_o

i

i . i

_i

i

i,I o o

0

jk,K

! o

!J, j 1 _o_

0 0 h,H

ig,G ! o_o

i

f,F o o

0 0 d,D

s,S 0 0

0 0 a, A

o

CAPLK

11

_i

i

_ i

1

_

1

i

o

o

o

]o o!

o

o

1 i i

l t l

o|

1 11 ll It *1 1C |l lit

1 1 1 (• 1 1 «F 1 1 |1|V

13, »|

11 fit 1 1

1 <■ 1 1 * (

1 Iffcpl

1

Fl !

1 1 ft 8 ln t fl 8 1 fl

1 |0 1 1 0 _ 0 1 !_°_t

i i

8 a 8 8 fl 8 8 fl fl 8

1 0 1 t Of | o 0 1

i

i

i iii

i iii

! 4

i i i

i i i

i i i

_ _

1

.

!o oi !! ! | o !! i o !

o

o

o

! o |

o!

! u,0 ! ! !y,T! |t,T|! !r,R!

e,E! ;«,M! !!q,Q!

J TAB J

F2 j

! _ ! ! ! o_o ! !_oJ! |o_o!

i i i i i

i i t ... i »

n 1 1

_°_i i_

i

l

III .1 _l 1 1 _ U|

i i

_ 1 1 _

joji

i

__oj

P3

i i

i i

i i

i

i i i

i i i

i i i

3 _

o

o __ 1

io o| | !

! o ! ! !

! o ! ! j ! !o o! ! o !

o !

! o !

0

[SHIFT! !/,?! [

!.,>! !,,<!

!M! !n,N!

!M! !'!»,»[ [e,C[ ]i,V, '

l,l\

! SHIFT!

F4

! 0 ! ! oj !

! ! !o o[

! o ! |o_oi

!_o_! ! { o_o ! ! _ ! ! _ J

_o_!

j o _ o !

_o

1

. . 1

i

i 1

! ! ! 5

i

i

i

2

8 ! 7

j

6 !

i

i_

i

i

j 1

1

1

i

i j

i

jo! ! o o ! ! o o

t i i i

00 { jo 0

! ! o

mi i

mi t

0

S ALT | ! D/C } S D/C

i i i i

SPACE

! [L/Ci

[R/CII [CTRL! [

F5

!_o_j j _ | | _

i i

1 1 1 1 1 1

! ' n

i i_u.

11 'n « 1 .ii i °_°_i i

__o

J-12 ,

1 -

CTRL

1

key

J-12 ,

2 -

SHIFT (2)

2

keys

J-12 ,

3 -

LEFT ARROW

r

/

z,

CAPSLOCK,

3,

W, 2, Fl

7

keys

J-12,

4 -

ESC, X, C,

S

i 1

i TAB,

Q /

F2

8

keys

J-12,

5 -

RT ARROW,

V,

B,

F,

A,

R,

E, F3

8

keys

J-12,

6 -

SPACE, N,

M,

G,

D,

Y,

T,

4

8

keys

J-12,

7 -

UP ARROW,

>i

K,

H,

I,

5,

6

7

keys

J-12,

8 -

DN ARROW,

<i

f

/

/

0,

u.

7

8

keys

J-12,

9 -

ENTER, ],

[,

L,

8,

9,

F4

7

keys

J-12,

10-

\, ?, £ ,

/

Pi

" /

Q /

F5

8

keys

J-12,

11-

ALT

1

key

36

CABLE COLUMN

By Bill Cable

ARCHIVE SERIES

PART 11 : PRINT and LPRINT COMMANDS WITH AN OVERVIEW OF ALL INPUT/OUTPUT COMMANDS

OVERVIEW OF INPUT/OUTPUT COMMANDS

PRINT and LPRINT are only part of a series of commands for output of information to the screen, printer, or file. There are also a series of commands dealing with input of information from the keyboard and in devious ways from a , file. They can’t all be covered in detail now but I will list them in a hierarchical way with a brief description below :

Over the past several years, this series has introduced many of the commands (keywords) of the ARCHIVE language using type-in examples. I have kept the series elementary by working directly from the ARCHIVE boot up command prompt (>), avoiding the complications of formal programming. Starting next time (PART 12), I will change the style and begin putting ARCHIVE commands and functions into procedures so we can take advantage of the programming power available in this many-featured database system. If you have been a steady follower of this column you are ready for this. Those bored by the beginners level of the previous columns will find future columns more interesting and challenging. We will use the built-in ARCHIVE Program Editor and begin building a collection of useful ARCHIVE procedures that can be reused in the projects we tackle.

Invariably, what separates a good program from a bad one is the user interface. Every programmer in every language soon finds out, it is very hard to write a program that is easy to use. The nuts and bolts of what a program does is usually not too hard to implement but that part of the program that interacts with the user by keyboard, screen , and printer is very challenging if done well. How many times have we tried to use a program and gotten completely lost, befuddled, or mad? How much public domain software is unused because the poor user interface makes it unintelligible? This type of software usually works well if you know exactly what to do but what appears on the screen gives hardly a clue of what to do. In this column, therefore, we will give a lot of attention to input and output and the user interface challenge. Beginning next time we will develop a group of procedures that combine to provide a consistent and intelligible user interface that works well within ARCHIVE programs. I have refined this interface through trial and error over a long period of time. It will be used in each ' of the challenging programs we introduce in this series. This will greatly reduce the effort required to enter new programs because the user interface part of the code will be reused each time. Of course you will need to enter these initial procedures before you can participate in the programs that follow. Below is a brief description of the Input/Output commands available to us in ARCHIVE that will be used as we set up our user interface. Review your ARCHIVE manual for the details. Following that there are some examples using the PRINT and LPRINT commands.

COMMANDS AFFECTING SCREEN FOR I/O

MODE : Sets screen partition arrangements (size) INK : Sets screen display area ink color PAPER : Sets screen display area paper color

COMMANDS THAT SEND OUTPUT

CLS : Clears display area and any display screen

DIR : Displays a list of files on a device to screen

PRINT : Displays specified data to screen at cursor SPRINT : Refreshes variables on displayed screen

LPRINT : Sends specified data to printer, screen, file LUST : Lists all loaded procedures to printer, scr, file DUMP : Lists current database to printer, screen, file OUTPUT REDIRECTION ( for Iprint, Hist, dump) SPOOLON : Redirect Iprint, etc to file or screen SPOOLOFF : Redirect Iprint, etc back to printer

COMMANDS & FUNCTIONS FOR KEYBOARD INPUT

INPUT : Get variable(s) at cursor location SINPUT : Get variable(s) at displayed screen location GETKEYQ : Waits for a key to be pressed *

INKEY() : Instantly checks keyboard for pressed key*

* functions not commands

ALL SCREEN RELATED COMMANDS

These are commands dealing with screens maintained with the ARCHIVE Screen Editor.

DISPLAY : Creates default screen with a field per line SEDiT : Activates screen editor for editing screen SSAVE : Saves current screen to a file SLOAD : Loads named file as current screen SCREEN : Displays current screen layout no variables SPRINT : Displays all variables on displayed screen SINPUT : Get variables specified from current screen

ALL PROGRAMMING RELATED COMMANDS

These are commands dealing with procedures made with the ARCHIVE Program Editor EDIT : Activates Program Editor for editing LLIST : Lists all procedures currently Ibpded SAVE : Saves all loaded procedures to file

LOAD : Loads all procedures in named file

RUN : Loads procedures and executes "start"

Now after a little preparation, we will be ready for some examples using the PRINT and LPRINT.

PREPARATION

We are working from the ARCHIVE command prompt (>) and we do more complex tasks by putting more than one command on a "line". The colon (:) is used to separate commands as we type them in and then <ENTER> is pressed to execute the "line". I call this Command Prompt Programming although we are not creating real programs that can be saved.

In the description below I will " italic? what you should type in to participate in the examples. The "line" to type in may span several column lines. You must type everything as one line up to the <ENTER> and then press the ENTER key. On your screen it may or may not wrap around to span more than one screen line. Take special care to spot where spaces are. Putting in extra spaces usually will not cause problems but leaving a space out will most likely result in an error. If you do get an error after pressing <ENTER>, press the <F5> key to recall the line and look it over carefully for mistakes. Correct mistakes with the normal QL editing keys. Start ARCHIVE in your customary way so you see the ARCHIVE command prompt (>). We will not need to access a database.

PRINT and LPRINT COMMANDS

We have used the PRINT command many times already in our examples. It is a simple way to see information in a database. The LPRINT command works very much like the PRINT command except the output is directed to the printer instead of the screen unless the SPOOLON command is used to redirect it to a file or to the screen. You must be careful to not to use LPRINT to output to your printer unless you actually have it online or use print spooling. LPRINT will wait indefinitely otherwise.

First we will make the screen as large a possible: mode 0<en ter> Display & Work areas joined

We now have an area of 25 lines by 80 columns available for printing information to. Of course we also have the ARCHIVE Command Prompt (>) there waiting for us to type in commands. The Command Prompt waits at the current cursor position. We can put the cursor where we want it by using "at line,colurmf or "tab cotumrf after the "print". The semicolon,";", is the separator between variables or text in quotes and when at the end of the PRINT or LPRINT line it prevents the cursor from moving to a new line. Pay attention where the cursor ends up : pri nt at 10, 20<en ter> Cursor moves to new line print at 1 0,, 20; <en ter> Cursor stays at line let a$=ls there ,f<en ter> Set string (text) variable pri nt at 5, 40/ Pfhel 1 o pr/ a $<en ter> els; print tab 15; n'hello’i;a$<enter> print at 10 r 15; "hello” ; tab 30; a$;

A line can be cleared by moving to it an tabbing over it :

print at 0,0; tab 79; at 0, 0; <enter>

Note that lines used with the "at” range from 0-24 and not

1-25 and columns from 0-79 and not 1-80. Printing at a line not 0-24 will give you an "out of range error" :

pri nt at 25,0 ;<en ter>

The "+" symbol can be used to join (concatenate) text variables together in let, print, and other statements : els; let b$=c:,shello!’<enter> pri n t n'hel 1 o ,c+a $<en ter> print b$+a$ ;print b$ ; a$<enter> let c$=b$+a$ ; print tab 20;c$<enter> Sometimes we want to print characters that are not normally displayable. They can not be defined by putting characters in quotes as above. In order to use them it is easiest to make use of the CHR() function. This is a handy function that provides the text string when the ACSII number (0-255) is provided as the argument. All the keyboard character plus many others have an associated ASCII number (see page 5 of Concepts section of your QL manual). The <ESC> character (ASCII code = 27) or printer bell (ASCII code = 7) are examples. The CODE() function is inverse of the CHR() function. Its argument is a single text character and it gives the ASCII code. To See what some keyboard ASCII codes are try : let d$=eve°; while d$omq°l ; let d$=getkey() ;prin t code (d$) ; endwhi 1 e<en ter>

(press some keys like a,b,t,A, <ENTER>, <ESC>q=quit) There are a series of handy special print characters that are not documented for the QL. They were first discovered by people reading the PC-FOUR ARCHIVE (DOS version) manual. They tried them on the QL and they worked. They are called Screen Driver Codes. Some drive codes are one character others are 2 or 3 long. The ones I like are : ghr(26) exchange paper and ink colors

chr(27)+"A" clears from cursor to end of line

chr(27)+"B" clears from cursor to end of window

chr(14) & chr(15) cursor visible & cursor invisible let d$-chr (26) ; print c$;tab 25;d$;c$; tab 45; d$<enter>

LPRINT works much like PRINT only the output goes to the printer. You can send special characters to your printer. Use chr(0) to bypass the printer driver (see page 3 Information section of manuall. Have your printer online on to sound bell which is ASCII number 7 : lprin t chr ( 0) -bchr (7) ; w Ringing bell "<en ter> let bel 1 $-chr ( 0) -bchr ( 7) ; lprin t bel 1 $<en ter> To direct Iprint to the screen instead of the printer : spool on screen; Iprint at 5r 5; c $ rente r> spool off <en ter> Direct Iprint back to printer

To direct Iprint to a file in mdv2_ instead of printer : spool on nmdv2_testm export<enter>

Iprint nTo file” ; Iprint c$ ; spoolo ff renter > After you quit ARCHIVE give the SuperBASIC command:

copy mdv2_test.lis to scr<enter>

And you will see what ARCHIVE wrote to the file

Until next time when we discuss the ARCHIVE Program Editor and type in some procedures Happy Archiving!

36

xj

03 t— i

-o JO

D2ZZ22222r7:^^csoDOOOoo£nmmmoooo

Cu

3 -h

o cr

>coa>>>>>>mmm73ri(/H/i(/H/io on 2 z □, 1. 1 cr cr

3

fD

co

C3|

1

HHZZZZ37373>>I

1

i

1

i

j> cri i *-H

co c<

r+ 3

m co

PO ►— >

11000 032233^0)10

h— i

CO PO M

o o o po v— * a co

r+ O

tu i

1

CO CO| i 1 |

1— 1

I— *

1

co coi om

rr

-J- 3

t Q

o *

1 cois)mh>hh.his)m.

1 1 * * * 1

o

O

CD

m

PO I—4

PO t— > t— i

3

_ i

3 S

- 3

co

CO PO

)— i

« t

tu

3

CO

(D

3

CQ

v. to

Cu 3

•••••

»

*

fD

3

3T

3 O'

*

fD

<< v.

Cl CD

. / -

. , , . .

* ^ I

'^s

. X-S, X—. x—>.

3

O

3 »— i

3

XJ CO

<

2

3 3 ~n

7s

CD *

CD

CD 73 3 m {U oo>

3

fD

. ft) . . O

fD

* 3

£U

fD

cr -4* o 003

3 o

O 3

3

CO

r+ 3 3

3

. Q} .

3

3

3 o cr cd 3 3 o

cn

ju CU

o 5

CO

o

rr O rP

3

* TTS

fD

fD

3 OCD3D rr

PO

<< 3

3^

_j. .

co m rr

i.

rr

to

3

< o «u co c cr j-

co

O

S2°

** J •**

rP

i.

£U

fD r+ 3 3- <

i— *

O X3

O cQ

3

. . . cr

n

(U

i

3 m **T3 -J* fD fD

CU 3

*3 CD

O

fD 3 0

“3

CO

CL

to 3 O 3 CD 3

ZEZ

1 o

rP

i— >

fD

r+ O'4

O

<

CD

*• 3> 3 O cu cr

I <

3

3

O rP

3

-a *

fD

£U

O O cu CQ rt- D> CU

_ t

fD <u

.

O

CD

3 *

3

3

3 CO 3 to

rP

*— 1 Cl

3 3

3

- > * . D f+

P+

o

r+

fD

CU o Q. fD

<3

O

i fD

a*c<

* CO

3 O

rr

. to .

\

to

<• - 3 3 fD Cl O

3

CO

fD

r+

o

CD

3

to

3 cu to a

3

( > Q-

3 O

3

* CQ s -

. ft) .

r+

sx

O * \ r— rt-

s:

1

co h

«u

*

/O

3

3

3 CO * * 1 O -*•

fD

o

l CO

rr

rP

« (U *

r~

. to

SU

i D 3 fD CT 3

o

PO 7T

—i. rP

« 2

rt-

CO * * ft) CO 3

ft*

Cl

CO CO

X5 3*

O

^

w »

fD

O CO * 3 -<• tu

to

v— *

fD

3

CQ

cr o co tQ 3

O

I CU

<r+ co

* *3 . *

73 CZ * * -h 3 «<

rP

OS rP

O fD

w

O 73 fD

O

, .

Sx1

mo* 3 s— CD

.x

O cu

r+ CL

.

m cr

PO

rr -j.

.

o

fD co

.

m cl

o

7=r

3

3

*5 "5

3 3

3

3 * 3 3 3 fD

t— t

CO

cr co

fD

* fD

fD fD fD

fD fD

fD

fD r“ fD fD fD to

3

rP

<

<

< < <

< <

<

? m< < <

Cl

co cr

« _ i.

i. . . i. i.

_ !. 1.

_i.

CO '* *• *• s_x

O

*<

CO

2: co

co 3 3 co co

CO to

CO

Cl co to to * *

Cu

—b

* CD

fD fD

fD fD fD fD fD

fD CD

fD

O sx fD fD fD

3

co co

a? aa* SSO-O-

Cl O-

Cl

O Cl Q- Cl

CU

CO

3 fD

* *

XJ

.

cr o

3

3 z

-n * 3 3 3 Cj

3 ~n

O

in 0 3 3 3*

~n

o

cn

t cl

O

o o

fD O O O tu

O CD

fD

fD O O O

3

_i

o

i i.

<

< <

cr * < < < 3

< cr

O

S_x O < < < * *

fD

_ l.

*• 3

. «

» « »

* *

fD

CO

XJ

creQ

cocococo* cO CO CO CO

co co

CO

co to co co *

CO

X

fD

3

i

O PO

po po o o po

o po

PO *

» po O r- » i—4

to

7C

£U CU

3

-P)

cu o 3 3 3

tu

IV) CO CO ' t— 4 i » OJ CO ^ ^ l 1 t-1 CJl W M W4^ WWU1

os po co -P> co oo •— ‘wwuuvuowcoo^vioo^jwroi-j > -P» ro o i 'to

OCOvjyn-0)iOWOOC04SiUUOUii-‘COUiOiCOCnOPOCOWOnOVOWvj

XD

cr > z H >

to

z

o

<

$2°

o

CD

O

CO

CO

IV)

-s

fD

<

O

3

in

O

-h

c-P rr C D

O

3

Q-

ro

3

co

o

-5

3

o

“5

fD

in

7T

in

CU

3

Q.

in

rP

CU

cQ

fD

“+>

3

fD

fD

O

O

o

3

3

in

fD

cu

fD

Q.

Co

7T

*■+>

O

3

fD

CU

n

Q.

i.

co

7T

3

(D

X)

3

fD

fD

Cl

fD

3

O

3

CQ

3

3

Cl

co

rP

O

O

O

<

fD

3

3

fD

rP

3

3

3

CCCCCCCCCCO(/)COC/)(/H/)CO CO/O/OO/OO 3 3 3 3 3 3 3

HHdooqoqd-d-o-ddddddododoww^ (✓) -3-n-n o

| | | | | | ) I I I I I I I I i I C.CjGC.Cjmwmm| I I -J.

roi > eh cn co iv) t > vj O) cn -P> w ro i > o to <

cr

3

CU

3

<<

3

fD

O

o

Cl

fD

3

fD

<

Mi.

CO

fD

Cl

CO

O

3 3 3 fD fD fD < < <

2 Z w u) co fD fD fD fD fD

ssaaa

O 3 c_i -n 3 fD O 3 fD O O < 3 O" <

CO CO CO CO CO

po rv> po rv> o

« «

*

* *

cd a

. * tO 73 C_j

fD -4*

XJ

fD

co

3 3

fD

to

fD

O

fD

73

3 52°

3

O

£U

oj

<

z

—i O

« J

fD

O

CL

sx

CO

(/)

r+c<

C+1

i

cr

"O

-H

4- rt-

-s

rt* *■

o

. tQ

I

fD -4-

3

m

to rP

. ft)

CD

—i.

3

DO

s— fD

to

-<

to

! _ _ _

+

* - X

«

1

«

« «

73

*

>

XJ

-s

3 3

CO

CD

fD fD

<

< <

o

-J*

3

co 3 3 3 3 CO co

fD fD fD fD fD fD fD

Q. S £ £ £ Cl Cl

-n 3 c_i 3 3 Cj c_*

fD O 3 O O 3 cu

CT < 3 < < 3 3

cO CD CO CO CO CO CO IS) IO N M O N) N

CO PO

CO

i— cn -P* co co co po is) o ^ po

3

3

3

3

TP

tu

PO

_

Cl

45»

CO

PO

i— *

3

Cl

CD

CD

3

CL

.

fD

4s*

x—.

.

X-~.

3

C_i

XJ

X3

CD

3

CO

3

Si!

1 1

!•

73

o

3

Cl

O

3

rP

-x.

3

fD

CO

cr

3

7T

CL

rP

to

fD

i.

cr

n

r-P

tu

o

*•

Mi.

3

CL

rP

- 1

CL

fD

•J.

4* <3

Q-

fD

rP O

h

to

-j- rs

it

*WX

fD rP

j i

fD

to fD

fD

rP

3

to

O

fto «-»-

to

rP

•>_x

-n

O

o

3

CD

rP

CO

o

rP

3

3

3

3

V-x

rr

fD

fD

fD

fD

fD

<

<

<

< *

3

_i-

—it

j.

—it 4

to

in

to

in

CL

fD

fD

fD

fD

i.

Q. CL CL

a.

CO

3

3

3

3

~n

to

O

O

O

O

3

<

<

<

<

fD

fD

CO co co

CO

PO PO

PO

PO

CO

CD

O

os cn cn po

)— 4

(S) IS) ro r+

CDOC0OC0-f*C0P04=»0

-*4 t— 1 CO

♦— *

to -P* -P* PO CO 3

QUANTA

QL Users And Tinkerers Association - Independent QL/Thor Users Group

Worldwide Membership * Sub-Groups * Advice * Back-Up * Monthly Newsletter * •Extensive Library of (mostly FREE) Programs *

MEMBERSHIP DETAILS

Surname . Title .

Forename . Occupation .

Address . Phone .

. Tick this box if you

do NOT wish to be

. contacted by other

members.

Postcode . I _

Membership is by annual subscription to the Quanta Magazine. Subscription is £14 for UK members, and £17 for overseas members, who must pay in UK funds drawn on a British bank, or by Visa/Masterard , or by transfer to our Midland Bank account number 40-22-19 21278614. The subscription period runs for a year from either 1st January or 1st July. New members will receive back numbers of the Quanta Magazine for the current subscription period. Other back numbers are available for £3 per haJLf year. The Credit Card Authority below, and the1 Standing ' Order Mandate overleaf allow you to pay the current subscription now, and also if you wish to renew your subscription automatically each year.

PLEASE CHARGE MY CREDIT CARD ACCOUNT

Access

Visa

|

I

Expiry Date

I authorise Quanta to charge my Credit Card with £ .

Signature .

* and thereafter with the sum of £ . every year until you

receive further notice from me. (Delete if not applicable).

Signature for automatic renewal

ClL- ACEY D IGETY game

by Lee Gayman

I am really impressed with. QL Super-BASIC and since my computing expertise is still mostly limited to Basic, one of the ways I wile away my precious time is to convert some of the old "chestnut” programs I've enjoyed on the ZX-81 or TS-2068 over to SuperBASIC. This is one such program and I'm sorry to say it’s been around so long, I don' t know whom to give credit for the original program.

This program is really tame entertainment when compared to todays shoot- 'em-up video games, but I remember when this program brought amazing responses from the players as the computer made nasty comments to the player about the kind of bets he made.

Converting this program to SuperBASIC gave me opportunity to explore the use of multiple screens and to design inputs and screen outputs to utilize this facility. The extent of commentary the computer makes to the player is only limited by the imagination of the programmer. One thing still needed in this program, however, is the use of sound effects. (At our house we don' t need additional noise! )

As a sideline to this project, it was fun creating the 2-column format for this article using Quill and a homemade printer- driver to create columnized program listings. Perhaps this can be the basis for a future article.

As you type this into your QL, feel free to break up the lines which have multiple commands divided by into individual program lines for greater clarity. I compacted some lines just to better utilize the space for this printed article.

I continually applaud the convenience of the EDIT utility of Tony Tebby's TOOLKIT II which I utilize heavily in converting programs. First I type in the programs just as they originally appear in their original basic (making obviously necessary changes as I go along, such as replacing 'PRUT AT with 'AT n, n: PRINT' ; adding 'END IF’ when necessary, etc.), then using the Toolkit II editor, the fun begins. As I add lines and the intervals between line numbers becomes crowded, a simple RENUM command opens things up again and I’m back in business.

I hope you enjoy the program. Be sure to make it clear to new players that you do NOT pay-up to the winners!

100 screenworks: firstscreen: intro 110 INPUT#0; s$

120 d=20

130 secondscreen: CSIZE 0,0

140 a= INT (RND*13>+1: b=INT (RND*13)+1

150 IF ABS (b-a) <2 : GO TO 130: END IF

160 cl=INT (RND*13)+1

170 IF a=cl OR b=cl:G0 TO 160: HID IF

180 a$=a : bS=b ,

190 IF LEN (a$)=l : a$=” ”&a$:END IF ?

200 IF LEN(b$)=l:bS=” ”&b$:EHD IF 210 INK #4,4: INK #5,5

220 AT #4, 1,0: PRINT #4; "JCY FIRST NUXBER I

O If U

230 AT #5, 1,0: PRINT #5; MY SECOND NUMBER” 240 CSIZE #4,3, 1: CSIZE #5, 3,1: INK #4,7: INK #5,7

250 PRINT #4\\; ”;aS: PRINT #5\\;” ”;b$:C

SIZE #4, 0, 0: CSIZE #5,0,0

260 INK #6, 2: AT #6, 1,4: PRINT #6; "YOU HAVE

ff

270 INK #6, 4 : CSIZE #6,2, 1

280 IF d>9999: CSIZE #6,0,0

290 ELSE : CSIZE #6,3,1 : END IF

300 buck$=”$l ”&d

310 PRINT #6 \\ bucks

320 CSIZE #6,0,0

330 AT 18, 10: PRINT HOV MUCH DO YOU BET MY NEXT NUMBER LIES”;: INK 7: PRINT BETWEEN ; : INK 4:PRINT a;” AND ”;b;” ?” *

340 AT 15,39: PRINT : AT 15,39: INPUT E

350 AT 18, 10: PRINT

360 IF E>d : PRINT #8;” YOU CAN’T AFF

ORD THAT BET!”: GO TO 330: END IF

370 IF E< 1 : ZERO: END IF

380 IF E> = 1: COMMENT: END IF

390 CSIZE #8,2,0: INK #8,7

400 INK#7, 7: AT#7, 1,29: PRINT #7;” MY NUM

BER IS ; cl

410 INK 4: PAUSE 30

420 IF NOT (cl>a AND cl<b OR cl<a AND cl>b AND E>0)

END IF

END IF

430 LOSE : NEVPLAY:

440 IF E>0: PRINT #8;

OU WIN $”;2*E;" !”

450 d=d+ (2*E) : NEVPLAY 460 DEFine PROCedure LOSE 470 INK #8, 2: PRINT #8;” OU LOSE $” ; E; . "

480 d=d-E

490 IF d<l: BROKE: END IF

500 NEVPLAY

510 END DEFine LOSE

VELL DONE ! Y

SORRY

520 DEFine PROCedure NEVPLAY 530 INK #0,4: INPUT #0\;

Hit ENTER to Continue _ ";aS:CLS #0

540 GO TO 130

550 END DEFine NEVPLAY

560

DEFine PROCedure

BROKE

570

IFK #8, 7: PRIFT

#8;" + YOU A

RE BROKE ! ! ! + " ;

580

IFPUT R$: GO TO

120

590

EFD DEFine BROKE

600

DEFine PROCedure

COMMENT

610

IFK #0,7: V=0: zS

="":sS=" *’

620

IF d< 1 : EFD DEFine : EFD IF

630

SELect OF E

640

=1: zS=s$&"

CHEAP SKATE ! !

650

=2 : z$=sS&"

TIGHTWAD ! ! ! "

660

=3: z$=s$&"

SURE YOU CAF AFFORD

IT ?! "

670

=4 : z$=s$&"

YOU CALL THAT A B

ni r

680

=5: z*=s*&"

LAST OF THE BIG SPEFDE

RS,

EH ?"

690

=6 : z$=s$&" YOU WON’T BREAK THE BAFK

THAT WAY!"

700

=7: z$=s$&"LET’ S HEAR IT FOR THE LUC

KY SEVEN BET!"

710

=8: zS=s$&"

EIGHT? GREAT!"

720

=9: z$=s$&"

FIFE IS FIFE FOR B

EG INFERS"

730

=10: z$=s$&"

SO WHAT’S TEF BU

CKS

?"

740

=15: z$=s$&"

•ATTA BOY (GIRL

? ) "

750

=20: z$=s$&"

LET’S HEAR IT FOR TH

E BIG 2-0 ! !"

760

=25 : z$=s$&"

NOW THAT'S MORE LI

KE

IT ! "

770

=50 : z$=s$&"

FOW ISN’T THIS FU

N ?"

780

=100: z$=s$&”

BIG BUCKS, BIG BU

CKS

II

790

=1000: z$=s$&”

AIN’T THAT GRAND! (

GET

IT?)"

800

=d: z$=s$&"********* KID, YOU GOT GU

TS

! ***********

-

810

EFD SELect

820

IF (a=l AFD b=13 OR a=13 AND b=l ) AND

E=d

830

z$=sS&" IMPRESSIVE! LOOK WHOSE PUTTI

FG

BIG BUCKS

OF A SURE VIFFER! "

840

EFD IF

860

IF d>999999: z$= "S$SSS$1SS$S$S KY

FRIEND, YOU HAVE BRO

KEF THE BAFK! : EFD IF

870 IFK #0, 7: CSIZE #0,1,0:PRIFT #0; TO (1 10-CLEF (z$)/2));z$: PAUSE 40 875 IF d> 999999: STOP: EFD IF 880 EFD DEFine COMXEFT 890 DEFine PROCedure firstscreen 900 CLS: CSIZE 1,1: BORDER 1,2: IFK 4 910 PRIFT ; : IFK

2: PRIFT ’’ ACEY-DIGETY” ; : IFK 4: PRIFT M $$$$$$$$$$$$$$$$$$$”

920 EFD DEFine firstscreen 930 DEFine PROCedure intro 940 IFK 7: CSIZE 0,0

950 AT 6,0: PRIFT Hello Friend! I, you r fair and generous computer, am going to g ive you a chance to make a million

. Here's how:"

960 PRIFT V I will pick at random 2 nu jnbers between 1 and 13. I HAVE GIVEF YOU $2 0 FOR STARTERS and your job is to ma

ke it grow. After I pick my first 2 numbers , you may bet as much as you want th

at my 3rd number will fall BETWEEN the

first 2 numbers. If you bet correctly , your bet will DOUBLE; if you are wrong, you lose your bet."

970 PRIFTW" The Bank is BROKE at a mil lion dollars. Can YOU break the bank? GOOD LUCK!"

980 IFK 4: PRIFTW"

(Press EFTER to begin.)"

990 EFD DEFine intro

1000 DEFine PROCedure secondscreen

1010 FOR i = 0, 1,2,4 TO 8 STEP 1:CLS #i:E

FD FOR i

1020 firstscreen

1030 BORDER #4 , 1 , 2 : BORDER #5 , 1 , 2 : BORDER # 6,1,7

1040 EFD DEFine secondscreen 1050 DEFine PROCedure ZERO 1060 V=IFT (RFD*6) +1: s$=”

1070 SELect OF V

1080 =1: z$=s$&" YOU VOF’T VIF IF YOU DOF

» j bet ! ! ! "

1090 =2: z$=s$&" COME OF PAL, BET SOMET

HIFG ! ! ! "

1100 =3: z$=s$&" SHAME OF YOU !!!

1110 =4 : z$=sS&" COWARD!!!"

1120 =5: z$=s$&" TSK! TSK! TSK"

1130 =6: zS=s$&" I LIKE YOU BEST VHEF Y

OU BET.r- 1140 EFD SELect

1150 IFK #0,2: CSIZE #0,1,1: PRUT #0; TO Cl

10- CLEF Cz$)/2));zS: PAUSE 40

1160 EFD DEFine ZERO

1170 DEFine PROCedure screenworks

1180 WIFDOV #0,500, 40,4,216: VIFDOV #1,500

,216, 4, 0: VIFDOV #2,500,216,6,0

1190 OPEF #4, scr_115xl00a60x50: OPEF #5, sc

r_115xl00a340x50

1200 OPEF #6, scr_100x90a207x80

1210 OPEF #7, scr_448x30a32x50

1220 OPEF #8, scr_500x30a6xl80

1230 PAPER #1,0: IFK #1,7: PAPER #2,0: IFK #

2,4

1240 PAPER #4,0: PAPER #5,0: PAPER #6,0: PAP ER #7,0

1250 MODE 4: CLS #0:CLS #1: CLS #2 1260 EFD DEFine screenworks

It's a Biorythm program that will help you know when the good and bad days hit. Hope you enjoy it.

#B

J

NEW

10 Z=0:G. 100

20 P. "Saving 'BIO. BAS" : SAVE ‘BIO. BAS" : STOP 30 REM

40 REM »> "H8 BIORHYTHM * 40.00.00." ‘Corrected Per Remark Iss 12"

50 REM »> "COPYRIGHT 1977, HEATH CO."

60 REM

70 REM >>> Enhancements and conversion to Microsoft Basic "MBASIC" under CP/M by:

75 REM »> "SWERDNA", Havertown, Pa 19083 <8-12-83>

80 REM

85 REM »> CONVERTED FOR Z88 BBC BASIC BY CHRIS FENN/TSUG of LV <2-28-88>

90 REM

100 P. CHR$(27)+"E";

1 10 L=8 : REM Left Margin 120 DIM A ( 1 2),M$( 1 2),D9$(7),D$ (7),U( 4),U$(4)

130 FOR 1 = 1 TO 12 : READ A(l) : N. I 140 REM P1=3. 14159 150 P.

160 P. "This program will compute and print a personal Biorhythm. You will be asked to"

170 P. "enter a starting date, your birth date, the length of the analysis (in days),"

180 P. "and ypur name. Dates should be entered as month, day year."

190 P.

200 P. "Example: May 18, 1975 would be entered as 5,18,1975."

210 P. "When entering dates, don't forget the COMMAS."

220 P.

230 I. "Enter starting date (MM,DD,YYYY): ";M,D,Y8 240 P.

250 I. “Enter the persons birth date (MM,DD,YYYY): ";M4,D4,Y9 260 P.

270 I. "Enter number of days (length of analysis): ",E3 280 P.

290 INPUT LINE "Enter the persons name: ";A$

300 P.

310 Y=Y8- 1 900 : Y4=Y9-1900 320 S 1 =M : Y7=Y : E2=E3 330 GOS. 1240 340 C=Z1-D

350 IF E2>C TH. M=M+1 : G. 370 360 D 1 =D+E3 : M3=M : M=S1 :

Y 1 =Y : Y=Y7 : G. 460 370 IF M= 1 3 TH. M=1 : Y=Y+1 380 E2=E2-C 390 GOS. 1240

400 IF E2>Z 1 TH. M=M+1 : G. 440 410 IF E2oZ 1 TH. D1=E2 : G. 430 420 D1=E2

430 M3=M : M=S1 : Y1=Y : Y=Y7 :

G. 460

T1=T1rX

500 T2=1NT(D 1 +365. 25* Y 1 +A(M3)+.0 1 *M3-.0 1 )

510 X=Y 1 : X 1 =M3 : GOS. 1400 :

T2=T2-X

520 X=T-T 1

530 Y 1 =Y 1 + 1 900

540 W=T- 1 I NT((T— 1 )/7)*7

550 R 1 =T 1 - 1 - INT((T 1 - 1 )/7)*7

560 R2=T2- 1 -INT((T2- 1 )/7)*7

570 FOR 1=0 TO 6 : READ D9S(I) :

N. I

580 FOR 1=0 TO 6 : READ D$(l) : N. I

590 FOR 1=1 TO 12 : READ M$(I) : N. I

600 P. “Position the paper so printing will start on the first line and first column."

605 P..P. “Square+P to turn printer on, Square+S to print to RAM.-':P.

610 INPUT LINE 'Hit RETURN when ready.";PAUSE$

620 P. : PT

630 P.;TAB(L); : FOR 1=1 TO 71 : P ; : N. I

640 P. : P/: P.

650 P.;TAB(L);“Biorhythm

Analysis For “;A$

660 P. : P.

670 P.;TAB(L);“Starting

Date . “;D9$(W);“,

";M$(M);“ “;D;

680 P.;\ ";Y8 690 P. : P.

700 P.;TAB(L);“Ending

Date . “;D9S(R2);“,

“;M$(M3);“ “;D1;

7 1 0 P.;“, “;Y 1 720 P. : P.

730 P.;TAB(L);“Birth

Date . “;D9$(R1

“;M$(M4);“ “;D4;

740 P.;“, “;Y9 750 P. : P.

760 P.;TAB(L); : FOR 1=1 TO 71 :

P.;“=“; : N. I

770 P. : P. : P.

780 P.;TAB(L);“Exp!anation of the Graph: : P.

790 P.jTAB(16+L);“Physical Date (P)“ : P.

800 P.;TAB(L);‘Up: Endurance and Strength at Height."

810 P.;TAB(L);"Critical:

Caution- Accident Prone."

820 P.;TAB(L);"Down: Rest, Reduce Activities." : P. :

P.

830 P.;TAB(16+L);"Emotional Cycle (E)" : P.

840 P.;TAB(L);'Up: Harmonious Days. Enjoy Social

Relationships."

850 P.;T AB(L);"Critical:

Caution- Unstable."

860 P.;TAB(L);‘Down: Stress

Days, Moodiness and

Negative Outlook."

870 P. : P.

880 P.;TAB(16+L);"lntellectual Cycle (l)":P.

890 P.;TAB(L);"Up: Creative Days, Judgement and

Perception at Their Best' 900 P.;TAB(L);'Critical:

Caution- Error Prone."

910 P.;TAB(L);"Down: Below

960P.;TAB(20+L);’====’;T AB(40+ L);“=

=======";T AB(63+L );"==’

970 P. : P.

980 P.;TAB(L);D$(W);’ ‘;D;’ ’;M$(M);

990 U(0)=42 : U$(0)=T 1 000U( 1 )=42+INT(20*SIN(2*PI* X/33 )+.5) : U $(1)=’l’

1 0 1 0U(2)=42+INT(20*SIN(2*PI* X/28 )+.5) : U$(2)='E“

1 020U(3)=42+INT(20*SIN(2*PI* X/23 )+.5) : U$(3)=’P“

1030 FOR 1=0 TO 2 1040 FOR J=l+1 TO 3 1050 IF U(I)<U(J) TH. 1 100 1060 IF U(I)=U(J) TH. U(l)=0 : U$(l)=’’ : U$(J)=’X’ : G. 1 100 1070 S1=U(I) : S1$=U$(1)

1080 U(I)=U(J) : U$(I)=U$(J)

1090 U(J)=S1 : US(J)=S1$

1 100 N. J : N. I 1 110 FOR 1=0 TO 3 1 120 IF U(l)=0 TH. 1 140 1 130 P.;T AB(U(l)+L)jU$(l);

1 140 N. I

1 150 P. : X=X+1

1 160 IF Z=E3 TH. 1350

1 170 W=W+1 : IF W=7 TH. W=0

1 180 D=D+ 1

1 190 GOS. 1240

1200 IF D>Z 1 TH. D=D-Z 1 .

M=M+ 1 : G. 1220

1210 P.;TAB(L);D$(W);“ ‘;D; : Z=Z+1 : G. 990

1220 IF M= 1 3 TH. M=1 : Y=Y+1 1230 Z=Z+1 . G. 980 1240 IF M=4 OR M=6 OR M=9 OR M= 1 1 TH. Z 1 =30 : G. 1280 1250 IF M=2 AND Y/4=INT(Y/4)

TH. Z1=29:G. 1280

1260 IF M=2 TH. Z1=28 : G. 1280 1270 Z 1 =3 1 1280 R.

1290 DATA 0,3 1 ,59,90, 1 20,15, 181,212,243,273,

304,334

1300 DATA

“Monday ’/Tuesday'

,“ Wednesday-, “Thursday’, ‘Friday “1310 DATA

’Saturday’, ’Sunday' 1320 DATA "Mon ',’Tue ',’Wed ’,’Thu ",'Fri ",’Sat ’,’Sun

1330 DATA

’January’,’February’,’March’ ,’Aprir,’May’,’June’,’July’ 1340 DATA

August’, ’September’/October’

, ’November', ’December’ 1350 P.;TAB(L); : FOR 1 = 1 TO 71 P : N. I

1360 P.

1370 P. CHR$( 1 2);CHR$( 1 3);

1380 P. : P. : P. 'Square-P to turn Printer off, Square-S

to stop Ram file’ : P.

CHR$(7)

1390 END

1400 IF X/400=INT(X/400) TH. 1430

1410 IF X/ 1 00=INT(X/ 1 00) TH. 1460

1420 IF X/4olNT(X/4) TH. 1460 1430 IF XI >2 TH. 1460 1 440 X= 1 1450 R.

1460 X=0 1470 R. E

4 5

(ft

o

(ft

(ft

a

o

JU OMPUTER security becomes I more important as personal I | computers increase in power and computer literacy becomes more widespread. The small, portable and powerful Z-88 is likely to be en¬ trusted with secrets found previously only in the murkiest depths of a Filofax. Because its portability can lead to it being left unattended accidentally it is slightly surprising that the Z-88 leaves its data completely unprotected from prying eyes. Perhaps the prospect of owners forgetting their passwords and locking themselves out dissuaded Cambridge Computer from including a password routine.

While it is not possible to exclude the ungodly without making changes to the Z-88 hardware it is relatively easy to encode chosen files so that their contents remain secure. Naturally,

yaw

This can be done by using a cipher | key, a short word or phrase, to control the transposition. If the word “HELLO” is the key, five consecutive As will become HELLO when encoded. More normal and irregular patterns of text are, of course, disguised more heavily. The fact that AARDVARK becomes HECOJHVV shows that not even the pattern of double letters remains to give codebreakers any clue to the plain text.

An encryption program must cope with computer files rather than secret messages. In the Z-88 a file is an area of memory containing a number of characters, some recognisable as digits, .symbols and letters of the alphabet and some not.

Non-printing characters are used to represent line feeds, tabulation and so on. All the characters are contained in

Leave your Z-88 lying around for a few moments and someone else could have access to your valuable data, unless you take advantage of Mike Lloyd’s simple Basic application to encode sensitive files.

encrypted files must also be capable of being decoded provided that the correct password is given. The accompanying Basic program encodes and decodes any kind of Z-88 file, including Pipe Dream files, based on a technique used by British agents in the Second World War.

One of the simplest and least effective ways of encoding a message is to transpose the letters of the alphabet Every A might be replaced by a 1), every B by an E and so on. A much more se< ure cipher can be obtained by changing the transposition for each letter in the message, so that an A might become an H on the first occurence but an E on the second occurence and an L on the third, and

a numbered table, common to most personal computers, known as the ASCII character set.

The twin threads of the encryption method and the ASCII file format eventually will merge at the heart of the program. Before examin¬ ing the details, however, the overall design of the routine must be con¬ sidered. From the outset the program was planned to be easy to use, concise and largely foolproof.

The* user specifies the file on which the* operation is to take place* and givers 1 he coitcc t cipher ke\ . follow ing w hie h the process is entirely automatic . Flic* program deletes plain text files after they ha\e been encrypted, thus preventing the user having to remember to do so. and it works out for

itself whether a file is to be encoded or decoded.

On many occasions encoded files will need to be decoded to examine the contents rather than update them. It would therefore make little sense to require the user to encode files after a simple inspection. Accordingly the

adoption of the convention that encrypted text files and the filename extension “.CRP” meaning “encrypted” to the source filename. As a consequence of this rule a plain text file must have no filename exten¬

sion.

The program begins by clearing all

The small, portable and powerful Z-88 is likely to be entrusted with secrets found previously only in the murkiest depths of a Filofax.

Because its portability can lead to it being left unattended accidentally, it is slightly surprising that the Z-88 leaves its data completely unprotected from prying eyes.

program retains encrypted files until they are erased specifically by the user.

A classic error would be to re¬ encrypt an already-encoded file accidentally, thus making it com¬ pletely unreadable. It is so easily done that the program must be written in such a way as to prevent the mistake occurring.

Those considerations led to the

spurious information from both the screen and the Basic program area. The user is then asked for two essential pieces of information, the cipher key and the filename. The cipher can be any length and might even be a short phrase. A long key offers more oppor¬ tunity for typing errors, thus making it almost impossible for the encrypted file to be decoded.

The cipher key is displayed as it is being entered and it can be edited with the delete and cursor keys to safeguard further against mis-keying. This is in contrast to most computer password systems which do not display text on the screen; cash machines are a good example. Once the ENTER key is pressed the program assumes that the cipher key is correct and obliterates it from the screen.

Lines 50 to 90 handle the filename input, asking repeatedly for a filename until a valid filename is obtained. The program rejects names of files which do not exist or which contain only a single character. That is because the Z-88 Basic does not allow files td be deleted and so the program truncates plain text source files to a single space character.

Rather than thinking of “encrypted” and “plain text” files the program treats the file identified by the user as the “source” file and the file created for output as the “destination” file. It knows by the presence or absence of the “.CPR” filename extension whether the source file is to be decoded or encoded and it creates an appro-

10 CLEAR: CLS: CLOS£#0

20 PRINT "FILE ENCRYPTION PROGRAM - MIKE LLOYD 1988" 30 INPUT TAB (0,2); "ENTER CODEWORD: " KEY*

40 PRINT TAB (16, 2); SPC(100)

50 REPEAT

60 INPUT TAB (40, 2); "ENTER FILE NAME: " BELLE*;

70 S = OPENIN (SPILE*)

80 UNTIL S > 0

90 IF EXT# (S) < 2 THEN CLOSE #S: GOTO 50 100 IF RIGHT* (SFILE*, 4) = ".CRP" THEN 140 110 DFILE* = SFILE* + ".CRP"

120 TRAN = 1: REM ENCODE 130 GOTO 160

140 DFILE* = LEFT* (SFILE*, LEN ( SFILE*) -4)

150 TRAN = -1: REM DECODE

160 D = OPENOUT (DFILE*) : C = 1

170 PRINT TAB (20, 4); "Working...";

180 REPEAT '

190 C = 1 + (C+3) MOD LEN (KEY*)

200 BFTJT #D , ( BGET #S + ASC (MID* (KEY*, C, 1 ) ) * TRAN) MOD 256

210 UNTIL EOF #S 220 CLOSE#©

230 PRINT TAB (20, 4) ; DFILE*; " created " ;

240 IF RIGHT* (SFILE*, 4) = ".CRP" THEN 270

250 S = OPENOUT (SFILE*) : BPUT#S, 32: CLOSE#S 260 PRINT " and "; SFILE*; " destroyed";

270 PRINT SPC < 40) : CLEAR

280 I NPUT TAB ( 1 2 , 6 ) ; " ANOTHER F t LE ( Y / N) " ; A*

290 IF A* - "Y" OR A* = "y" THEN RUN 300 END

In

SBW

priate destination file. The listing uses the variables S and SFILES to refer to the source file and the variables D and DFILES to refer to the destination file.

The encryption and decryption processes are the opposite of one another. If the enciphering process displaces a letter by seven alphabet positions it is decoded by moving seven places in the opposite direction. That is controlled by the variable 'IRAN which is set to i when encoding and -i when decoding.

By the time the cipher routine begins at line 180 channels have been allo¬ cated to the source file to read its contents character by character and to the destination file to store the encoded equivalents. The variable C, used to indicate each of the cipher key characters in turn, is set to point to the first character in the key. Finally, a brief message reassures the user that the program is working.

The encrypting process is surpris¬

ingly short, consisting of only two lines within a REPEAT . . . UNTIL loop. Line 190 increments the character pointer by three each time the loop is passed so that the characters in the key are used in a jumbled order as a further hindrance to a possible codebreaker. For instance, the characters in the cipher key “HELLO” would be used in the order H, L, E, O, L.

The second line in the loop contains a single but lengthy command which can be intrepreted to mean “write to the destination file BPUT#D... the next character from the source file

..BGET#S... - as modified by the addition or subtraction of the charac¬ ter value of the current password letter

.,]ASC(MID$... etc”

Encrypted character

Both the foregoing lines make use of the keyword MOD, the modulus operator. It calculates the remainder following the division of the left-hand side of the expression by the right. As a result, the value of C never exceeds the number of characters in the cipher key and the encrypted character values never fall outside the ASCII range of 0—255.

The loop is completed when every character in the source file has been

read. The channels are closed with the CLOSE#o command and the user is told the name of the new file created by the program. The user is also told if a plain text file has been truncated. The remaining lines establish whether the process is to be repeated.

Before the program is used it should be saved to a file in case of accident use SAVE “CRYPT” or something similar. It should then be tested with a dummy file of unimportant informa¬ tion before risking anything valuable. A full page of text takes about one minute to process. For obvious reasons, do not try encoding the program file. The routine can be left as a suspended task or called from Basic by a com¬ mand similar to CHAIN “CRYPT.” Incidentally, the displaced control codes of an encrypted file corrupt PipeDream displays completely but they cause no lasting changes to the system.

The accompanying listing has been reproduced exactly as it was typed on a Z-88 to ensure that it is accurate. The most likely case of the program failing to work is a typing error, perhaps as seemingly insignificant as adding an extra space. Please compare your program to the published listing very carefully before telephoning the editor for help.

NEW DISKS FROM UPDATE by E.P. WANNUM

THIS ISSUE FINDS US HAVING SEVERAL NEW DISKS OF SINCLAIR SOFTWARE TO OFFER TO OUR READERS. IT IS OUR HOPE THAT YOU FIND THEM OF INTEREST.

THE FIRST WAS JIM BRETZ * S ’PAYROLL’ PROGRAM WRITTEN FOR THE LARKEN INTERFACE ON THE TS2068. INCLUDED WITH THAT WERE THE CHANGES NECESSARY TO USE IT WITH THE OLIGER SYSTEM. IT IS AVAILABLE FOR THOSE WHO DO NOT WANT TO TYPE IT IN FOR $20.00 AND COMES ON DISK ONLY, ALL SIZES AND VARIATIONS.

THE SECOND ONE FOR THE TS2068 IS ALSO FOR THE LARKEN INTERFACE (WHERE ARE OUR AERCO, ZEBRA, AND OLIGER DISK PROGRAMMERS?). IT IS AN EXCELLENT REPLACEMENT FOR THE LARKEN FORMAT OF DISKS. THE ONE THAT CAME WITH THE INTERFACE IS ABYSMAL. IT IS WROUGHT WITH CRC ERRORS AND GENERALLY PRODUCES WHAT ARE UNRELIABLE FORMATTED DISKS, WHEN COMPARED WITH THE OLIGER SYSTEM. IT WAS WRITTEN BY BILL PEDERSEN AS A REPLACEMENT AND UPGRADE OF THE ORIGINAL FORMAT PROGRAM ON THE LARKEN. IT IS OFFERED ON DISK ONLY AND IS $4.00 FOR 5 1/4 DISKS AND $5.00 FOR 3 1/2 DISKS. THIS WAS ONE OF THE LAST PROGRAMMING EFFORTS OF BILL, BEFORE HE PASSED AWAY IN DECEMBER. TRY IT AND SEE AN END TO THE CRC ERROR OR HAVING SO MANY DISKS NEEDING TO BE SALVAGED, OR DIRECTORIES CORRUPTED.', I HOPE THIS DOES NOT SOUND LIKE I AM TOTALLY DOWN ON THE LARKEN SYSTEM; IT HAS MUCH TO RECOMMEND IT; IT IS JUST THAT WITH THE OLIGER SYSTEM I USE I HAVE NEVER HAD EVEN ONE DISK LOSE A DIRECTORY OR BECOME CORRUPTED, SAVE BY LEAVING IT ON TOP OF A MONITOR FOR A FEW HOURS (ELECTRO-MAGNETIC FIELDS CAN WIPE THEM OUT), WHEREAS WITH MY LARKEN, I HAVE ON OCCASION HAD SOME PROBLEMS. WITH LOGICAL FROM BOB SWOGER AND NOW THE NEW FORMAT PROGRAM BY BILL PEDERSEN, I EXPECT NO MORE PROBLEMS!

THE THIRD NEW OFFERING THIS ISSUE FROM UPDATE IS THE ’QL COMPENDIOM’ , AND IT HAS A VARIETY OF SOURCES. IT HAS SOME PROGRAMS THAT WERE SUBMITTED TO UPDATE THAT WERE NEVER USED BEFORE, SOME THAT MADE IT INTO PRINT, AND A NUMBER OF UTILITIES. A FEW OF THESE ARE: A PROGRAM TO ENSURE THAT ALL 720K 5 1/4 DISKS ARE PROPERLY FORMATTED (SOME OLDER DRIVES HAVE BEEN KNOWN TO

REQUIRE THIS), SEVERAL FILE COMPRESSION AND DECOMPRESSION PROGRRAMS, SOME POPULAR ’C LANGUAGE’ UTILITIES SUCH AS ’FLEX’ AND YACC , E_FORTH FOR THE QL FOR THOSE WANTING TO EXPLORE AND USE THIS PROGRAMMING LANGUAGE, PAUL HOLMGRENS PROGRAM THAT HE HAS USED SO SUCCESSFULLY TO READ TS2068 DISKS, OR COPY MANY PROTECTED QL DISK PROGRAMS (THUS ALLOWING YOU TO MAKE THE LEGAL BACKUP THAT YOU ARE ENTITLED TO FOR YOUR OWN USE ONLY). THIS COMES AS A THREE Dl‘SK SET FOR THE PRICE OF $20.00 IN THE FORMAT OF YOUR CHOICE. THE ONLY EXCEPTION WOULD BE IF THE REQUEST WAS FOR HD OR ED DISKS. AS

ANYONE WHO USES THESE KNOWS, THEY COST MORE TO PURCHASE. ADD TWO MORE DOLLARS FOR HD DISKS AND THREE MORE FOR ALL ON ONE ED DISK.

IN THE NEXT ISSUE WE WILL BE OFFERING A NEW DISK OF SOFTWARE FOR THE OLIGER DISK INTERFACE ON THE TS2068, AND IF

THINGS GO AS WE HAVE BEEN TOLD WE MAY ALSO HAVE ANOTHER NEW QL

ISSUE DISK TO OFFER.

LET FRANK, CAROL OR I KNOW HERE AT UPDATE IF THERE IS ANY INTEREST IN PROVIDING YOU WITH DISKS OF Z88 PROGRAMS. WE HAVE SOME THAT HAVE BEEN COLLECTED AS SHAREWARE, PUBLIC DOMAIN AND FREEWARE. MOST ARE AVAILABLE ON QL FORMATED DISKS, AND A NUMBER OF OTHERS ARE AVAILABLE IN IBM FORMAT. WE WOULD BE WILLING, SHOULD THERE BE A REAL INTEREST IN DOING SO, AT A VERY REASONABLE RATE. WE HAVE TO DO AT LEAST MINIMUM COVERAGE OF THINGS LIKE DISK, PACKAGING, MAILING AND COPYING FEES. BEST TO YA! ELIAD!

*** FREE WANT OR TO SELL ADS ***

In keeping with what has always been a tradition here at UPDATE we offer free ads for those looking to either buy or sell Sinclair or Cambridge related items. We do not accept ads for cars, houses, etc. If you subscribe or write for us we will take a small personal computer ad. Commercial dealers should contact Frank Davis at the magazine for commercial ads. It is the responsibility of the commercial vendor to get the ad to us in a timely and copy ready format for each issue. For the subscriber, let us know the results of your ad.

(1) QL Computer, 4 Psion program cartridges, power supply, small photo copied manual. 30 day money back guarantee. $70.00 PPD.

Magnavox Amber Monitor 80, Monochrome with cable for the QL. 30 day money back guarantee. $40.00 PPD.

Contact: Bill Cable, RR3 Box 92, Cornish, NH 03745, phone (603) 675-2218

(2) Wanted: looking to purchase at reasonable prices, the following; non-working Z88s for parts, PCLink for the Z88, software to link the Z88 to the Amiga, used QEP "3 eprom programmer for the QL, Desk Top Publishing software for the TS1000 or the Z88, spare TS2068 power supply. Write to E.P. Wannum, c/o UPDATE Magazine, P.0. Box 1095, Peru, IN 46970. No phone on farm, and most of the time on the road counselling, but can be reached via the magazine.

(3) For Sale: Trackball set up to work with the QL for $20.00; ZX81 Kits, complete for $15.00 plus shipping (great to teach basic electronics as well as ending up with a working computer).

Contact: Paul Holmgren, 5231 Wilton Wood Court, Indianapolis, IN 46254, you can phone evenings and weekends 317-291-6002.

(4) For Sale: Sony Trinitron 9" RGB Monitor, set up with cable for QL, adjustable to work on British and American QLs for $90.00; Sanyo RGB Monitor set up to work with TS2068 or QL, no cables, for $80; Olivetti Ink Jet printer, works fine with all computers with parallel printer port, it has enough inkjet cartridges for several million characters, does great graphics, all for only $85. 3 1/2 " Mitsubishi Disk drive, 400k 80track SSDD, w/15 disks for $30.00. All items include postage and handling for Parcel Post, add $5.00 more for UPS or Priority Mail. Contact: Frank Davis, 513 East Main Street, Peru, Indiana 46970, or phone 317-473-8031 in the early evenings or weekends. If not there leave a quick message on the answering machine.

On any of the above items for sale by individuals, it is always best to call if there is a phone number; this insures that the items have not already been sold. It is up to the buyer and seller to make financial arrangements as we do not guarantee the condition of any items advertised. We merely act as a vehicle for your free ad. If you have an ad we can help you with here at UPDATE Magazine send it to us in writing; we will not accept them over the phone.

TS2068/ UPDATE ISSUE DISKS

These disks contain at least one major* piece of software written specifically for disk drive and are guaranteed to be worth the money. The rest of the disks are filled with various uti lity programs taken from the issues of UPDATE and a few surprises thrown in. Half of the money goes to the author and is meant to encourage new programming for the TS2068 that makes use of the various disk drive systems. All are $20.00 per disk (add $1.00 Canada) except where noted in the listing. Postage and handling is included. Both 3 1/2 and 5 1/4, 40 and 80 track available. Please add $5.00 for mailing to other countries. We accept personal checks, company checks, money orders. No charge cards please .

1) NEW I PAYROLL by Jim Bretz . Payroll record program for employers , for the Larken System. Allows for accurate processing and use of employee earnings and tax records, etc.

2) Bob Hartung DOSDEX UTILITY ISSUE DISK, a complete disk management group of programs for the. Oliger Interface only. This includes Multi-Manager for file handling. This collection has recently been updated and expanded.

3) MAIL MERGE ISSUE DISK, Oct 87 and Jan 88 issues of UPDATE utilities added to fill out this disk. Includes a tutor program for the Mail Merge program. List Looker, Purity, J-Utilities and Extra Memory Utilities. Larken, Oliger and Aerco versions.

4) WIDJUP'S CAD PROGRAM, this will give you professional results from your TS2068 for computer aided design. Authored by William J. Pedersen, perhaps the NO.l authority on the inner workings of the TS2068. This program can be used to create user friendly printed circuit boards, computer art or desktop publishing files It does not need expanded memory cartridges and is available in four versions: (a) Oliger for either IBM compatible printers or for the Olivetti Ink Jet. (h) Larken for IBM compatible printers or the Olivetti Ink Jet printer. Please specify version.

5) OLIGER DISK DRIVE BBS PROGRAM, this allows users of the Oliger interface to be able to operate a disk based bulletin board from the TS2068. The disk is also filled with many other Oliger disk routines and tips on, using the Oliger System. Written by Paul Holmgren. Can use upto four DSQD disk drives.

6) The HYBISCUS ENSEMBLE, consisting of two separate, but complimentary sets of programs. A) Daisy. B6 Ensemble, and B) Udbm.B6 Ensemble. LKDOS only, $22 each or $36 for both. The best' file and database available for Larken, by Bill Jones. The price remains the same on this one, no change. Wordprocessor included.

7) TS2068 Super Calc by Bill Jones. Available in both Larken and Oliger formats. Handles loans, amortization, savings and fixed investments, plus a calculator and all for only $15.

UPDATE COMPUTER SYSTEMS invites you to submit software programs that may become Issue Disks. Please submit program on disk, with documentation and article to accompany the program. Our goal is to get North American software available and known. We also solicit minor programs, tips and utilities for print .

QL UPDATE ISSUE DISKS

These disks contain at least one major piece of software written specifically for disk drive and are guaranteed to be worth the money. The rest of the disks are filled with various utility programs taken from the issues of UPDATE and a few surprises thrown in. Half of the money goes to the author and is meant to encourage new programs for the QL. Some of the programs take advantage of Tool Kit 2 by Tony Tebby. All are 20.00, except QLuster, which is $15.00; includes P & H, add $1.00 CAN. Available as 3 1/2 or 5 1/4 disks. Add $5.00 for mailing to other countries. We accept personal checks, company checks, money orders as well as International Postal Money Orders, but no charge cards. If ordering on MDV, then please include one that is already formatted, so we will know it will run on your QL. Due to the expense of MDVs this is necessary. If two MDVs are required we will state so in the ad.

1) HARTUNG UTILITY ISSUE DISK- Several excellent programs such as stand alone data base. Address, and QSO files. All are in Superbasic. Lots of hints and tricks for programmers. Requires some knowledge of Superbasic or a yen to learn. Recently updated by Bob Hartung. Address file can be used as inventory program. It can print out labels. Both screen or paper printouts can be by Alpha sort, or be by last name,

2) CABLE ARCHIVE ISSUE DISK- Contains six Archive programs along with Doc files to get you going on making use of the Archive programming language. Also has 'basket, plus Doc file, to give you multi-tasking on your QL (much cheaper than QRAM or Taskmaster ) . Included is Arithmetic, a Superbasic program for math, along with math drills. This is for both the advanced and beginner user and greatly extends the use of Archive. To order on microdrive send two formatted microdrives, too much for one!

3) QLUSTER ISSUE DISK by A1 Feng- Q1 utilities to unclutter your disks and microdrives. COPY, DELETE, FORMAT, PRINT, VIEW, plus extended use of some Tool Kit 2 commands. TK2 is required. These are TURBO compiled for speed. Multi tasks and uses minimal key presses. Includes Fast-Disk and Vegemat2, a super clone making program. Also Snap Shot-a directory column or condensed printout program.

4) DOS EMULATOR COMPANION ISSUE DISK by A1 Feng- Just released in Oct. issue. Makes better use of Solution, PC Conqueror, Discover, XOVER, QLuster and scr_ codes. If you are going to use the emulators, then check this out, you won’t regret this buy.

5) QLuMSi DOS by A1 Feng- a MSDOS simulator and front end program for the QL, also includes other programs by AL Feng for file management and cloning of programs. A Great Learning Tool

6) QL COMPEND I 0M- a three disk collection of utilities for the QL, taken from the various short programs in UPDATE, plus file compression, decompression, E_Forth for the QL, C utilities such as FLEX and YACC . All for only $20.00 NEW THIS ISSUE!

UPDATE COMPUTER SYSTEMS invites you to submit software programs that may become Issue Disks. Please submit program on disk, with documentation and article to accompany the program. We are here to get North American software available and known.