SINC - LINK Vol. 4 No. 4 AUG/SEP 1986

SING LING TE E PEBLICATION OF THE TORONTE TIE- MLAN USERS CLUB AND IS GUE & Foer EEE

TIMES p VEGG, SOPTRS OF THE NEWSLETTER ane $150 EACH FOR NNVEMEERS, CLUE MENBERE oe DED 6 EE COPS PART OF TE SBE | res ase. vncsrcocene BE 2

iM ANNUAL MENBERSAL? FEE, SINCBITS by Ian Robertson........+PAGE 3 E sj ETTERS AGE FUCHEWGED, FREE OF CHIREE LARKEN DISK COPIER by G.F.C.....«PAGE 4

HERO PRE CHAIR [ook AMS) | OVERLOOKED LOGICALS.+++.sss0000+«PAGE 5 Bait! iJ THER TENAN USERS SIUR: TS RESET & INITIALIZATION , by C. Urban...... PAGE 6 ii MOTETO TS TH THE tat ag Tart ALL MATERIAL Is IH THE PUBLIC DOMEI MU | pemes anD POKES FOR THE TS1000...PAGE 7

Lies ;

wm REPRINTED, PLEASE GREIT THI? | vermy by Chris Taylor. .....».. PACE 7 mti HN TH H Ee pay .

AND THE AUTHOR F h ' | BOB'S NOTEBOOK by Bob Mitchell...PACE 8 RENAME by Bob Mitchell. CE SE E SE SE E „PAGE 9 DISK DROPPINGS by G. Lloyd.......PAGE 10 TELECOMMUNICATIONS ` Hints and tipS.......PAGE 11 SIK CK MURPHY'S LAWS. ccceecccccescceeeesPACE 12

Attention: SINC-LINK Editor ZX81 NEWS AND RESOURCES

TORONTO. TIMEX=SINCLAIR USERS CLUS f P.0,80x 7274 Stn. A, Toronto MSW 1X9 by P. McMullin....PAGE 13/14

EXECUTIVE OFFICERS

PRESIDENT: George Chambers (416) 751-7559) 14 Richome Court Scarborough, Ont MIK 2Y1 TREASURER: Charles Urban

TAPE LIBRARIANS: ‘Robert Rosenzweig, Brian Milne PAPER LIBRARIAN: John Burns

HOUSE CHAIRMAN: Help Wanted!!

ACTIVITY DIRECTOR: Help Wanted!!

LIAISON OFFICER: (Out-of-Town Members) George Chambers NEWS EDITOR: Sean Wenzel (416) 699 0714

TORONTO TIMEX - SINCLAIR USERS CLUB P. O. Box 7274 Stn. A Toronto, Ont., MSW IX9 l Canada PAGE 1

active

many members are unaware of. Primarily this is

PRESIDENT'S MESSAGE

Our newsletter editor, Sean Wenzel, tells me that he is going to have a bulletin board in operation as soon as he gets a telephone line put in. He expects this will take about a week or ten days. He also assures me that there will be a section devoted to Timex enthusiasts. I find this to be good news for all you Timex computer owners, especially those in the Toronto area. You might call Sean at 699 0714 to check whether his board is in operation, hours, etc.

I hope that we have an article in the next newsletter, giving details of accessing it, etc., so that all modem owners out there who are just as mystified as myself about bulletin boards can get our feet wet.

You will notice that we have quite a few articles on the LARKEN disk system in this issue. I guess that either Larken owners are just the most section in the club, or else the most communicative! All owners should be so enthusiastic! Certianly there is a lot of programming activity going on in this particular area. I continue to hear

of new LARKEN users,

in that

Our paper library has a lot of material

stuff, but there is a lot of things that are of interest to TS2068 owners. How about the newsletters from other clubs. There are about 25 binders of newsletters covering the past 18 months, that are dying to be read, And as a note, don't forget to bring them back to the club the following meeting.

I have also put together several copies of material that I have accumulated. They are under topics such as Modems, Larken system, and Hacking. Ask for the loan of them.

We are gradually getting back onto schedule with our newsletter. The next issue should be out about the second meeting of October, and the final issue for the year about the first meeting in December,

Yours in computing George Chambers

BBS SPOTLIGHT

If you want to try out your modem why not call the BBS called FACTLAND. This is a far out board which offers various randomly selected facts, some of which are not particularly factual. The number to call is (416) 481 7889 . It is a 24 hour board so you

may call any time. You may find the line busy at times.

NOTES

This month I've a couple of hardware tips that were provided by Jim Lewis that will be of interest to 2068 owners, If you have a 2068 with a wired in Spectrum ROM and have had some problems with the computer initializing on the Spectrum ROM and had to turn the machine on and off several times, don't worry any more because here's the fix. You must replace the 1 mfd. capacitor marked C-21, located in the lower central area of the board with a 10 mfd. capacitor, and the 2068 will initialize positively in both modes.

The 12 volt regulator, located in the upper left side of the board runs on the warm side, For cooler running add one of those clip-on heat sinks to the Ue8. Jim also found an error in the schematic for the 2068. The ROMCS signal from the SCLD goes to the Wl jumper (not the W2 indicated on the schematic) and the MREQ signal goes to the W2 jumper. Apparently the signals are reversed on the diagram.

From the "RAMTOP", the newsletter of the Greater

Cleveland Sinclair Users Group.

TO ELIMINATE BLANK SPACES WHEN USING STRINGS IN A LINE OF TEXT

When an array is created to hold data the length of When the array is printed the whole string will be printed even though the string is

each string is fixed. only partially filled. To demonstrate try this: 10 DIM A$(1,8)

20 LET A$(1)=" MARCH" 30 PRINT "a";A$;"a*

You will see many spaces between the word MARCH and

the last "a", The subroutine below, when called just prior to printout, chops off the unwanted at the end of the string that is being called up.

90 DIM A$(12,3) 100 INPUT X 110 GOSUB 6000 120 PRINT A$(X, birthday" 130 STOP 1000 FOR A= LEN A$(X) TO 1 STEP-1 1010 IF A$(X,A) " * THEN RETURN 1020 NEXT A 1030 RETURN 2000 LET A$(1)= 2010 LET A6(2)= 2020 LET A$(3)=

TO A); “is the month of your

"JANUARY" "FEBRUARY" “MARCH®

PAGE 2

spaces

SINC-LINK Jul/Aug 1986 SiMCBITS

Iaa Robertsoe CompuServe 72147, 340!

UPDATES: Are you iaterested in updating to or obtaining a 96tpi 80 track BSOS disk drive? Then have I got 900d news for you! Central Sales Co., 314 N. Central Ave, Deluth, i 55807,

ape selling the discostinued (and probably used/returbished! .

Control Bata Corp. 5.25° full sized drives for $39.93 each, oF ` $70.00 fop tua. Add 10% to the order top shipping amd handling. They do sat take plastic. I just received one, that I bought for a spare, and it is the quietest drive that I owe. SBetisately worth considering if your drive interface caa handle quai irive (800k). Now oa to am item that everybody caa use. fa the May/June issue of SINCUS NEVS, on page 5, is as article by Hal Soka, deacribiag a ‘cassette signal booster’. It consists of 4 parts and works on all Sinclair/Tisex computers. I built this device aad cannot recommend it too highly. Lets face it, we all have cassettes that we caa barely load, aad sone that will nei Inad at all. This could be the answer. The parts are available at your local Radio Shack store aad total cost is «mier $5.00. This isswe of Sincus News is im our club exchange library. Recomsended reading. Ia ay last columna I sentioned a Tasnord 2iTasword 3 utility called "Gualitas’, sold by Seven Stars Publishing (U.K.}. Unfortunately I will not be buying this one, as it oaly works with Epson RX-80 and compatibles that have quad-deasity graphics. It is not for our humble NT-80°s. Too bad, for a while there I thought it possible to keep ay existing printer and have YLO printouts, and not have to invest in a ses printer. Yet another casuaity in par 7S world, the SAF User Sroup, Leslie MI, will cease to exist when they “repay their peabers unfilled subscriptions. A very honourable task, they are to be congratulated fer this approach. How nasy clubs, Companions, etc., leave their sembers/customers high aad iry.

TS2068: I use a Tasean centrosics printer iatertace with ay 2068. It ines not priat out while in the Spectren sode. This has Caused me some consternation dering ay TS years, as I never did figure cut the pokes required to perform this. New this problem is solved. 1 bought the ‘Foote Print Ceatrosics Interface” from Foote Software, P.O. Box 14655, Gainsville, FL 32604-4655, The cost was $45.00, which includes cable and sottuare (Zebra Zprint-60)}. If your software has the printer driver built in, this interface wiil priat out using the Tasnas and the Aerco, and the Tasman werks with the 20483 in Spectres node. This CPI plegs iato the 2068 cartridge pert and has as eprom socket os board. I use Joug Dewey’s ‘Spectres Enulator’ 16h eprom ia this socket (it has an “ON/OFF” switch) and can report that everything werks (so far). All thiags considered, this is a very powerful asd reasonably priced package. The Zebra software allows you to priat a grey scale copy to abaut a dozer different full sized printers. See the Zebra catalogue for details, Now to briag yoa up to date oa the Jobe Oliger disk drive Interface and the onqoiag saga of "bow is the Ray Kingsley BOS coming along’. Joha has a preliminary copy of the “OK 0S" from Ray, Dut it is aot yet ready for sale. Current pias Call for the OK BOS to share half of a 27128 (14k) eprom along with ILO SAFE D09. A saail switch would allow switching between the two systems. Joba sow has vi.32 of SAFE NOS available. This is

his final planned edition. He aay eventually briag out a v2.0, but it would be radically different than the present vi.3Z. Tine

will tell. And now for something comgleteley different. In the latest issue of Tom Vonds ‘Compater Updates ivol 3, Ne.3) there is a comprehensive article entitled ‘How to connect as IB keyboard to your Timex 2068". They keyboard wentiontd is a Keytronics Mode! 515i, which I see advertised in "Computer Shopper’ for $89.98 (US). In addition to the keyboard you nire cee of Tom’s Experinenter’s 1/0 ports asd a few slectronic components. Does this fire your imagination? The hardware also works with the TS1000/TSI500. The article details all software pekes required for the 2048.

SPECTRUM: Although I have sever been ‘really’ interested in computer games, I must admit that since I bought a coloer wonitor, ay appreciation has increased. Uhat I am really trying to say is "If you own a Spectrum (or emulated Spectrue) then you had better like games, because games accoert for at least 953 af the software published’, fp addition to the aunber of games or the market, all Sinclair dedicated nagazises are becosiag sore gases oriented, For example, the Aug. issue of ‘Crash’ has 122 paces, of which 6 are not games oriented. To be fair, the current generation of Spectrum games is so much better, both from a conceptual poist of view aad from an artistic/qraphics viewpoint. If you remember such games as ‘Transylvania Tower’ and "3D Tanks”, you will know what I mean. The new generation, exenplitied hy “Tomahawk’, "Bobby Bearing’ and the likes of "Pyracurse® are trely ingeniys and as such deserve to be purchased and sot pirated. The tew “serious’ Spectres programs are usually GREAT. Art Studio coupled with the AMX nouse is such an exampie, that a combination, aad it even alionws you to access aicrodrives or the Kempstoa KDOS disk system {if you have the extended version of the program). The AMX mouse cones with sottware which allows the user te incorporate peil dows nemes in their owa software. This coluse is being tyed on ny beloved Spectrum Pius again, after being repaired in the UK. Now for the *pepair saga’. I seat the computer to Videe Vaeit Ltd., 140 High St., Slossop, Derbyshire, U.K. om June 30th. It was returned to we Jaly 16th. What great service you say! Well to start with, the keyboard was JOA. Now as luck would have it, | am probably nae of the 4 people ia the universe who carries spare parts for the Speccy, and I bad a spare keyboard sesdrane. After opening the cosputer (veiding the repair warranty) and replacing the

weabrane, I was once again in business. A subsequent letter to Video Vault requesting an answer to "how can a repaired and tested conpater not work apoa receipt’ has sot bees asswered to date. Although the original problee was repaired, I do aot think their Quality Contra! is good enough for future busisess. Stay away froe them! They also omitted to insert 4 of the 9 screus sequired to hold the Speccy together. If anyone is jaterested in buying parts for aay Siaclaie ccoapeter products I have the latest issue of the "P.V. Tubes’ catalogue. This company has nroven to be a very reliable, soderatly priced supplier, who delivers within 2 to 4 weeks from the U.K. I also have the latest "Theaghts & Crosses’ catalogue. Final item - sonetines it is a good idea to be the first kid on the block with the latest item, and them again sometines it is better to order the sane ites atter all the bugs are gone. I waited for some tine before orderiag an AMX Nouse. Lo and beheld I received their latest version, which is mech nore erqonasic thaa the origiaal.

PAGE 3

LARKEN DISK COPIER UTILITY by George Chambers

Although the LARKEN DD system has a 2<drive option many users will doubtless make do with a single drive. This utility listed here is designed to facilitate the use of the COPY function of the LARKEN DOS when using a single drive.

Essentially the program makes use of the Directory on track 0 of the disk to list each program on the disk in turn, to ask if you wish to copy it, and then do so; requiring only that you switch disks when prompted. No entering of COPY commands is required.

Some features of this program are worth mentioning, Since they could provide ideas for use in other LARKEN DD applications.

-The program is saved within the listing at line 9900, thus it starts automatically, and displays instructions contained in lines 9910 to 9980. Because this utility must fit under the LDOS located at address 28000, these lines are deleted before loading LDOS28 at line 10. Also, to save space the program makes extensive use of the VAL function.

-The POKE in line 25 is used to cause the LDOS28 to return to the BASIC program after executing a COPY command at line 140, rather than returning with a LDOS cursor as it would normally do.

-The POKE at line 145 ts designed to foil the

E AA

“scroll?” fuaction, wich would otherwise appear

periodically as the screen scrolled upwards.

=The FOR/NEXT routine in lines 30-50 is used to scan the Directory which has been placed there by line 20. Line 40 is used to identify the start of a program name. The 255 marks a program name slot in the directory. If a name slot contains no program name, or if a program has been deleted from the disk, the address following the "255" will contain a value "254". If the FOR/NEXT loop detects a value of "255" in an address, and other than a “254" in the next address it correctly assumes that a valid program name is coming up, and does a GOSUB to line 100.

-The FOR/NEXT loop in lines 100-130 picks the program name out of the Directory and places it into the a$ used in line 140.

-Because of the presence of the Directory in the 61000 region of memory the size of the program that can be copied with this routine is 16 tracks, or about 31360 bytes. Lines 132/135 take care of this by displaying an appropriate message, and moving on to the next program.

-After the last program on the Directory has been handled the utility will appear to have hung up. This is not so, The search for a program name is continuing; however because this utility is in BASIC

it takes a while to search the valance of the

Directory until it finds `: value "250", `

indicating the end of the Directory has been reached {see line 45).

1 REM DISK COPIER UTILITY 2 REM

3 REM by George Chambers” - 4 REM May 1986

6 REM

7 REM

10 CLEAR VAL "27999": OUT VAL " 84" VAL "64"; RANDOMIZE USR VAL "63488": REM load "LDOS28.C5"

15 PRINT AT VAL "8",NOT PI;"Ins ert disk to be copied and",," press any key": PAUSE 0: CLS i 20 PRINT USR VAL "63488": REM d ire

25 CLS : POKE VAL "30700",NOT P

I na FOR n=VAL "61608" TO VAL "63 Qo" 40 IF PEEK n=VAL "255" AND PEEK (n+PI/PI) VAL "254" THEN GO S UB VAL "100" 45 IF PEEK n=VAL "250" THEN PR INT '"End of Disk Directory": ST

50 NEXT n

100 LET ag=" u

105 LET z=NOT PI

110 FOR y=PI/PI TO (VAL "9")

113 IF PEEK (n+PI/PI)=VAL "46" T HEN LET 2=PI/PI

115 IF PEEK (n+PI/PI)=VAL "32" A ND z=PI/PI THEN. LET ag(y)="""", LET y=VAL "9": GO TO VAL "130" 120 LET a$(y)=CHR$ PEEK (n+PI/PI ): PRINT INK PI/PI;CHR$ PEEK (n +PI/PI); INK NOT PI;

125 LET n=n+PI/PI

130 NEXT y

132 LET z=NOT PI: FOR q=(n+PI/PI ) TO (n+VAL "16"): IF PEEK q=VAL "249" THEN LET 2=PI/PI: LET q= (n+VAL "16")

133 NEXT q

135 IF z=NOT PI THEN PRINT " Th is program too long to copy": RE TURN

137 PRINT " Copy? (y/n)": PAUSE NOT PI: IF INKEY$="n" THEN RETU RN

140 RANDOMIZE USR VAL "28000": R EM copy a$

145 POKE VAL "23692",VAL "255" 150 PRINT “Insert original"'"Rea dy ?": PAUSE NOT PI: RETURN 9900 RANDOMIZE USR VAL "63488": R EM save “copy.Bi" 9910 CLS : LIST VAL "9920"; PAUSE NOT PI; DELETE VAL "9920",VAL " 9980": RUN °

PAGE 4

9920 REM

9930 REM Use this copier to copy programs using one drive.

9940

DISK COPIER

REM When a DOS prompt appears after Directory, enter the command "exit"

9950 REM Switch disks on prompt

9960 REM When a program is found that is larger than 14 blocks it will not be copied. You will be notified; the copier

will move to the next program.

9970 REM There will be a delay

as the copier searches for the end-of-directory marker.

9980 REM Press any key to start

OVERLOOKED LOGICALS

If you would like to speed up your BASIC programs

and increase the available storage, you might consider coding with logical expressions. These are often overlooked program statements that can

accomplish the above, and also clean up many GOTO's that often tend to clutter up a program listing.

A logical has two conditions; true or false, which are usually, but not always, represented by the values "0" and "1", respectively, as in Sinclair computers.

"An example of a logical assignment statement might be. 300 LET A = (Xp=10)

If the value of 'X' is equal to or exceeds 10 then the 'A' will have a value of '1'. For 'X' less than 10, the value of ‘A’ will be ‘O°.

A logical expression in brackets may de added to and/or multiplied by other values. For example, with the statement:

300 LET A = 100 * (x>#10)+15

Here ‘A’ takes on the value of 115 when the logical expression is true and 15 when it is false.

To illustrate some of the applications of this the following code was borrowed from “TIMEX/SINCLAIR 1000: ASTRONOMY", A Sinclair version of “CELESTIAL BASIC" by Eric Burgess, in which day-month calculations. are made:

350 IF Me2 THEN LET 0=31 360 IF M#3 THEN LET D0=59

e

450 IF M=12 THEN LET 0.334

- between 2 and 12.

Here, eleven statements must be individually interpreted and evaluated by the computer. . The more statements, the longer the program takes to arrive at the results. If the code is repetitively looped, the time is further magnified, Hence if several statements can be combined, fewer interpretations are required, decreasing the program execution time. To illustrate, the following single statement can replace the above code and will execute in about 303 of the time,

350 LET Aw31*(M=2)+59*(M=3)+,..#334"(M=12)

At this point in the program, M has an integer value of Since it can only have one of these values, the only one logical will be true. The appropriate value will will then be assigned to ‘D' since it is the only number multiplied by ‘31°.

Since the TIMEX/SINCLAIR allows computed GOTO’s a

logical can also replace many IF statements.

Instead of this: 100 IF A<10 THEN GOTO 50 110 IF A=10 THEN GOTO 500 120 IF A10 THEN GOTO 600

the following could be substituted:

100 GOTO 50 * (A€10) + 500 * (A=10) * 600 * (A>iO)

As was implied in the opening statement, this method of coding, as well as being more efficient in execution, also occupies less RAM, allowing you to

write longer, more complex programs in much less space.

Originally from the Nov/Dec issue of Computer Astronomy Network, published by Barry D. Malpas, Contact Barry at 20 Helen Street, Warren, NJ 07060 For subscription information. From the Hampton Roads T/S User Group newsletter

PAGE 5

TS2068 RESET AND INITIALIZATION PROBLEMS WITH SOLUTION

Are you tired of having to use the 2068's ON-OFF power switch to reset the computer? Read on, there is a solution.

Do you have a Larken disk system and also One common AC power switch to turn on your computer, disk drive, disk controller, monitor, and all - other peripherals? If you do, you've ne doubt experienced the inconvenience of having to shut your computer OFF and then ON again in order to inittalize properly. Read on, for there is a solution,

Do you have a 2068 with a wired-in Spectrum ROM and are having some problems with the computer not initializing positively on the Spectrum ROM without si z wee having to turn the computer's power OFF & ON a number CR IO MED. lev. Tantalum Capacitor (RS- 272-143. of times? There is a solution!

P.8.? Pusu Button, SPST ey Ope: The solution is very simple and would cost Jess CRS- 275 - 1S 47 oF equivalent than $6.00 in our lowly Canadian Dollars.

If you have one or all of the above problems--- FIG. t Scuematic - 2968 Reser Circuit instal? a RESET push-button (P.8,) and a small 10 mfd, Se A tantalum capacitor and your problems are resolved.

INSTALLATION

The 2068 has an existing circuitry that automatically resets the computer whenever the power switch is turned ON. Fig.l shows this circuit in a simplified schematic form. The solid lines along with resistor R43 and capacitor C21 are the existing reset circuitry. The dotted lines show the required addi- tional components—-~-the pushbutton (P.28.) to provide the means for manual RESET (whenever you wish) and capacitor CR to provide positive initialization on power up.

RienT

l

REAR Expansion Bus CARTRIDGE

FIG.2 shows the suggested placement of the RESET P.8., capacitor CR and wiring. To install these, you

will have to remove the top of computer (containing the keyboard).

Reser PEB.

Cr 1OMED,1eM

Tantalum

Drill a 1/4 inch hole on the rear lip of the portion of the computer and mount a mini PB. A preferred

location is near the monitor jack, but leave ® S J] sufficient space for convenient push-button finger a reset action. :

= | M \—-C 3 Use color-coded wire (black & red preferred) and

| solder one end of these wires to the protruding leads of the capacitor C21, Make certian that the red wire [co

is soldered to the +ve lead of C21. Twist the wires 2 B {

FRONT

y

and run the wires neatly to the P.B. Connect the wires @ to the P.B. leads but do not solder. Now connect the 2 d] 10 MFD. capacitor CR to the respective leads of the = i push-button, making certian that the +ve lead of the x capacitor CR is connected to the push-button lead 3 containing the red wire. If this is correct then £ solder the wires and capacitor CR to the push-button.

This completes the installation.

Have fun! r > L

IMFO, lev Note Pelavit Mar Kings

FIG.2 7 2668 COMPONENT LAYOUT, TOP VIEW

TV RF

Charlie Urban (416) 293 6789

Éd 4 <=

ia

bad

9 rm

LEET

PEEKS AND POKES FOR THE 731000 by Jim Oodrill RAND USR 836

To LOAD a program and automatically break into it. Go into FAST, then RAND USR 836, and start your tape.

USR 3086 This scrolls the screen and prints at the same time, 10 PRINT TAB USR 3086 “message”

RAND USR O Resets the computer.

POKE 16419,xX This will LIST lines 0 to 255, X being the line you list from to line 255,

POKE 16510,0

This will change the first line to 0. If you have machine code in a REM Statement in line 1, this will prevent it from being accidentally erased,

POKE 16418,0

Will allow you to PRINT aT the last two lines. POKE 16418,2

Use after a PRINT statement to

get back into normal mode,

Will only work in a Program line,

RAND USR 3675

Puts computer into FAST mode RAND USR 3883 Puts computer into SLOW mode,

RAND USR 3086 Scrolls up one line

RAND USR 2153 COPY's screen to printer,

RAND USR 2602 Clears screen,

From the Sinclair Louisville Users Group newsletter,

A 4-LINE PROGRAM TO SET RAMTOP (2X81)

by G. Chambers

5 INPUT N 10 RAND 1024*(32-N) (or RAND x) 20 POKE 16388, PEEK 16434 30 POKE 16388, PEEK 16435 40 NEW

Where N = the number of 1K by which RAMTOP is to be lowered,

As an alternative - Where X = the address at which RAMTOP is to be set.

from Your Computer March 1983

VERIFY

by Chris Taylor - _-

I just got the newsletter, it's great. There i ane thing that I noticed: you don't have VERIFY o program printouts, I made a printout verifier an Saved it on Side B of the “new member's tape". I als

enclose a listing, since the program is so short.

Now let me explain what the program does. Righ after you LLIST a program to put it in the newsletter you MERGE "VERIFY" and run it (GOTO 9993), Then COP

the results or change line 9999 to LPRINT instead o PRINT, and then RUN 9993. The result is a list of al

the line numbers and a code for each, (the code i just the codes of all the characters in the line adde up). You then supply the VERIFY codes (with the lin numbers) along with the program in the newsletter.

What happens now is, when someone, let's say me keys in a program and it doesn't work due to the fac that I mistyped some small thing, I MERGE "VERIFY" RUN 9993, and by comparing my codes with the codes i the newsletter, I find the difference quickly, an know what line is wrong.

My program works on the 2068 and Spectrum, and 1! sure that it could be adapted for the 7x81.

There is something that you have to watch wit "VERIFY", and that is if you use E-mode 0-9, or E-moc Caps 0-9, or TRUE/INV Video ,to make things stand ou (like REM statements). They don't appear on printout, yet make a difference to the code of tha line, If you are going to use "VERIFY" on a progra with the above it is better to totally rewrite th line as turning one of them ON and then OFF does no erase the ON marker.

You can test “VERIFY" on itself by changing th

last part of line 9995 from IF In 9992 THEN STC ta IF In 9999 THEN STOP. The proper coda fo "VERIFY" when the above change is made is below.

think the code for line 9999 is a neat coincidence. This article comes from one of our very new member in Hamilton. Thank you Chris, and welcome to our club the editor 9993 REM VERIFY by Chris Taylor 9994 LET a=PEEK 23635+256*PEEK 2 3636 9995 LET In=PEEK (at+1)+256*PEEK a: LET a=a+2: LET co=0: IF ln 9

992 THEN STOP ,

9996 LET a=ati: LET i=PEEK a: IF i=13 THEN GO TO 9999

9997 IF i1=14 THEN LET a=a+5: GO TO 9996

9998 LET co=co+1: GO TO 9996

9999 PRINT ln;"=";co: LET a=a+1; GO TO 9995

AGE 7

AUG 5 1986

Now that I have mu Spectrum Emutator fram Zebra Systems. Whscth, bY the way, Werks just Fine With the Larter DOS and With Cameron Hayne s Tamachine), ITLL pass along some Of my notes

Dn YSLiGus Epectrum eroegrims that I had tuched aay For Such añn GBttasionr. The First is a Shart utility that oOfravides the biGck DELETE FURCLIGnN that we take for grani- Ed on the TSEW6a. Ture it in and Check the DATA in tine S far I hawe included nae checksum; save ii ig tape and them MERGE it With af Spectrum program yau aft Werking am. Let if Sit there i= Sid When you metd ta vee LETE, Simpi G2 TG 3.

HETS if the program:

SPECTRUM

INFU “DELETE” "2 2

3 From,” ta iine ";io: IF Ff R i2 GR Fr ae THEN ot To 2 ZE am: PORKE 23296, PGSS?, PEEK 2367 POKE 23293, PEEK D PEEK 235671: R #2: 370P GR is@ TG 23: R SSGBRTI Falue: HN , #85 , 110,25,229 22,235,209 ,285,2

Thanks to Personat Software. Magazine Autumn isas, I have a gJcod GN ERA utility whith I ne or to You with same notes.

SPECTRUM

Loa the hex Codi which I show Bterting ot EDƏ. The code dis SEEMDiY iS SAcwr tea,

ti

a

m

da Syr ano

Rs]

(a

m~ zg a m At ug S$ i] bem Ti Č M ~ ha M fe

Uhen you By ERI it ooo. you Can Put acon e 36u izshé, Say ot

PAGE 8

You turn the ON ERR routine on by RANDOMIZE USA nnnn where nnnn the address Bou pReses 50 put & Line at the stari of your BRSIC program:

“RANDOKRIZE USR mmm”

Next, put in 3 Lin LET 23612-255 Finatty, make sure Ne with STOF if i the Programa

th

oes

I ASVE iAClivdéed 53 dEMS Libiingd Whe ch yeu can try Zi sets up an af fay Which cCeninci be £iGered uniaii the pragram ends st iine

248 STOP.

Other action can be appropriate BASIC S 2.9. IF PEEK 2236i8= File name! then SG

ie ee. ehh aps ee ea Line FoF Frie Ti sate

et fl ah am, FEL got

Bt

m

koin am Boh BY ba poe Eh

Ca fet et

t

You should bave MENILI! METE boui 7

21 gF ae gs sg 2A 30 St 73 ce BR BC 3C 28 ac @3 13 21 44 72 eS 32 47 Sc 2A SC 22 42 SC 22 32 7i 2 St. ES Se epee ieres HE E283 as HL EDO 228650 is Epa? ES DE EDea EASOSC HE ESABs 73 (Hi erec 22 HE EDaD 72 IHE, 2 ED@E cs ED@rF 3ASAsc

SPAR Ziso LE A z

ERIC CRYE Sir PE EGRiF Paes uh =, £b2C E921 BALPTSC ip 2, i50a7! Ebe4 GO INC RB

EL2S 77 Li tHLI GR E225 SA4Assc Li RL, (BC45: Epes Z242 Li iScac? HL Spat 2188es ip 2 , Babee EGer 7C LG 7

ZD30 327190 b iBCV7i) .R Ep33 SewBasc LS acen) AL ECOQ6 SABIT Lo HE . (SCR8: Eeas ES PUSH HL

ECOQA fAee5C Li HL. i5042? Seae caccis dF 132E

20 RANDOMIZE USR seeve 30 PUKE S60i8,; 255

ry to BREAN in” OO OLN r eee aa FOR i=i TO 388 73 LET 1 iii siv INT

QQ NEXT i = STNE H d 240 STOP R.H.Mitchei!

RENAME by Bob Mitchell

One of the utilities missing on the Larken DOS is a Rename feature that would allow the user to change the name assigned to any program. The thought first occurred to me when I wanted to change titles of

programs on the LOOS Master Disk which have a mixture of upper and lower case letters. Examples are Remdos,

Copy2D, and TapeCP. Once you get used to having the names all in lower case letters, it is much easier to type in the load instructions, So with that thought I proceeded to write a short BASIC program which I present below.

The on-screen prompts will lead you through the routine but here are a few notes by way of explanation,

First: Note that you must remove the write-protect sticker from any disk before you use this program.

The program loads the directory (track 0) into the buffer, asks for the name change information and changes the name in that track. The ‘from’ name is stored in array y$ and the actual names in the directory are stored in array x$ at line 45 one by one until x$ and y$ match. The ‘to’ name is then input as array z$ and action moves to line 100 where the contents of array z$ is poked into the buffer and then saved onto the track at line 110.

Line 150 advances the search through the addresses and locates the end of name marker 253.

The job is only half done, for although the name on the directory track has been changed, it is still necessary to change the names on all the affected tracks for that program. So the next stage is to determine the track numbers from the directory. This is accomplished starting at line 170. Variable 'k' is our datum point for peeking addresses on track 0 and has now advanced to the address just after the end of name marker. This will contain the first track number. This number, minus the 128, is stored at the first location in array ‘a’. Note variable t=1 from line 15, Variable 't' is incremented and the search goes on until peek (k+1)=249 or end of file marker. Action then proceeds to line 200. Now all the relevant tracks are stored in array 'a' dimensions are all zeros.

At line 200 't' (for track #) is reset at 1 and location 61441 (current track #) is poked with the contents of array a(1) which is the first track number for that program. Line 210 sets the disk head on track 1, loads the track into the buffer and enables the interrupts. Line 220 pokes the new name into correct locations and then line 255 starts up the disk drive and saves the buffer to the current track.

Line 230 runs through this routine until it meets

with a zero in array ‘a’, whereupon the program advances to line 510 to signal that the program has been renamed from ... tO ss."

and the remaining unused

Hare's the program: 1 REM RENAME 2 3 REM

Bob Mitehell

Remove Protect Tabs While using Rename.

4

5 CLS : PRINT "Rename a disk program Insert disk"

7 PRINT “ready?": PAUSE 0

10 DIM x$(9): DIM y$(9): DIM z $(9)s DIM a(79)

15 LET t=1

20 POKE 61000,251: POKE 61001, 201

25 LET ei=61000: LET settrack= 63968: LET loadtrack=61190

26 PRINT #1;"enter “"exit"" wh en directory"' "appears."

27 OUT 84,64: RANDOMIZE USR 63 488: REM dire ;

O INPUT "change name from "; LINE y% B

40 FOR i=61600 TO 63440

45 IF PEEK i=255 THEN LET k=i +1: FOR j=1 TO a LET x (j)=CHR $ PEEK (i+j): NEXT j: IF x$=y$ THEN "

NPUT "change name to "; LINE z$: GO TO 100

50 NEXT i

100 FOR i=1 TO 9: POKE k,CODE 2 $(i): LET k=k+1; NEXT i

110 OUT 84,72: PAUSE 40: RANDOM IZE USR 64915

150 IF PEEK k<?253 THEN LET k= k+l: GO TO 150

155 GO TO 170

160 IF PEEK (k+1)=249 OR t>79 T HEN GO TO 200

170 LET k=kt+l: IF PEEK k>128 AN D PEEK k<208 THEN LET a(t)=PEE K k: LET a(t)=a(t)-128

180 LET t=t+1: GO TO 160

200 LET t=1

205 POKE 61441,a(t)

210 RANDOMIZE USR settrack: RAN DOMIZE USR loadtrack: RANDOMIZE USR ei

220 FOR 1=1 TO 9: POKE 61505+1, CODE 2$(1): NEXT 1

225 OUT 84,72: PAUSE 40: RANDOM IZE USR 64915

230 LET t=t+1: IF a(t)@0 THEN GO TO 205

500

510 CLS : PRINT PAPER 2; INK 7 i"Program has been renamed ii "from "syd3" to "323

520 STOP

600 CLEAR 61000: OUT 84,64: RAN DOMIZE USR 63488: REM save “ren ame.B1"

603 CLS : GO TO 1

PAGE 9

Disk Droppings by Greg Lloyd

I have recently added a 80 column printer to my 2068 system. Radio Shack’s DMP 105 printer was my choice, With a Tasman Interface and it's software, I can print large and small whenever I wish.

The printer has expanded, elite, normal, and condensed modes. This gives 40, 80, 120, and 160 characters to the line. It can underline and when you turn on the bold printing, it's perty near almost close to decent quality. It's good enough for me, anyway.

The system, when set up, works well with any paper from 4 to 9.5 inches wide. I can use the tractor or friction feed and I can always get ribbons at my local Radio Shack store. [t's a basic machine, just an OFF-ON switch, an ONLINE-OFFLINE switch and a paper advance knob. It's kind of a big 2040 printer, only not thermal. The