SINC-

Vol . 7 No. 4

SINC-LINK IS A PUBLICATION OF THE TORONTO TIMEX-SINCLAIR USERS CLUB AND IS ISSUED 6 TIMES A YEAR. COPIES OF THE NEWSLETTER ARE $1.50 EACH FOR NON-MEMBERS. CLUB MEMBERS RECEIVE FREE COPIES AS PART OF THE $20.00 ANNUAL MEMBERSHIP FEE. A NEWSLETTER SUBSCRIPTION ONLY IS AVAILABLE FOR $12.00.

NEWSLETTERS ARE EXCHANGED, FREE OF CHARGE, WITH OTHER TIMEX-SINCLAIR USERS GROUPS.

PLEASE CREDIT THIS PUBLICATION AND THE AUTHOR IF YOU COPY MATERIAL.

ZX88/ZX31 TS1888/1588 i PC8388 i TS2868

SPK7BIH

T0B0ITO Tim-siiciAia

USEES CLUB

FABULOUS SUMMER ISSUE

MORE MATERIAL THAN YOU CAN POSSIBLY READ IN A SINGLE SITTING. REALLY! THERE'S SO MUCH INFORMATION BETWEEN THESE PAGES THAT IT CAN'T ALL BE INDEXED. SO I DIDN'T TRY.

LOT'S OF GOOD STUFF FOR QL, 2068 & ZX81. SO READ ON!

LINK

July- Aug '89

THE CLUB MEETS ON THE FIRST - WEDNESDAY OF EACH MONTH AT FOREST HILLS COLLEGIATE INSTITUTE, 710 EGLINTON AVE. W. , TORONTO.

SEND CCRRE3P0NDANCE TO;

Attention: SINC-LINK EDITOR TORONTO TIMEX-SINCLAIR USERS CLUB, 14 RICHOME COURT, SCARBOROUGH, ONTARIO, CANADA M1K 2Y1

EXECUTIVE OFFICERS:

PRESIDENT. TREASURER SECRETARY ACTIVITIES: TAPE LIBRARIAN ZX81: TAPE LIBRARIAN 2068: TAPE LIBRARIAN QL: PAPER LIBRARIAN: NEWSLETTER : LIAISON OFFICER: ( Out-of-town members )

JEFF TAYLOR ( 244-8583 ) BILL LAWSON ( 444-8772 ) GEORGE CHAMBERS ( 751-7559 ) RENE BRUNEAU ( 531-9749 )

RENATO ZANNESE ( 635-6536 )

HUGH HOWIE ( 634-4929 )

GREG ROBINS ( 920-7747 )

JEFF TAYLOR ( 244-8583 )

GEORGE CHAMBERS , 14 RICHOME COURT.

SCARBOROUGH, ONTARIO, M1K 2Y1

( 416-751-7559 )

TORONTO TIMEX-SINCLAIR USERS CLUB

14 RICHOME COURT, SCARBOROUGH, ONTARIO, CANADA M1K 2Y1

Editorial

Club Business

I was sitting here trying to think of something intelligent to write when I realized what a mess I had sticking out of the back of my trusty old 2068. 2 printer interfaces, a plotter i/f, a modem connector, a graphics tablet i/f and the disk i/f. It's going to get worse, too. I still have to stick on my RS-232 i/f, my Ramdisk board (when assembled) and my digitizer board (if it ever arrives). That'll be 9 items hanging off the back! Does anyone have a suggestion as to how I can hide or remote all this stuff?

We also have a whole mess of good reading material in this issue. Once again, we have another large issue for your reading enjoyment. The articles keep rolling in. Writers, keep up the good work. It's a pleasure being the editor when I don't have to pester people to produce .

Stan, don't stop writing!

I was dismayed to read that Stan Lemke of Lemke Software Development was getting out of the TS2068 software business. Stan is best known for his Pixel Print series of programs but he has contributed many other programs to various publications over the years. 2 that come to mind are his Bit Image Graphics program and his RLE encoder/decoder program, both of which I use in the assembly of our newsletters. Like many former vendors of Timex-Sinclair products, Stan has found that due to poor response to his ads he cannot justify staying in business .

I can only hope that he will continue to offer his smaller programs to publications like this one so that users can benefit from his expertise. Stan, thanks for your support over the years and thanks for making Pixel Print public domain. That was a nice gesture .

One of the problems of running a club during the summer is that holidays tend to get in the way. My latest attempt at arranging an Executive meeting failed for just that reason. The same goes for the QL users meeting at Hugh's place. The regular club meetings will continue even though I know that 2 or even 3 of the Executive will not be attending the July 5th get-together. My point is this; just because turnouts to the meetings drop a bit during the summer doesn't mean interest is waning. On the contrary, if article contributions are any indicator, then interest in the club has taken a fairly dramatic upturn in the past few months. Keep attending and keep sending in material .

Club Executive nominations will take place at the September meeting and elections will take place at the October meeting. Plan to attend or at least send in your nominations and votes.

Toronto BBS Has TS File Area!

As of Sunday, July 2/89, Ray Dyer's TIBM WIZARD BBS will now support a Timex-Sinclair file area. I cannot stress enough that this is an opportunity we can't let slip by.

I first contacted Ray about his TI-99/4A BBS because he was offering over 300 RLE files for downloading. Now he has provided space for us to upload and download in file area 21. Let's use it! Call Ray's 24 hour BBS at (416)-743-6703 and leave a message or a program on file.

J.T.

SINC-LINK

2068

BOB'S NOTEBOOK Dot Matrix Printer Copy of SCREEN* (all 24 lines)

Providing your TS2068 is equipped with the LKDOS version 3 EPROM, the program listed below will do the following:

1. make a copy of any SCREEN* on a dot-matrix printer in normal size, ie, about the same size as a T52040 copy;

2. copy all 24 lines;

3. store the machine code in the LKDOS RAM at address 16100, where it will park until the computer is switched off;

4. indent the left margin five spaces.

WARNING!

You MUST reset the printer each time before calling the routine, ie, you MUST switch the printer OFF and then UN. This clears the printer buffer; if you don't do this the first line of the graphics image will be corrupted.

The code can be activated at any time after it is first used, by pressing the NMI button an the disk drive interface board and then pressing the F key. In other words, after using this program the first time, you may dispense with its BASIC and load any other program and copy screen displays at will. (You will get a row of dots and dashes on the bottom row of pixels in the last line*, this is due to the way Larken handles the SCREEN* save via the NMI button.)

The code is set up for the Smith-Corona Fastest SO printer and you may have to substitute values to suit your own printer. I am including the Zeus source code (without line numbers) for those who need to do this. In this source code, esca=commands to set the line spacing so there will be no gaps; escm=five spaces for left margin indent; escr=line feed and carriage return? esck=commands to set the bit imaging graphics. If you change the length of any of these source code lines, you must alter the value to be then loaded into the B register, eg, if you want to indent the left margin eight spaces, you will add three more 32' s against escm and then you must change the value from 5 to 8;ie, LD E,8 after LD HL,escm. I have put a note against the crucial spots in the source code listing. The

LISTING

5 RESTORE 1000 10 FOR i=0 TO 1S4 STEP 2 15 READ a: READ b 20 RANDOMIZE USR 100: POKE <i+16100),a+256*b 30 NEXT i 40 CLS

50 INPUT "drive? 0-3 ";dr: RANDOMIZE USR 100: GO TO dr

60 INPUT "Insert correct disk and enter full screen name. "; LINE n$

65 PRINT AT 10,0; "When screen loaded, "restart printer and press" '"NMI button + F"

70 RANDOMIZE USR 100: LOAD n$SCREEN$ 100 RANDOMIZE USR 100: POKE 8214,16100

120 PAUSE 0: STOP

200 RANDOMIZE USR 100: SAVE "grafLK.En' LINE 5

1000 DATA 205,129,63,175,33,152,63,6

1001 DATA 2,205,135,63,205,61,63,33

1002 DATA 0,64,6,3,14,0,197,34

1003 DATA 30,63,17,32,63,6,8,126

1004 DATA 18,36,19,16,250,197,205,40

1005 DATA 63,193,42,30,63,35,13,32

1006 DATA 230,193,5,200,17,0,7,25

1007 DATA 24,218,0,0,0,0,0,0

1008 DATA 0,0,0,0,14,8,6,8

1009 DATA 33,32,63,175,203,6,23,35

1010 DATA 16,250,205,90,63,13,32,238

1011 DATA 201,205,118,63,175,50,128,63

1012 DATA 33,85,63,6,5,126,205,90

1013 DATA 63,35,16,249,J,75,50,128,63

1014 DATA 201, 27, 42, 5), 0,^,245, 219

1015 DATA 22B .

127, 254^23f\ 32, 250, 241 , 21 1 , 127

1016 DATA 58,128,63,61,50,123,63,192

1017 DATA 33,152,63,6,2,205,135,63

1018 DATA 24,199,175,33,147,63,6,5

1019 DATA 205,135,63,201,0,175,33,144

1020 DATA 63,6,3, 126,205,90,63,35

1021 DATA 16,249,175,201,27,65,8,32

1022 DATA 32,32,32,32, 13, 10,0,0

1023 DATA 0,0,0,0,0,0,0,0

r [ 3/

code assembles at address 55000 for loading and running at 16100 in the LKDOS RAM. o«w

0

h "

cont.

SINC-LINIC

2068

ZEUS Source Code Based on article by Syd Wyncoop written for CCATS MC SIG.

ORG 16100 DISP 33900 ENT

CALL narrow XOR A

LD HL,es cr LD B,2 CALL grloop2 CALL grafic LD HL, 16384 LD E,3

enter2 LD CO PUSH BC

third LD (store) , HL LD DE, buffer LD B,S

getlp LD A, (HL) LD (DE) , A INC H INC DE DJNZ getlp PUSH BC CALL proces POP BC

LD HL, (store) INC HL DEC C

JR NZ, third

POP EC DEC B RET Z

LD DE, 2048-256 ADD HL, DE JR enter 2 store DEFW 0000 buffer DEFS 8 proces LD C,8 pripl LD B,8 LD HL, buffer X.0R A

Prlp2 RLC (HL) RLA

INC HL DJNZ prlp2 CALL print DEC C

JR NZ, pripl RET

grafic CALL margin XOR A

254^7

(o ->2_

LD HL,esck

LD B,5 i CHANGE VALUE (see text)

grloop LD A, (HL)

CALL print

INC HL

DJNZ grloop

XOR A

LD (lncnt),A RET

esck DEFB 27,42,5,0,1 print PUSH AF prtlpl IN A, (127) CP 23> 5 lt L^ Vtt

JR NZ, prtlpl POP AF OUT (127), A LD A, (lncnt) DEC A

LD (lncnt), A RET NZ

LD HL,escr \ LD B,2

CALL grloop2 JR grafic margin XOR A LD HL,.escm I LD B,5 ; CHANGE VALUE (see text) CALL grloop2 RET

lncnt DEFB 00 narrow XOR A I LD HL,esca

I LD B,3 ; CHANGE VALUE (see text) grloop2 LD A, (HL) CALL print INC HL

DJNZ grloop2

XOR A

PET

esca DEFB 27,65,8

escm DEFB 32,32,32,32,32

escr DEFB 13,10

R. H. MITCHELL 20 WILD BRIARWAY WILLOWDALE, ONT. M2J 2L2

8906 1 0

4

SINC-LINK

2068

SAVING MAGAZINES e 1 Richardson

Magazines accumulate relentlessly and we soon have no idea what's in them or even why they sit there in a pile daring us to toss them. There may be a favorite that is easily stored away each month but many have only a page or an article that makes it difficult to discard. I have found a way to deal with these.

Folded plastic sleeves called "REPORT COVERS" that have a separate spine that presses on hold the pages I want to keep. They come in several colours and the larger spine will accommodate 25 - 30 pages. Take magazines that can be cut up and a sharp knife. Carefully cut out the pages you want and fit them into a plastic cover.

I have also cut off an appropriate magazine cover to use as the first page. A sticky label on the outside identifies them as I wish. A number of these "Custom Mags" can be kept in a cardboard storage box for •• magazines available at stationery stores. I also have some marked with stick-on elastic tabs like those on l>ln>der dividers.

This has reduced the sheer bulk of material many times and made it all very available. One could even catalogue the stuff with PROFILE or the like.

FOR SALE! FOR SALE! FOR SALE!

LARKEN INDEX. Bl A Printer Fix by G. Chambers

On the Club Larken Disk #2 (OMNIBUS) there is a program called "indexO.Cm". It is a TIME MACHINEnCompiled version of a Basic program. 6 Two places in the program have a call for a printer. The program checks to see if the printer is ON. If the printer is not in place or is not turned on the program flashes a reminder to turn the printer on.

This is a neat feature, however it does cause problems. It presumes the printer will return values of 58 (small printer ON) and 237 (large printer on). My printer does not return these values. Instead the responses from my printer are 56 and 108.

The solution is to POKE new values into eight addresses 6n the "indexO.Cm" code. The t, POKEs in my case weret

POKE 32325.56 (old 58) small printer 5 B POKE 32357.108 (old 237) large printer ^7.o> POKE 32425,56 POKE 32457,108

POKE 34344,56 et cetera

POKE 34376,108 POKE 3WO,56 POKE 34462,108

To find out the correct code numbers for your setup run the following lines 1 10 LET n * IN 251

20 PRINT AT 10,10j" " > AT 10,10jn 30 GOTO 10

Experiment by turning the TS2040 printer on and off. Then change the program 1 LET n = 127 and do the same thing for the large printer. The code numbers will appear on the centre of the scrssn.

Verify the addresses have the old numbers shown above (you might have different vintage copy) 1 then POKE in the numbers appropriate for your printer, and renSAVE the program. This will need to be done with each copy of the program you happen to have.

1 3 TS2068 Computer 1 r, Fastext 80 Printer

w/Tractor feed 1 n Printer Interface (Tasman) Various books and programs All for $150

1 n TS1000 in Gladsone keyboard

w/l6K RAMpack

1 n TS2040 Printer 1 JT1115 Compudeck Recorder 1 n Memopack RS232 Serial interface 1 n Byteback modem 1 n Hunter board (needs work)

Various chips, books, and software All TS1000 for $75

Contact Art Johnson, Winstanly Cresc. Toronto, Ont. M1B 1N3

Tel {416) 282 8430 *♦♦♦***♦****♦

♦••INSOMNIAC ELECTRONICS UPDATE***

"Gert and I have been able to contact Jim Home and are helping Jim straighten things out. Jim was not keeping very good records for a while and has lost track of some of the orders sent him. If anyone has sent an order to Jim but has not heard back they should contact myself at the address on the back cover and describe their order and the manner of remittance made. Gert and I will try to have their money refunded or order filled. We'll try to help but we can't take any responsibility for any lack of performance by Jim."

The above note was printed in the Vancouver Sinclair Users Group newsletter, the ZXnAPPEAL. The author of the note appears to be 1

ROD HUMPHREYS 2006 Highview Place Port Moody, B.C. V3H 1N5 CANADA

Anyone who has experienced difficulty with an order to Insomniac Electronics take note.

SIMC-LIMK * *"

2068

THE LATEST FROM S.N.U.G.

The national meeting was held at 7pm on Saturday May 6th 1989. About 35 SNUG members attended. Mel Nathanson was sick and unable to attend so the very able Frank Davis served as the spokesperson for SNUG.

The following is a synopsis of what went on.

Election Results Sixtynseven ballots were mailed with fortynthree returned by the deadline. The vote count was as follows t

President n Mel Nathanson First VP Paul Holmgren Second VP n Basil Wentworth Secretary n Audeey Curnutt Treasurer n John Cushran

Congratulations to all those who were elected and many thanks to those who ran but weren't elected. Better luck next time. Thank you for your dedication to making SNUG and the whole Sinclair community a viable entity. If you are unaware of who was running here are all the candidates, with the names of all who withdrew removed.

President n Joan Kelly, Gary Lessenberry, and Mel Nathanson.

First VP -, Alex Burr, David Hartman, Ted Hechman, Paul Holmgren, and Donald Lambert.

Second VP Frank Davis, Ruth Fegly, Laurie Futrell, Frank Orosz, and Basil Wentworth.

Secretary -, Mike Bowers, Audrey Curnutt, Andrew Hradesky, Gary Lessenberry, and William Wood.

Treasurer n Chris Crawford, John Cushran, and Ken Frankel.

Thanks again from SNUG.

After the election results were announced we discussed 1 What is SNUG? What seemed to be the driving idea was that SNUG must be an information clearing house and be able to disseminate Sinclair information to all members of the Sinclair community. SNUG should help with getting our annual fest in shape, spreading the Sinclair news (i.e., new programs, books, and hardware), and offering help to any group or individual needing it.

Finally Paul Holmgren is keeping a cross reference of all newsletters in the Sinclair community. If you are interested in it contact Paul via the Indiana User Group, ISUG, 513 E. Main St., Peru IN 46970.

If you want to contact anyone in SNUG their address is SNUG, 7515 Arbordale Dr., Port Richy, FL 34668.

Retyped from the May 1989 issue of SMUG Bytes, the Sinclair Milwaukee User Group newsletter.

RAMDISK to DISK BACKUP A Larken 2068 utility

Larry Kenny has sent me a listing which will be of interest to RAMdisk owners. Usually we sort of store programs permanently on the RAMdisk and never think of other possibilities. With a program which makes it easy to save it's contents, the RAMdisk can readily be used for other things.

One thing I can envision is it's use with the Larken Sequential filing program. One could store a complete file of 22 tracks onto the RAMdisk (temporarily), in order to carry out rapid searches, etc. on the Sequential file program, without the delay of loading another track from a disk drive.

Anyway, here's Larry's listing.

~1O0\ G* Chambers

"I oWd REM RAMDISK to DISK BACKUP by L

ARKEN ELECTRONICS

20 BORDER ?t INK Oi PAPER 7i CLS 1 PRINT AT 5.5; "LARKEN RAMDISK BACKUP" t AT 8, 3 J "SAVE RAMDI SK to DISK (S)"»AT 10,3j"L0AD RAMDISK from DISK ( L ) " j AT 13, 8 1 "Press S or L"

30 PLOT 0,50t DRAW O.lOOi DRAW 255. Oi DRAW 0 ,n100i DRAW r,255.0

35 PLOT 2,52i DRAW 0,96t DRAW 251,0i DRAW 0, -96t DRAW n251.0i

40 LET a$=INKEY$i IF a$="L" OR a$="l" THEN GO TO 100 ,

50 IF a$="S" OR a$="s" THEN GO TOU20J3>

60 GO TO 40)

80 BEEP .l,20i INPUT "NUMBER Of Ramchips ? " tnci IF nc>8 THEN GO TO® 90 RETURN

100 PRINT AT 10, 3j FLASH 1 \ "LOAD" 1 GO SUBv&S;

105 PRINT #0s"Move Ramdisk switch to UP, ok?" t PAUSE Oi INPUT ;

110 RESTORE 500 1 FOR a=l TO nc

115 READ xi OUT 7t(x+64)i OUT 244,240

120 LET n$="Rr7Bank.C"+STR$ ai PRINT AT 18, 3»" LOADING FLASH l;n$f RANDOMIZE USR lOOt LOAD

n$C0DE 32768,32768

140 NEXT a

150 RANDOMIZE USR lOOi GO TO 4i RANDOMIZE USR 1 00 1 CAT ""^ 170 GO TO 300

200 PRINT AT 8, 3 j FLASH 1 ; "SAVE" 1 GO SUB M> 210 PRINT #0;" Press any key when ready": PAU

SE Oi INPUT 1

220 RESTORE 500)i FOR a=l TO nc 230 READ xi OUT 7, xt OUT 244,240 250 LET n$="R-,Bank.C"+STR$ ai PRINT AT 1!

SAVING "j FLASH l;n$ 260 RANDOMIZE USR lOOi SAVE n$C0DE 32768,3276

8

280 NEXT a

300 OUT 244,0 1 PRINT #0»TAB 61 FLASH lj L DONE

310 BEEP .4,10i BEEP .4,1 1 IF INKEY$="" GO TO 310 320 STOP

400 RANDOMIZE USR lOOi SAVE "RBAKUP.B1" LINE 500 DATA 7.3.5.1.6,2,4,0

3;"

'>> AL

THEN

G.F.C.

»♦**»**•#*»***#*»*#

SINC-LINK

QL

QLIPS

It has happened to me so often, as I am sure it has happened to you. You are working away and your concentration is all to the task in hand, you make an error and for some reason you have a mental block.

No matter what-ever it is, you decide that 'LIST* is what you should enter, instead you enter 'RON'. Now this may not be too bad in many cases, but say you are making a Back-up of a cartridge or disc, this can be fatal, as the first thing your computer wants to do, is format something, and if you should happen to have the cartridge or disc in the wrong device, bang goes a whole stack of work.

Another thing that can happen is that instead of entering 'List' or 'CLS' or 'NEW, your hand drifts to the right of your key- board, and as soon as it gets there, your finger is so close to the 'RESET; button, your fingers curl round the edge of your key- board, and a little pressure and away goes something else.

One of my various hobbies is working with WOOD. Now, when you work with wood, it is the same as cutting hair. The old saying goes that they are not cutting hair any longer now-a-days. NO SIR. The 're cutting it SHORTER. Same as wood, you can not cut it longer, and it is rather difficult to join two pieces of wood together so that the join is concealed, so there is an old saying in carpentry to cover this. 'Measure twice cut once'. A very good motto for ail computerists to follow.

Keep typing. When there is the least element of doubt, take a second look at what you would like, but before you act, take your hands away from that key- board, and take a second look at what you THINK you would like, or what you SHOULD do.

Nine times out of ten, this little action of taking your hands away from the board, will prevent you from making a costly error.

THINK TWICE ACT ONCE

Come to think of it, if I followed my own advice, I would think twice and speak once, might save a lot of hassle at times !

H.H.H.

FOR THE "QLERS' USING

lie REHark Creating a file ABACLAV.EXE

110 REHark for QL.DOC 18 by Real 5agnon Mtl Que. 89

128 REHark This prograa is public daw in (Translated by Louis Laferriere)

138 :

148 CLStprog^'ABACLAV.exe'

158 INPUT 'Where to save 'ftprog**' (e.g. flpl_)?'?save$ 168 IF LEN(save$>=8:savet='flpl_' 178 PRINT 'One ftonent s.v.p.' 188 :

198 RESTORE 348 :a=RESPR( 1888) :basr=a

288 count=8

218 REPeat 1

228 IF EOFrEXIT 1

238 AT 3,0:PRINT"> 1

248 READ xJPOKE a,xU*a+l

258 AT 3,0:PRINT ' <'?

268 count=count+l

278 END REPeat 1

288 :

298 PRINT 'One keypress to save 'asavettprogWCicount*' bytes)" 388 PAUSE

318 SEXEC savei*prog*,basr, count, 128 328 PRINT 'OK!' 338 :

348 DATA 96,14,8,8,8,8,74,251,8,6 358 DATA 65,66,65,67,76,65,112,11,114,255 368 DATA 116,1,78,65,145,288,67,258,8,158 378 DATA 54,128,8,288,78,147,112,8,78,65 388 DATA 54,48,8,138,12,67,8,281,183,8 398 DATA 8,74,12,67,8,217,183,8,8,34 488 DATA 12,67,8,193,183,8,8,42,12,67 418 DATA 8,289,182,8,8,94,97,8,0,68 428 DATA 18,68,8,288,97,9,8,78,96,8 438 DATA 8,46,97,8,8,52,18,68,8,216 448 DATA 97,0,8,54,96,0,8,38,97,8 458 DATA 8,3648,60,8,192,97,0,8,38 468 DATA 96,0,0,14,97,0,0,28,18,68 470 DATA 8,208,97,0,0,22,49,124,0,8 488 DATA 8,138,96,8,255,152,18,68,8,10 498 DATA 97,0,0,4,78,117,36,184,8,76 508 DATA 54,128,8,224,78,147,78,117,47,8 510 DATA 112,8,114,255,118,5,147,281,78,65 528 DATA 32,95,96,0,255,112,0,42,67,188 530 DATA 97,118,105,101,114,32,65,66,65,67 540 DATA 85,83,32,131,99,114,185,116,32,112 558 DATA 97,114,32,82,131,97,188,32,71,97 560 DATA 103,110,111,110,32,81,99,56,57,18 570 DATA 8,0

SPREADSHEET

When using the Psion Spreadsheet , after each entry , you have to ENTER and then use the arrow cursor keys to go to the next entry. Real Gagnon in the issue 18 of QL.DOC , Feb and Mar 1989 , has placed in the public domain a prograw to reduce the necessary keypresses to ALT and the arrow cursor . I have translated the program , listed below , and I have used it to enter sote data into the SPREADSHEET . After entering the prograe , you have to run it and indicate where you desire to save the end result . e.g. the "ABACLAV.exe" in ay case , I used FLP1_ , but you may choose to save it to MDVl. , or whatever . Then the boot progran nust be amended to load this option . I entered line" 8 EXEC flpl_ABACLAV.EXE " AFTER eoving line 9 to IB , and line 8 to 9 . The purpose of course is to Rake roo* for the new line 8 .

The listing is shown Mas , it is also available on a cartridge fro* Hugh Howie .

Louis Laferriere

SINC-LINK

2068

Lcopy is a public domain program that will enable to make copies using LKDOS . This program first appeared in a issue of Zx Monthly and was slightly modified to be used with LKDOS.

The program is all in basic, a 93 byte section of machine code is poked into the memory starting at location 60245. This program is very fast and prints out great pictures.

The program has been set up to use 2 disk drives. You can delete line 12 and then edit line 6, if you have only one disk drive.

With this program you can select double strike, seven different widths and four different heights. To save this program enter GOTO 9000.

See sample printout, (photo-reduced)

1

bump 2 3 4 5

6 CLS : into DRIVE 8 PRINT 10 PAUSE

REM Larken Screen

REM a program by T. Andrews REM modified for LKDOS by REM Renato Zannese 06/89 REM

PRINT "Insert Graphic Disk

1"

'"Press a Key to Start" 0

12 RANDOMIZE USR 100: GO TO 1 15 RANDOMIZE USR 100: CAT 18 INPUT "FILENAME ( + EXT) :"; AS 20 IF LEN AS>9 THEN GO TO 15 25 IF AS="" THEN STOP 35 RANDOMIZE USR 100: LOAD ASSCREENS 40 RANDOMIZE USR 100: POKE 16093,32: RE M turn off tokens

50 LET i$=CHRS 27+"J"+CHR$ 20: REM line feed = 20/216"

INPUT "Double Strike? (Y/N)";S$

60

')

90 100

STEP -8/h

REM linefeed plus

70 LET st = l+ (s$ = "Y") + (SS = "yf 80 INPUT "Width (1 to 7)";w INPUT "Height (1,2,4,8)": POKE 23259, h 110 POKE 23258, w 120 FOR f=175 TO 0 130 LPRINT i$+CHRS 13 carriage return 140 FOR t=l TO st 150 LPRINT CHR$ 13 160 POKE 23261, f

170 LPRINT CHRS 27+"Z"+CHR$ 0+CHRS w;: R EM quad density 180 RANDOMIZE USR 60245 190 NEXT t 200 NEXT f 210 STOP

9000 RANDOMIZE USR 100: SAVE " Lcopy. Bl" L

INE 9100

9005 STOP

9100 RESTORE 9900

9105 CLEAR 60000

9110 FOR n=60245 TO 60336

9115 READ a: POKE n,a

9120 NEXT n

9900 DATA 3 3,220,90,54,0,33,222,90 9905 DATA 54,0,62,1,33,219,90,70 9910 DATA 14,16,203,9,184,40,4,203 9915 DATA 8,24,247,65,197,33,221,90 9920 DATA 126,144,71,33,220,90,78,205 9925 DATA 170,34,71,4,126,7,16,253 9930 DATA 230,1,33,219,90,70,33.222 9935 DATA 90,245,134.119,203,14,241.16 9940 DATA 248,193.16,216,62.3,205,1 9945 DATA 22,33.218,90,70,197,58.222 9950 DATA 90,215,193,16,248,33,220,90 9955 DATA 52,32,170,201 9960 RUN

Kinr

1 can start work Monday if I don'twin the lottery.

SINC-LINK

THE AMAZING DIGIgDUBBER by Fred Nachbaur

I'm sure that the VSUG finds itself in W bit of a predicament. I loaned my entire collection of ZX81 programs, pictures and other files. How would one librarian make copies of well over 500 files without growing old before the project is completed?

In these days after the goldrush, we could all benefit from a quick and painless way of making copies of library tapes,, There are several options t

1) Use an attenuator cable (available from Radio Shack) to copy from one deck to another.,

2) Use a home stereo or "boombox" double cassette deck to make an audio dub^

3) Load each program into the computer, then save it back to another tape.

Option #3 is by far the most reliable. The reason is that audio dubs don't really do justice to digital signals. If you scope the output of a typical cassette deck, you'll find that the amplitude of the pulse train is by no means constant. Ths "sagging" effect becomes more pronounced when making an audio copy. Furthermore, dropouts tend to be aggravated, often to the point where the copy simply doesn't work.

What we need is an "attenuator cable" that emulates the behavior of the computer in saving/loading tape signals. DIGIgDUBBER does exactly that. The signal on copy made using DIGIgDUBBER is indistinguishable from a signal generated by the ZX81 directly.,

Figure 1 shows the schematic diagram of DIGIgDUBBER. Here's how it works.

Resistor Rl limits the current into the input transformer Tl, and makes the input to the DIGIgDUBBER look mostly resistive (omitting it caused bizarre spurious responses, presumably ..(faulty n/l copy here)

Transformer Tl does several things e Most importantly, it isolates the two cassette decks, avoiding any possibility of 'ground loop' problems. It also boosts the signal voltage, helping to ensure that we can process the analogue signal into a good approximation of a (digital) square wave. Further, it's limited frequency response is used to advantage, to help prevent both low3frequency and highgfrequency noise from reaching the recording deck.

The signal from the Tl is then halfgwave rectified using diode Dl and resistor R2 (or D2 and R3). The use of a rectifier on both halves of Tl's secondary keeps the current (and therefore the current reflected back into the primary) symmetrical, reducing distortion due to nona linearity. Switch SI selects the 'input phase ' 1 in other words, whether we are selecting the positive or negative excursions of the signal.

The reason for this switch is that most decks will falsely give an extra pulse in each pulse3train in one phase (usually but not always the negative phase). This corruption

leads to later difficulty in loading. I'll describe later how you determine the proper setting for your decks,,

The rectified signal is then clipped by the resistor RU and diode D3. Across D3 we now have a constant gamplitude square wave (or reasonable facsimile thereof),,

Finally, capacitors CI and C2 and resistors R5 and R6 provide a twogpole filter that matches the transfer characteristics of the similar network in the ZX81's SAVE circuitry. Going to the dubbing deck we thereby have a signal that f looks.' as if it were being sent by a stock ZX8U

Note that the DIGIgDUBBER is completely passive 1 it does not need a source of DC power, as did my earlier 'load conditioner' designs,

BUILDING DIGIgDUBBER

Construction is straight gforward, I built mine on a piece of perf board. Transformer Tl is readily available from Radio Shack and elsewhere. It is a 500 ohm ( centregtapped ) to 8 ohm "transistor audio output transformer", used in reverse. I used a subgmini version rated at 0.1 watt, but just about any size should work fine.

The diodes are the ubiquitous 1N91W1N4148 glass silicon types. Radio Shack sells them at 50 for $3 (this is even better than the prices at most wholesale jobbers). The resistors and capacitors are similarly 'garden variety'.

Switch SI can be virtually any kind of SPDT switch. I used a pushgbutton switch salvaged from a 'dead body*, in the junk room of the stereo shop where I work.

Note that the "MONITOR" cable is simply an extension of the input cable. This is so that you can simultaneously load the program, or use a "header reader" program like PNR to make a listing using DIGIgDUBBER.

DIGIgDUBBER is intended for copying tapes. It is not meant as a load conditioner, or a panacea for lousy tapes. However, if the original tape loads normally into a stock ZX81 computer, DIGIgDUBBER will insure that the copy will also.

Connect the INPUT plug to the EAR jack of the source recorder. Connect the OUTPUT plug to the MIC jack of the deck being used to record the copy. Optionally, connect the monitor jack to a stock 2K TS1000 (running PNR) to get a listing of program names and SAVE/LOAD times.

Set the playback deck's volume to about the same level as you normally use to load tapes. When using DIGIgDUBBER, it is better to err on the direction of less signal. I found settings of between 5 and 7 (on a JIL JT1115) to be ideal. Too much clipping (i.e. high volume settings) may compromise the integrity of the copy by generating spurious pulses.

Start the playback deck with the source tape, and the recoding deck with an object tape of the same or greater length, and away you go.

The first time you use DIGIgDUBBER, you will have to determine which of the two switch

cont.

SINC-LINK

ZX81

positions axe appropriate for your setup* The best way to do this is with an oscilloscope. First make an original tape from a stock ZX81. SAVE a large blank array i e.,g* DIM A$( 12000), then SAVE "array". This will give a large section of tape with only O's on it, making it easier to see on the 'scope..,

Connect the '• scope's input across diode D3* Play back the portion of the tape with the steadygsounding array data, and adjust the •scope's vertical gain and horizontal frequency for a steady image.

mAirh with tha switch in both

positions. On most decks you'll find that in one position you will get four pulses in each pulse train, with a level that's largely independant of the input level* This is the correct setting. In the other position you'll count five pulses per train, or you will count four pulses over only a narrow volume range..

If you don At have a 'scope, set up the system as described above and connect an earphone to the EAR jack of the recording deck. Put the recording deck into the RECORD mode, and play a tape on the playback deck. Flip the switch while listening to the signal. In one position the signal will seem louder and may appear to have a 'lower' pitch i this is the wrong position. In the other position, the signal will seem clearer but a little quieten this is the proper position. Make a note of this position.

Setting the optimum playback level can also be done using the earphonenmonitor approach (or by turning the monitor switch ON on a deck a deck that allows monitoring through the speaker)* As you increase the volume from zero, there will be a relatively large range (typically from about 4 to 7) over which the signal sounds essentially the same. Beyond this, it will sound noticeably "harsher", due to clipping. Again, you could use a scope for a more scientific approach* Just below the point where this clipping starts is the ideal setting* Your recordings at this setting will be undistorted, and relatively immune to dropouts .,

One final notei When making copies of library tapes, or any tape for that matter, be careful with head azimuth alignmemt. Align the recording deck to a standard test tape, or failing that, to a GOOD QUALITY prerecorded tape. The noisier the better i heavy metal is great for setting azimuth because of all the highofrequency noise.

Adjust the playback deck's head to the tape being copied. It is therefore good practice to always use the same decks for play and record i the recode deck's azimuth alignment will be "known good", and the playback deck's setting will "slop" as required to match the source

tape , . .

Taken from the ZXAPPEAL newsletter

Retyped by G.t.o.

DIGInDUBBER

by Fred Nachbaur March 1989

Retraced by G.F.C

OUTPUT

P2.

PARTS LIST CI - 270 pf. disc C2 - .047 uf. disc D1.D3 r, 1N4148 or 1N9140 Rl 47 ohms, 1/4 watt R2,R3,R6 - 1000 ohms, 1/4 watt R4 -7 10K ohm, 1/4 watt R5 - 180K ohm, 1/4 watt SI tj SPDT slide or toggle Tl - 500 ohm CT to 8 Ohm audio

output transformer 3 minis jacks or plugs with cable Perfnboard

Use DIGI^DUBBER to make high quality duplicates of ZX81/TS1000/TS1500 tapes. Wire it up on a small piece of perf^ board or other support. MONITOR jack optional.

10

SINC-LINK

QL

at. cures Bill Lawson

REGULAR CRASHES

1. TRY THE QL ON IT'S OWN. THAT IS WITH NOTHING, AND I DO MEAN NOTHING, PLUGGED IN. IF IT CRASHES, THEN PUSH ALL THE PLUG-IN CHIPS DOWN IN THEIR SOCKETS. IF YOU CAN MANAGE IT, EASE EACH ONE UP AND RESEAT.

2. FIT A NEW 7803 REGULATOR, PREFERABLY THE 78SOS OR THE LM340T WITH HEATSINK COMPOUND.

3. MOVE THE 8L AWAY FROM THE TV/NONITOR ON BAKING FOIL WITH IT UP THE SIDES. DON'T PUT IT ACROSS THE SCREEN!

CRASHES WITH ADD-ONS

1. ADD-ON MEMORYBOARDS HAVE THE CHIPS IN SOCKETS SO ANY POOR CONTACT FROM POOR SOCKETS MEANS A LOCKED UP 200 PAGE THESIS IN QUILL. PUSH ALL THE CHIPS DOWN IN THEIR SOCKETS TO CURE IT. THIS APPLIES EQUALLY TO BRAND NEW VIRGINAL BOARDS. DO IT BEFORE YOU HAVE A CRASH, NOT AFTERWARDS.

2. LOOK AT THE VOLTAGE REGULATOR AND HOW IT IS COOLED. ON SOME BOARDS THE REGULATOR IS NOT IN GOOD CONTACT WITH THE HEATSINK OR CASING AND HAS NO THERMAL COMPOUND EASE THE REGULATOR UP, INSERT THE NASTY GUNGE AND SCREW DOWN. THE REGULATOR IS DESIGNED TO SHUT DOWN IF THE INTERNAL CHIP TEMPERATURE EXCEEDS A CERTAIN VALUE. THIS IS ONE ASPECT IT DOES VERY WELL WHEN IT ALSO SHUTS DOWN YOUR SOFTWARE. FRAYED TEMPERS ALL ROUND.

3. EARLY VERSIONS OF EPROMS WERE NOT WIHOUT THEIR LESS APPEALING ATTRIBUTES AND PERHAPS TONY TEBBY MAY AT SOME TIME STEP US THROUGH THEM. I KNOW MIRACLE DOES A 'MANUAL' FOR THE TRUMP CARD BUT WHERE DO I BUY THE STRONG GLASSES TO READ IT.

4. IF YOU HAVE AN EXPANSION PLUGGED IN WITH ANOTHER EXPANSION PLUGGED IN TO THAT THEN ARRANGE IT SO THAT THE DANGLEY BITS ARE SUPPORTED. THE CONNECTORS ARE JUST CONNECTORS, NOT SUPPORTS FOR PART OF THE FORTH BRIDGE.

5. LOOK AT YOUR EXPANSION CARD TO SEE IF IT HAS A PAL CHIP ON IT. IT IS PROBABLE THAT THIS PAL CHIP IS NOT WHOLLY COMPATIBLE WITH THE PARTICULAR 8301 IN YOUR QL. THERE ARE AT LEAST FOUR 8301'S, ALL HAVING DIFFERENT CHARACTERISTICS. THERE IS ONLY ONE 2X8301 AROUND NOW, SO IF YOUR PAL IS NOT PALLY WITH THE LATEST 8301, HARD CHEESE.

6. TAKE ALL THE GUTS OUT OF THE QL CASING AND SPRAY THE INSIDE WITH NICKEL SCREENING SPRAY, TOP AND BOTTOM. DO THE SAME ON THE POWER SUPPLY CASE AND ON ADD-ON CASES. WHEN DRY, COAT WITH LACQUER BEFORE RE-ASSEMBLY. IT STOPS THE RANDOM ZAP FROM STAR WARS EXPERIMENTS.

7. USE A POWER SUPPLY THAT FEEDS A SMOOTH LOW VOLTAGE TO THE QL WHICH KEEPS THE WHOLE THING COOL. IT CURES 99% OF ALL KNOWN ILLS.

QL DON'T WORK

SYMPTOM. PLUG THE POWER SUPPLY IN THE QL AND NOTHING.

SINC-LINK

QL

1. CHECK YOU HAVE THE POWER AT THE SOCKET, THE POWER SUPPLY IS PLUGGED IN TO THE MAINS AND IT IS PLUGGED IN TO THE QL. IS THE POWER ON LED LIT? IS THE POWER SUPPLY HUMMING OR BUZZING? IF NO THEN CHECK THE MAINS PLUG CONNECTIONS. THE THREE PIN-MAINS PLUGS WERE VERY WELL DESIGNED TO ENSURE IT UNSCREWED ITSELF WHILST NO ONE WAS NEAR IT. GET THE SCREWY OUT AND SCREW IT UP. BETTER STILL SOLDER IT UP AND BE SURE.

2. MAINS TO THE POWER SUPPLY BUT NO BUZZ. UNPLUG, I REPEAT UNPLUG AND OPEN THE CASE. IT WILL SMELL OF OVERHEATED NEARLY CHARRED THROUGH ELECTRICS BECAUSE IT GETS DAMNED HOT. IF YOU LOOK CAREFULLY YOU WILL FIND TWO THERMAL FUSES. MAPLIN STOCK THESE BUT YOU CANNOT SOLDER THEM IN BEECAUSE THE HEAT FROM THE SOLDERING IRON BLOWS THEM. YES YOU CAN IF YOU ARE CAREFUL. CLAMP ON A BIG HEATSINK AND SOLDER ON THE OUTSIDE. IN PRACTICAL TERMS , POP A PAIR OF PLIERS IN THE DEEP FREEZE OVERNIGHT TO BE USED AS A HEAT SHUNT, SPRAY THE FUSE WITH FREEZER SPRAY AND BE GUICK AT SOLDERING. ONE THERNAL FUSE IS IN THE SO CALLED 9 VOLT LINE WHILST THE OTHER IS IN THE AC LINE. NOW YOU KNOW WHY IT IS FAIRLY SAFE TO LEAVE THE QL ON FOR WEEKS AT A TIME. IF IT GETS TOO HOT THE REGULATOR SHUTS DOWN AND THE TWO THERMAL FUSES BLOW.

3. WITH THE POWER SUPPLY BUZZING, CHECK THE LEAD TO THE 8L BY WRIGGLING IT. BETTER STILL PUT A VOLTMETER BETWEEN THE CENTER PIN AND THE OUTSIDE. OK SO YOU HAVEN'T GOT A VOLTNETER. STICK A SMALL 6 VOLT BULB ACROSS AND SEE IF IT LIGHTS UP. IT DOES, GO TO THE NEXT STAGE.

4. LIFT THE TOP OF THE QL, LIFT OUT THE" MEMBRANE TAILS AND MAKE SURE THE SIX LED TAILS ARE IN PLACE. LOOK AT THE 7803 REGULATOR BEHIND THE MICRODRIVES, REMOVE THE SCREW, TOSS THE 7803 IN THE BIN, FIT A NEW ONE WITH THE GUNGE AND POWER UP. BINGO, THE YELLOW LED IS ON BUT THE SCREEN IS BLACK OR WHITE BUT CERTAINLY NOT 'TWEED*. OH, IT IS "TWEED" ! YOU HAVE CRACKED IT. ALL THAT <