iy 5 % is ; COLT UPDATE! Magazine P.O. Box 1095 Peru iN 46970

S4.50/Issue S1S/VYear October 1994

* UPBATE COMPUTER SYSTEMS MAGAZTHE *

UPDATE. COMPUTER SYSTEMS is Edited and Published by Frank and Carol is of P.O. Box 1095, Peru, IN 46970 USA. The phone nuaber 317-473-8031 for both voice and fax, with normal phone hours being between 5 P.M. and 9:30 P.M. Eastern Time during the | noon to 6 P.M. on weekends, Please use the answering

f ve are not home, Most answers to questions left on iine will be by mail, long distance charges are too

for a small magazine.

ate of the magazine: all issues will be mailed out near of the months of October, January, April and July. All

within the USA are by bulk mail and may take a few weeks to reach you at the most. Those wishing to have faster service may pay $4 extra for First Class Hail. The present rate for North America is $18 in USS, and $22 for the rest of the world, Back issues of the magazine are available for $16 per year in North America and $18 elsewhere (it is cheaper to mail a bunch as opposed to one issue at a time). There are four issues to a year, with each year of a subscription starting in October and ending with the July issue, at which time your subscription renewal is due. Timely renewals are what Keep us in business?

Assistance in publishing this magazine is provided by you the readers, many of whom have contributed often in the way of reviews and articles. He offer you our heartfelt thanks. Our main assistant locally is longtime friend and colleague, Eliad P, Kannun, Poet and Psychologist, as well as Sinclair computer user. Kany thanks to our regulars such as Hike Felerski, Bill Cable, Peter Hale, Paul Holmgren, Al Feng, Don Lambert, Bob Hartung and many others. You are all welcome to submit material for inclusien in the magazine. Please make all hard copy submissions letter or NLQ; no draft print copies, as we do not have much time for re-typing. Send at least two copies hard copy and the article or artwork on disk where possible. No audio tape submissions, as we do not use tape as a media, please. Try to avoid flowery or hard to read fonts...unless you are showing us a sample of the output of a progran. If artwork is to be included in the article, please let us know in what order you think it should be displayed.

Those wishing to place ads in UPDATE HAGAZINE: We have two ways of handling ads. ONE, we will do reciprocal ads for other publications (generally on a year for year basis, with you sending us a copy of the issues the ad is placed in}. The other way is to purchase ad space from us, with the following rates in effect for now: $15 per quarter page; $25 per half page; and $40 per full page ad. This is per issue. For inclusion in all four issues, you pay for three issues, in advance, and get the fourth ad free, Should you have questions on this please contact Frank Davis, by mail or phone as listed above.

Ke hope ta be of service to you. Thank yout

UPDATE DIRECTORY FOR OCTOBER 1994

The computer that an article concerns is marked by using the following mark in the first column of the directory: TS= article for the TS2068 or Spectrum; QL= article for the QL or QXL; ZX = article for the TS1000, ZX81, TS1500; 88= article for the Z88. GI means article of general interest.

Front cover art by Abed Kahale of CATUG, the Chicago Area Timex User Group

Front Covers --Design and Basic Magazine Information

Page 1--GI--Directory of Issue Contents

Page 2--GI-Editorial by Frank W. Davis

Page 3 --TS--LogiCall Review by Abed Kabale

Page 4--ZX-World Map -Part 2 by Paul Holmgren

Page 12 --Gl-Mechanical Affinity & Update! Ads

Page 13 --GI-Modems or Magic by Abed Kahale

Page 16 --GI- RMG Ad for Rod Gowen

Page 16 --TS--The Best of the Plotter Ad

Page 17 -ZX-Serial Printer Output for ZX81/TS 1000 by Bob Berch

Page 19--TS-How To Build A Larken Dock Board by Les Cottrell

Page 23 --GI--Wanted/For Sale/or Help Needed Ads

Page 24-QL-Review of Chris Boutal’s Genealogist 3 by Hugh Howie

Page 27 --QL-~QLAMBer Update by Al Feng

Page 28 -QL-T/SNUG QL Public Domain Library

Page 29 --GI--QBOX USA Ad

Page 29 -GI-Computer Classics Ad

Page 30 --QL-~-Cable Column by Bill Cable --Archive Series Part 18: Form Ed -- A Form Editor & Printer for Archive Databases (2nd and final part)

Page 36 -QL--Pertinent Points on QL Disk Drives by Frank Davis

Page 38 --QL--XTricator, Version 1.75 by Gary Norton, a Review

Page 41 --QL-A Review of je by Eliad P. Wannum (A Financial Program for the QL)

Page 42 --GI--Report on the Dayton Computerfest in August by F. Davis

Page 43 -QL-QLerk Ad by Wood & Wind Computing

Page 44 --88--Z88 Flo-Chart by Mike Fink of Domino Cubes

Page 45 -88-Domino Cubes 288 Ad

Page 46 --88--Z88 ROM & Internal RAM Upgrade by Dave Bennett

Page 47 --GI--Timex Publication Index, part 1 by Paul Holmgren

Back Covers --TS2068 & QL Update Magazine Issue Disks

THE OCTOBER EDITORIAL by Frank W. Davis

Once again I set fingers to the keyboard. I often realize just how much I have come to rely on word processors to do my letters and for other text items. It is so much better to see the whole concept and be able to change it in a matter of seconds...and to make as many copies of it as I wish. For someone who likes to write, this is indeed a minor miracle! I do, however, find I do at times go ahead and write letters out by long hand, just to keep my handwriting skills from waning. It can indeed happen, just as any skill left unpracticed can atrophy with little or no use. We have all heard the old saying that "it is just like riding a bicycle, you never forget how". Well, how many of you have tried to ride a bike lately? I fear that the adequate tennis player that I was in my youth is but a memory now. I was today listening to a public radio program from Purdue University that was discussing this subject, as well as memory and motor skills. It appears that we need to exercise as many different skills as we can in order to stay sharp as we age. Doing so can indeed make us better at some things than we were in our youth, provided we never gave it too much effort in our youth. They seemed to feel that the use of things such as bingo and learning computers were both excellent for the aging mind. Perhaps all of us are getting more out of computers than some realize.

I have to still admit a special fondness for my Sinclair computers.

I have had them long enough to feel comfortable and skillful with them. It is not that the mere thought of an IBM compatible, or a MacIntosh has never crossed my thoughts. The MAC is beyond what I wish to pay for a basic skills computer, whereas I find Windows to be a clumsy environment to work with and the IBM cannot multi-task in the same manner as a QL. I have also been a user of AMIGA computers for years. I find them to be excellent, but not as quick as the QL at multi-tasking. They are great for graphics and stereo sound (two big weak points on the Sinclairs), but they are not easy to program. The TS2068, 288 and the QL are easy to program on and almost a breeze to modify programs on. The QL is now coming more and more into its own. Those who think no new programs are available for the TS2068 are probably not active members of a user group, or do not pay close attention to what is written in UPDATE or the quarterly put out by TSNUG. To find out about new programs and uses for the Z88 you would all do wisely to contact Domino Cubes. Mike has a lot of enthusiasm for this machine and can get you pointed towards some power processing with this little two pound wonder.

If you have a TS1000 and are looking for a new peripheral for it contact RMG, Mechanical Affinity, or place a WANTED AD here free (for subscribers} in UPDATE. If you need to expand your TS2068, do the same, or get a disk drive system from John Oliger Company. You can, if skilled enough or know someone who is, follow the instructions in this issue and build a Larken board for that disk drive setup. For the QL there is so much happening that you should call Mechanical Affinity or IQLR (those who subscribe or want to only) and find out just what all is new. There is the Gold Card, Super Gold Card, two types of hard drive interfaces, and a new improved graphics card coming out in about another month. This does not even mention all the new software. We are closer to state of

the art.

LogiCall Review

Auxiliary Operating System AOS-LKDOS

Developer: Bob Swoger

LogiCall contains all the commands required to run LK-DOS (TS-2068 & Spectrum). It prompts for a command and executes these commands with a minimum of typing.

Moves from drive to drive with 2 keystrokes; moves into and out of a word processor, database, spreadsheet, terminal program and other programs using a few key- strokes. Displays word processor files and pic- tures on the screen without running any program. FORMAT, MOVE, ERASE, CAT, POINT, and VERIFY keys all work without the use of the “RAND USR 100: or PRINT#4: that have to be typed using LKDOS alone. It really proves itself with multi-drive system and will be of great benefit even with a single drive. And, it is not memory hungry, it only occupies one disk track. It does complete the LarKen Disk Operating System.

LogiCall comes in two versions, 5.0 for all including ROMSWITCH and 5.2 for Spectrum ROM in the doc port. OUT 244, 3 is not required.

A complete file management system, more accurately a HUMAN INTERFACE (you and the machine) shows the years of refinements.

Holding down the ENTER key (or the ENTER and the ‘J’ keys for the RAMDISK) at power up, displays the CATalog and the Drive? prompt. ENTER the disk drive number or ‘T’ for tape or just ENTER to display the Program? prompt.

ENTERing ‘H’ or ‘?’ at either prompt, displays two screens HELP menu.

ENTERing one of the following at “Program?”

‘9° displays CATalog.

‘V’erbose displays the complete CATalog.

‘Brief displays a CATalog that only shows programs that can be LOADed and RUN.

‘N? at the scroll? displays the Program? on CATalogs that scroll off the screen.

“W’ LOADs word processor (TASWORD 11)

OSLKDOS ___&y bee Kahne

*T’erminal LOADs terminal (Mterm 1) program.

‘5° or ‘8° RENAME “old”, “new”. ENTER the old name “NMI-S2.CM” to be renamed, then the new “name.B1”.

‘T’ or ‘E°RASE ~ ERASE “.....”. ENTER the filename and extension.

‘A’dds AUTOSTART to a disk.

‘Stave SAVEs “L.B1”.

‘Z’? COPYs to the TS-2040 printer.

‘C’OPYs to a large printer.

‘N'EW activates AUTOSTART again.

‘0’ or ‘F’ormat LOADs FORMAT.B_

‘6’ or ‘M’ove LOADs MOVE.BL

‘R’ VERIFYs for Cyctic Redundancy Check €frors.

‘K’ SAVEs SCREENS to disk.

‘Qvuits or ‘E’xists to BASIC where the program can be customized.

‘0, 1, 2, 3 or 4’ moves between drives,

At the Program? prompt, hitting ENTER without typing a filename activates the SCAN LOAD mode. The space bar or any key in the lower key rows advances a BRIGHT BAR down the screen, the top row of keys will send the BRIGHT BAR back toward the top. ENTER

keys do work as normal or without shift.

ENTERing a name with an extension of “C$? at the Program?, LogiCall displays it as a SCREENS. While ENTERing a name with an extension of ‘Cm’ or ‘CT’, it displays MSCRIPT, TASWORD II or SPECTRATERM word processor files directly from disk.

LogiCall disk ensemble includes VUFILE, VUCALC, TASWORD I, disk/tape Records Base and MTERM II among others.

It is like an upgrade from a gear-shift to an automatic transmission with overdrive.

LogiCall is available from RMG Enterprises and from Mechanical Affinity.

WORLD MAP

Part 2

} routine to scroll screen up,

to DIRN

;

3E67 327241

409C 409E and 40A1 half 40A4 40A6 and 40A9 half

32BE41 of map 3E6F

327F41

top

32CB41 top of map EDSBOC40 40BO 3A8A40 40B3 CB4F right/left? 40B5 282C right/left 40B7 CB47 40B9 3A8940 map 40BC 200F scroll down 40BE FE1A 40CO C8 40C1 3C 40C2 212100 screen line 40C5 19 on screen 40C6 40C9 40CB

40AC

O1F702

40CD map 40CF 40D0 40D1 40D4 on screen 40D5 54 40D6 5D 40D7 012100 screen line 40DA ED42 last line 40DC 40DF 40E1

O1F702 EDB8 1845

40E3

40E5 right or

40E7 map

40EA 201C scroll right

0600 CB47 left 3A8840

MSCR LD A,67

LD (4172),A

LD (41BE),A

LD A,6F

LD (417F),A

LD (41CB),A

LD DE, (DFIL) LD A, (DIRN)

BIT 1,A

JR Z LIRT

BIT 0,A LD A,(YPOS)

JR NZ SCRD

cP 1A RET Z INC A LD HL,0021

ADD HL,DE LD BC,02F7 LDIR oR NEWY SCRD CP 00 RET Z DEC A LD HL,0317 ADD HL,DE LD D,H LD E,L LD BC, 0021 SBC HL,BC LD BC,02F7 LDDR oR NEWY

LTRT LD B,00 BIT 0,A

LD A,( XPOS)

JR NZ SCRR

4.

down,

right, or left according

; and fill in the area vacated by scrolling with the map data

;make instructions at 4171

7; at 41BD be RRD to access

smake instructions at 417E ? at 41CA be RLD to access E = address of display file

D A = direction to scroll scroll up/down or

;if bit(1)=0, go scroll

7scroll up or down? 7A = y position of window on ;if bit(1) of DIRN =1, go

zis window at bottom of map? *

7if so, return to BASIC ryeyed ;HL = 33d = no. chars in

7make HL address of 2nd line

7BC = 759d = 33d * 23d scroll screen up 1 line 7go update YPOS

7

icheck if window is at top of

f so, return to BASIC =y-l

IL = 791d = 24d * 33d - 1 tmake HL address of last char

vi ry 7H.

BC = 33d = no. of chars in

7HL -> last char on next to

7BC = 759d = 33d * 23d scroll screen down 1 line +go update YPOS

;check whether to scroll iget x position of window on 7if bit(0) of DIRN =

1, go

40EC 3C 40ED FES55 edge of map) 40EF 2001 instruction 40F1 AF edge) 40F2 328840 40F5 13 char on screen 40F6 62 40F7 6B 40F8 23 40F9 3518 40FB line - 1 40FD EDBO the left 40FF 23

4106 1823 area to fill

4108 3D 4109 FEFF edge of map 410B 2002 instruction 410D 3E54 410F 328840 4112 211703 4115 19 right char 4116 54 4117 5D 4118 2B char 4119 411B OEF1F line - 1 411D EDB8 right 411F 2B 4120 2B 4121 1B 4122 1B 4123 3D 4124 4126 1803 4128 328940

412B ED4B8840 FFIL

412F 04 414C works 4130 3A8A40

INC A CP 55

JR NZ

XOR A

NWXL LD (XPOS),A INC DE

LD H,D LD L,E INC HL LD A,18 NXLL LD C,1F

LDIR INC HL

INC HL INC DE

INC DE

DEC A

JR NZ NXLL JR FFIL

SCRR DEC A CP FF

JR NZ

LD A,54

NWXR LD (XPOS) ,A LD HL,0317

ADD HL, DE

LD D,H LD E,L DEC HL

LD A,18 NXLR LD C,1F

LDDR

DEC HL DEC HL DEC DE DEC DE DEC A JR NZ NXLR JR FFIL NEWY LD (YPOS),A

INC B LD A,(DIRN)

a

LD BC, (XPOS)

px =xtl ;check if x>85d (past right NWXL vif

not, skip next

;zero x (make it the left

7store new x ymake DE address of top left

7HL = DE ;make HL address of next char 7make A count 24d times

7BC = 31d = no. of chars in

scroll this line 1 char to ymove HL past end of line

;past 1st char in next line ymove DE past last char in

;past end of line char ;countdown A ;go do next line if A <> 0

igo find address of screen

m=x-1 ;check if x went past left NWXR rif not, skip next ;make x the right edge istore new x jHL = 791d = 24d * 33d - 1 ;make HL address of bottom

iDE = HL 7HL = address of previous

count for 24d lines 7BC = 31d = no. of chars in

scroll this line 1 char to

;countdown A

;if A<>0, go do another line skip next instruction store new y

B=y; C=x 7B must be > 0 so DJNZ at

#get direction

4133 FE22

4135 2004 data

4137 3E17

4139 80 to fill

413A 47

413B 21DB42 = 17200d ~- 85d

413E 115500 line

4141 78

4142 D61A of map

4144 3805 instructions

4146 3C

4147 47

4148 CD8B40 of screen

414B 19

414C 10FD line y on map

414E E5

414F 09

4150 3A8A40

4153 CB4F

vertical or horiz

4155 282F

4157 ES on map 4158 2A0C40 415B 23 415C CB47 er down 415E 2004 instructions 4160 11F702 4163 19 4164 EB DE 4165 El map 4166 0620 4168 3E56 416A OC 416B B9 416C instructions 416E El line 416F E5 4170 AF 4171 ED67 half of map

data into A 4173 EB 4174 77 4175 CBSF

CP 22

dR NZ MPST

LD A,17 ADD A,B

LD B,A MPST LD HL, 42DB

LD DE,0055

#check if down ;if not, go get start of map

7A = 17h = 23d

yadd 23d to y since we need

; the last screen line ;HL = start of map data - 55h

7;DE = 85d = no. chars in map

LD A,B SUB 1A ;check if y is in upper half JR C NXLM ;if so, skip next 3 INC A yadjust y LD B,A CALL ACCB gain access to bottom half NXLM ADD HL,DE sadd 85d DINZ NXLM ;loop until HL is address of PUSH HL store it ADD HL,BC yaad C (get to xth char) LD A, (DIRN) iget direction BIT 1,A ;check whether scroll is JR Z VFIL

HFIL PUSH HL

LD HL, (DFIL)

7go fill a column if vertical ;store address of start char

get start of display file

INC HL ymove past first 118d char BIT 0,A ;check whether scroll was up JR NZ stTsc 7if down, skip next 2 LD DE,O2F7 7DE = 23d * 33d ADD HL,DE 7get to last line on screen STSC EX DE,HL store screen fill address in POP HL 7get address of start char on LD B,20 7loop counter for 32d chars NXTX LD A,56 the right edge INC C 7C keeps track of x position cP c ;check if x went off the edge JR NZ CLAX 7if not, skip next 2 POP HL iget address of start of map PUSH HL rrestore stack size CLAX XOR A 7A = 0 RRD yor RLD if accessing bottom ; this moves 4 bits from map EX DE,HL 7get screen address into HL LD (HL),A ;copy map char to screen

BIT 3,A

7should it be inverse?

4177 2804 instructions 4179 CBFE 417B CB9E 417D EB 417E ED6F half of map

4180 4181 4182 4184 4185 4186 Cl 4187 418B right or left 418D 200D fill address 418F 3E1F 4191 5F 4192 19 destination

CB47

4193 81 4194 1E55 4196 BB right edge? 4197 3803 instructions 4199 EDS52 419B scroll 419C 419D 41A0 41A1 3003 instructions 41A3 1E1F 41A5 19 line on screen 41A6 EB 41A7 El 41A8 48 41A9 0618 down screen 41AB 180F 41AD 3E19 41AF B9

ED4B8840

RSMX

VFIL

SVMY

SVSY

NXxTY

bottom half of map

41BO0 200A instructions

41B2 CD8B40 of map

41B5 D5

41B6 114D08 size of map data

41B9 ED52

41BB D1

41BC AF

CLAY

JR 2 RSMX ;if not, skip next 2 SET 7,(HL) ;make it an inverse char RES 3,(HL) EX DE,HL ;get map address back into HL RLD yor RRD if accessing bottom ; this restores map data INC HL ;move to next map char INC DE ;move to next screen position DINZ NXTX ;loop for each char POP BC ;restore stack RET ;back to BASIC POP BC 7restore stack LD BC,(XPOS) ;B=y, C=x BIT 0,A ;check whether scroll was JR NZ SVMY if right, go find screen LD A,1F ;7A = 31d LD E,A iDE = 31d ADD HL,DE jadd to map address since } is rightmost screen column ADD A,C 7A = xX + 31d LD E,55 7;DE = 85a cP E ;did map address go past JR C SVMY ;if not, skip next 2 SBC HL,DE ymove back 85d chars SCF icarry flag remembers a left PUSH HL store map address LD HL,(DFIL) ;get start of display file INC HL 7move past ist 118d char JR NC SVSY if scroll was right, skip 2 LD E,1F 7DE = 31d ADD HL,DE ymove to last char on list EX DE,HL ;Save screen address in DE POP HL iget map address LD C,B cay LD B,18 jloop counter for 24d chars JR CLAY iskip 1st part of loop LD A,19 iA = 25d cP Cc scheck if y has crossed to

JR NZ CLAY CALL ACCB

PUSH DE LD DE,084D

SBC HL,DE POP DE XOR A

if not, skip the next 5

igain access to bottom half

save screen address 7;DE = 2125d = 25d * 85d =

jadjust map address irestore screen address iA = 0

41BD ED67 half of map

data into A 41BF EB 41CO 77 41C1 CBSF

inverse 41C3 2804

instructions 41C5 CBFE 41C7 CB9E 41C9 EB 41CA ED6F

half of map

41CC D5 41CD 115500 41D0 19 41D1 E3 41D2 1E21 41D4 19 41D5 Di 41D6 EB 41D7 oc 41D8 10D3 41DA C9

41DB 320D variable screen: line 41DD 2A1640 41E0 E5 41E1 21DB41 string 41E4 221640 41E7 CD1C1i1 variable 41EA 23 41EB 23 41EC 23 41ED E3 address on stack 41EE 221640 41F1 2A0C40 41F4 112300 41F7 19 41F8 Dl 41F9 011F00 41FC EDBO 41FE 23 41FF OE20 4201 EDBO 4203 C9 4204 2A1040 4207 3E80 4209 BE 420A C8

RRD sor RLD if accessing bottom

; this moves 4 bits from map

EX DE,HL get screen address into HL LD (HL),A ;copy map char to screen BIT 3,A ;check if it should be JR Z RSMY ;if not, skip next 2 SET 7,(HL) ;make it inverse RES 3,(HL) RSMY EX DE,HL get map address back into HL RLD jor RRD if accessing bottom ; this restores map data PUSH DE ;store screen address LD DE,0055 7DE = 85d ADD HL,DE ;move down 1 map line EX (SP) ,HL tget screen address into HL LD E,21 ?;DE = 33d ADD HL,DE ymove down 1 screen line POP DE restore map address EX DE,HL jget map address back into HL INC C keep track of y position DINZ NXTY ;loop for next char RET ;back to BASIC ; STRM DEFB 32 OD 7M$, name of M string

FILM

LKAG

; routine to fill the BASIC string M$ with 63d chars from the

; the last 31 chars from the 2nd line and all 32 from the 3rd

LD HL,(CHAD) ;get current value of CHAD

PUSH HL sstore it

LD HL,STRM ;get address of name of LD (CHAD),HL j;put it in CHAD

CALL 111C ;ROM routine to find a INC HL INC HL INC HL ;get to first char of string

EX (SP) ,HL ;HL = old CHAD; put M$

LD (CHAD),HL ;restore old value of CHAD LD HL,(DFIL) j;get start of display file LD DE,0023 ?DE = 35a

ADD HL,DE get to 2nd char of 2nd line POP DE iget start of M$

LD BC,OO1F 7BC = 31d

LDIR copy 31d chars

INC HL 7skip over 118d char

LD C,20 7BC = 32d

LDIR ;copy 32d chars

RET 7back to BASIC

LD HL,(VARS) ;find G$ in BASIC variables LD A,80 ;end of VARS marker

CP (HL)

RET Z scouldn’t find GS

420B 420D 420E 4210 4212 4214 4216 4218 421A 421c var 421F 4221 4222 4224 4226 4229 422A 422C string 422D 422E 422F 4230 4231 4232 4234 4235

3E4C BE 2824 CB6E 2818 CB7E 280E CB76 2805 111200

227B40 El

23 228240 210000 228440 3E00 328640 218740 3600

MILT

1LTV SKPV

LD cP JR

A,4C (HL) Z FDIT

BIT 5,(HL)

JR

2 ARST

BIT 7,(HL)

JR

Z LTV

BIT 6,(HL)

JR

Z MILT

LD DE,0012

JR

SKPV

INC HL BIT 7,(HL)

JR LD

Z MILT DE,0006

ADD HL,DE

JR

LKAG

ARST INC HL

FDIT

SETF

KYLP

IGN3

CRON SCON

Lb

E, (HL)

INC HL

LD

D, (HL)

INC HL ADD HL, DE

JR

LKAG

INC HL

LD

E, (HL)

INC HL

LD

D, (HL)

PUSH HL ADD HL,DE

LD

(GLST) , HL

POP HL INC HL

LD

LD

(GCUR) , HL HL, 0000 (TIMR) ,HL A,00 (TMR3),A HL, ELEN (HL) ,00 HL, FLAG

SET 0, (HL)

LD LD

HL, (TIMR) DE, 0001

ADD HL,DE

LD JR LD

(TIMR), HL NC IGN3 A, (TMR3)

INC A

LD LD LD

(TMR3),A HL, (DFCC) A, (TIMR)

BIT 6,A

JR LD JR LD

NZ CRON (HL) ,00

SCON (HL) , 80

CALL 02BB

LD

B,H

7G$ marker

;d0R if G$ found

if array or string ;if 1 letter var name

;if more than 1 letter name 718 bytes to skip FOR-NEXT

;loop to find end of var name 76 bytes to skip number yada to find next var look again ;get length of array or

yadd and get to next var ;look again tget length of GS

push start of G$ ;find end of G$ 7store end

jpop start

7store start of G$

;zero timer

+zero 3rd timer byte ;initialize entry length

yassume a key is depressed

sinc. timer

;no carry?, ignore TMR3 ;if carry then zinc TMR3

get print position iget low byte of timer 7flash cursor by bit 6

cursor off

7skip cursor on cursor on

;ROM key scan routine

427E 427F 4280 4283 4285 4287 4288 428A 428C 428E 428F 4291 4294 4295 4297 4299 429C 429E 429F 42Al 42A2 42A5 42A7 42A8 42AA 42AB 42AD 42AE 42Bl 42B4 42B5 42B7 42BA 42BC 42BE check 42C0 42C3 42C5 42C7 42C8 line 42CB 42CC 42CD 42CE 42CF 42D0 42D1 42D2

2A0E40 3600 1857 SF 2A2940

1002

statement?

42D4 42D6 42D7 42D8 42D9 42DB 42DC 42DE 42E0 42E2

RDKY

NEOL

GOBK ENTR

VLDK

NXCH

CHK=

LK-,

CK-,

LD C,L

LD E,L ;L=FF if no key pressed

LD HL,FLAG

BIT 0, (HL) ;has flag been reset?

JR Z RDKY ;if so, read key

INC E jis a key pressed?

JR NZ KYLP 7JR if old key still pressed RES 0,(HL) sready for new key

JR KYLP sloop for proper key

INC E ;is a key pressed?

JR Z KYLP ;if not, loop for key

CALL 07BD decode BC to find address of LD A,(HL) ;character code of key

CP 77 ;delete key?

JR NZ ENTR 7no? check for enter key

LD HL,ELEN ;get address of entry length LD A,00

CP (HL) ;length=0?

JR Z SETF ;then don’t delete

DEC (HL) ;dec entry length

LD HL,(DFCC) ;get print position

LD (HL) ,00 7erase character

DEC HL 7move position back

LD A,76

CP (HL) ;end of line in display file? JR NZ NEOL

DEC HL ;move past EOL character

LD (DFCC),HL j;store new print position LD HL,(GCUR) ;get current position in G$ DEC HL

LD (HL) ,00 ;erase deleted character LD (GCUR),HL ;store new position in G$ JR SETF sloop for next key CP 76 ;check for enter key

JR NZ VLDK ;if not, JR to valid key LD HL,(DFCC) ;get print position LD (HL) ,00 7erase cursor JR EXIT LD E,A ;store character in E

LD HL, (NXLN) ;get address of next BASIC INC HL INC HL LD B, (HL) ;7B=length of line DEC B INC HL INC HL INC HL

DINZ CHK= ;nothing left in REM

JR GOBK ;then go back LD D, (HL) get char in REM LD A,E get keyed char cP D yare they equal? JR Z ADDG yyes? then add to G$ INC HL DINZ CK-, ynothing left in REM? JR GOBK yno? then go back LD A,16 ;check for - character CP (HL)

42E3 42E5 42E7 42E8 42E9 42EB 42EC 42EE 42F0 42F1 42F2 42F4 42P5 42F6 42F8 42FB 42FC 42PF 4300 4301 4302 4304 4305 4307 4308 430B 430E 430F 4310 4311 4314 4315 4319 431A 431c 431E 4320 4323 4324

23 ENDC

7E LDCH

220E40 NT76 2A8240

FL

73

23

228240

2B

ED4B7B40

AF

ED42

209C

0600 EXIT 218740

4E

cg

as AE |

JR Z ENDC LD A,1A cP (HL) RET NZ

JR NXCH INC HL DINZ LDCH JR GOBK

INC (HL) LD HL, (DFCC) LD (HL),E INC HL

PUSH AF

LD A,76

cP (HL)

JR NZ NT76 INC HL

LD (DFCC) ,HL LD HL,(GCUR) POP AF

LD (HL),E INC HL

LD (GCUR),HL DEC HL

LD BC, (GLST) XOR A

SBC HL,BC

JR NZ GOBK LD B,00

LD HL, ELEN LD C, (HL) RET

7go get end character 7check for , character

ynot - or , so REM invalid +go get next char in REM

ynothing left in REM? ;no? then go back

;A=end character

;CP with keyed character zis keyed code too large? ;A=start character

7CP with keyed character zis keyed code too small? ;get address of entry length yadd 1

;get print position ;print keyed character

;end of line in display file? ;move past EOL character

7get current position in G$ ;put keyed char in G$

store new position

+BC points to last byte in GS ;clear carry flag

zany more room in G$?

syes? then GOBK

7get address of entry length ;put length in BC

DAE} ‘PDATE

AGAZTINE

11

MAGAZINE

MECHANICAL

AFFINITY

Serving ALL QL Users Frank bavi Paul Helogren 513 ast Main St 5231 Kilten Wood Court Pere, Indiana 46170 Indianapolis IN, 46254

317-473-8031 evenings & weekends

Trung Cards, disk interface for teo 360K o 720K disk dives, @O6K of werory and TK, reconditioned for $100,

Gold Cards 2 drive disk interface, 2 weg wenory,TK2 and 18 negster2 gee, Ail this for only $230.

Super Gold Cards, built in 4 drive alaptor disk interface, 68020 processor, 4 weg of wenory, runs at 24 wegaterz speed, tuilt in true parailel printer port (with printer cable) and the latest TK2, The price is $488, Contact us about our Trump , or Gold Card trade in prograe,

Sinclair & Printers, black eith @ logo, $ pin printers thet are nade to run vith the OL (seriall. Price is $50.

CUESHELL, the new graphics oriented desktop program for the OL.

It gives you progran options on the soreen, shich you can easily control, change or launch. It is pointer environment driven snd wakes full use of level 2 rivers, Our price is $62.

Page Designer 3, the Os easiest to use full feetured desk top publishing progran, Comes vith toads of fonts and clip

rans

APART RRM REARARRIEE

317-291-6002 evenings & weekends

art ina 4 disk set, You can even use HOF fonts from Digital Precisions Professional Publisher, as well as other clip art frow other OL programs. This ad was done using PO, Our price is $63,

Text@7Plust, an excel tent word prooessor thal alloes you to use drivers for all the latest printers, gives you aany fonts as vell as columns end precise control of paper size «a print size. Our price is $120,

LineDesign Yersion2, 9 top of the line superb vector drawing progran package that allons you to wix many! fonts and graphics (10 disk set) with your artwork, For $153.

QL--IDE Hard Drive Interface for only $115.

Detalesign 3, & fast pointer driven database that is easy to set up and use for the QL, The price is $95.

Gliberator 3.36, compiles virtually al! of SiperBasic, and it is easy fo use, with OL and QML, The price is $75,

CONTACT US FOR ALL YOUR QL NEEDS, WE'LL D0 OUR BEST!

RIAA AEA UIE TPE

of publication ! | !

We are a large quarterly magazine that is produced on Sinclair computers. We cover

the QL, Z88, TS2068, Spectrum and the 2X81. Minimum issue size is 50 pages, and does include ads from Sinclair dealers. The price is in North America; and we do accept the British Pound or the German Mark equivalents for a subscription.

$18 in USS

Send all funds and requests for a new

Checks,

subscription to: UPDATE! MAGAZINE P.O, BOX 1095 PERU, IN 46970 USA

UPDATE! Magazine

The only known, privately produced Sinclair computer magazine that covers ALL of the Sinclair computers. We are now starting our 8th year

all

$22 elsewhere,

travelers checks, cash are acceptable.

MODEMS « Magic

by EKkled Kakal CATUG-T/SNUG

My previous article (Modems or Black Magic, UPDATE! Jan. 94) discussed the basic elements of communications by modem, but there is a lot more of this Magic. The field of the Information/ Communications Super Highway is very complex and new developments appear at fast pace, such as an an- nouncement by a company that they are developing a direct wire communications system that obsoletes mo- dems. With the prevailing use of fiber-optics lines, communications will be in the millions of data bits transfer rate such as the cable TV system is now.

Computers —-nor- mally process 16 or 32 bit words of digital in- formation on their inter- nal data buses. Even the computer’s parallel printer port offers a data path that is 8 bits wide. However there is only one transmitting wire (the other wire is for sig- nal return) in a tele- phone line. Modems must break down (Modulate) each digital word into a sequence of audio signals, and send each signal in tum along the telephone line. An 8-bit data word is sent as eight |-bit signals.

Most modems for computer communication are asynchronous or unsyn- chronized. (synchronous modems are more expensive, they require complex circuitry.) Because two commu- nicating modems are operating asynchronously, the receiving machine must know when a stream of data is being sent, where each stream of data starts and ends, and whether the stream is correct or not (see the previous article), To accomplish this feat, extra bits are added to the data to organize it into a standard sequence known as a dataframe having a start bit, a data bit, a parity bit and a stop bit.

Port Connections and Signals

The translation from parallel data words to a serial data strearn takes place within the computer's serial port circuit in an IC known as a Universal Asynchronous Receiver/Transmitter (UART). Logic 1’s and 0's are converted into bipolar signals. Logic I's are translated

to - 5 to - 15 volt levels (mark), and logic 0's are trans- lated to + 5 to + 15 volt levels (space). Those bipolar signals are supplied to the TX (transmit) pin of a stan- dard serial communications port. Those physical con- nections are also called RS-232C ports. (RS-232C is a standard of the Electronic Industry Association) In Europe, the RS-232C standard is called V.24.

An extemal modem connected to the serial port MOdulates the bipolar TX signal into an audio signal which is sent over the telephone line. Audio signals teceived by the modem and DEModulated into bipolar signals are retumed to the serial port's RX (receive) pin. An inter- nal modem is a plug-in unit installed inside a computer containing a serial port. For most serial port connections, only TX , RX and ground wires are needed to establish a working port.

Communications Software

All communications software must be able to operate in two dis- tinct modes: the com- mand mode, and the terminal mode. In the command mode, any commands issued control either the communications software, the host computer, or the modem connected to it In the terminal mode, any commands issued are sent directly to the modem, or they are sent through the modem and to the remote computer modem.

Typical instructions that might be issued in the command mode include retrieving a telephone number from a data log, setting the proper communications protocol, dialing a number, and saving any data that is teceived to a disk.

In the terminal mode, all keyboard (or disk) input is sent directly to the modem. If the modem is off-line or not connected to a remote computer modem, the input is recognized as modem commands. if the mo- dem is on-line and has an active connection to a remote computer modem, all inputs are sent through the mo- dem to the remote computer unless certain special con- trol characters precede the data.

13

—————

The difference between the command mode (in which commands are acted on locally) and terminal mode (in which commands affect the remote com- puter) is probably the most confusing aspect of modem communications for beginners.

One common mistake made by newcomers, for example, is to initiate a file UPLOAD in terminal mode without issuing a corresponding command in the command mode. The first command is required to tell the computer to send a file. The second is necessary to instruct the host (remote) computer to receive it and store it on disk.

Flow Control

To control the flow of data between two modems, software codes (such as XON and XOFF) are passed between them. Communications software intesprets such codes and controls modem operation accordingly.

However, the flow of data between a computer and modem is not always controlled by software codes. Instead, additional signal lines in an RS-232 port allow for hardware flow control (or handshaking). The Re- quest To Send (RTS) line tells a modem to prepare to receive data from the computer. Once the modem is ready to send, it will retum a Clear To Send (CTS) signal to the computer. RTS and CTS signals act together to handle data transfer

When the computer is ready for operation (but not necessarily ready to send data), it asserts Its Data Terminal Ready (DTR) signal. DTR must remain active throughout the entire connection time. The modem sends a Data Set Ready (DSR) signal to the computer after the modem has been activated, and has finished self-tests or preparation for connection. The DTR and DSR signals establish the connection between modem and computer, but they do not control the flow of data between the two.

If @ telephone ring signal is detected at the mo- dem, a Ring Indicator (RI) signal is sent to the computer. When the modem subsequently picks up the ringing line and detects the presence of camer, a Data Carrier Detect (DCD) signal is passed to the computer. Ring and carrier detect signals invoke the communication software to receive communication from a distant modem.

Modulating the Signal

A modem transmits data by-generating a carrier that is then modulated. Several different methods of signal modulation have been developed through the years to improve the efficiency of data transfers. Of course, two modems must be capable of the same modulation design for successful communications.

Two modems that are communicating with each other must generate different carrier frequencies. Each communication standard defines the transmitting and

feceiving cartier frequency. For example, for 300 BAUD communication, one modem must have a carrier center frequency of 1170 Hz, and the second must have a center frequency of 2125 Hz. By conven- tion, the modem initiating the call, or the originate- mode modem, has the lower carrier frequency. The modem receiving the call, or the answer-mode modem, has the higher carrier frequency

In the early days of modem communication, cach transition of the audio carrier signal represented a single bit. Each transition is known as a BAUD, so the BAUD rate equaled the transmission rate in bits-per-second or BPS. Unlike those early modems (like the TS-2050), modern modem designs allow two, three, four, or more bits to be encoded into every audio signal transi- tion (or BAUD). This means that modem throughput now equals two, three, or four times the BAUD rate being carried on the telephone line.

For example, a modem operating at 2400 BAUD (2400 audio signal transitions per second) can cary 4800 BPS if two bits are encoded onto every BAUD. The same 2400 BAUD modem can carry 9600 BPS if 4 bits are encoded onto every BAUD. Today, the mo- dem’s BAUD rate rarely matches the modem’s bit rate in BPS. If the modem were operating at 4800 BAUD with 3-bit encoding, it would be transmitting 14,400 BPS (14.4 KBPS) V.32bis, and so on.

The concept of encoding is different from data compression. Encoding transfers all original data bits from one system to another. While data compression replaces repeating sequences of bits with much shorter bit sequences known as symbols or tokens. Encoding designs and data compression are described in more detail later in this article.

Modulation Designs

All waveforms have three basic characteristics amplitude, frequency, and phase. Each of those charac- teristics can be adjusted to represent a bit.

Frequency-Shift Keying(FSK) is similar To Fre- quency Modulation (FM) where only the frequency of a carrier is changed, and it is one of the oldest modula- tion design still in use. FSK sends a logic | at one particular frequency (usually 1750 Hz), and a logic 0 is sent at another discrete frequency (often 1080 Hz). Frequencies are typically sent at 300 BAUD, and each BAUD can carry one bit, so FSK can send 300 BPS. This early technique resulted in the classical “BAUD equals BPS” which still exists today. Bell 103 was the widely accepted modem standard simple FSK modulation at 300 BAUD. This is the only standard in which the data rate matches the BAUD rate.

Phase-Shift Keying (PSK) is a close cousin of FSK, but the phase timing of a carrier wave is altered while the carrier's frequency stays the same. A logic 1 or logic 0 is represented by the alteration of the camer's

14

phase. Because phase can be shifted in several precise increments such as 0°, 90°, 180° and 270°. PSK can encode one, two, three, or more bits bit per BAUD. A 1200-BAUD modem using PSK can transmit 2400 BPS over an 1800 Hz carrier. PSK in conjunction with FSK can encode even more bits per BAUD.

In Quadrature-Amplitude Modulation (QAM), both the phase and amplitude of the wave are modu- lated to encode up to six bits onto every BAUD, al- though only four bits are usually reserved for data. Most QAM modems have a 1700-Hz or 1800-Hz carrier and a base rate of 2400 BAUD, so they can carry up to 9600 BPS.

Trellis-Coded Quadrature-Amplitude Modulation (TCQAM or TCM) also generates an !800-Hz carrier at a 2400-BAUD base rate, but it uses the fill 6-bit encod- ing capability of QAM to provide a rate of 14400 BPS. TCM is now the most popular modulation design for high-performance modems because data can be checked on-the-fly with high reliability.

As the speed increases, line noise becomes very critical to communications and error correction be- comes vital

MNP Standards

The Microcom Networking Protocol (MNP) is a complete hierarchy of standards developed during the mid 1980s. They were designed to work with other modem technologies to provide error correction and data compression. Originally developed by Microcom Inc., the protocol is now in the public domain.

MNP provides error control and data compression when one modem is communicating with another mo- dem that supports MNP. MNP class 4 is specified by the ITU (Intemational Telecommunications Union) V.42 asa error control design for LAPM (Link

The Vees The Most

Access Procedure for Modems) in the event that V.24 cannot be invoked. Out of ten MNP levels, most mo- dern modems support MNP2 to MNPS. Each MNP class has all the features of the previous class plus its own.

MNP class 2: (stream mode): Data is sent in both directions at the same time. That results in a speed about 84% as fast as data transmissions with no error correction.

MNP class 3: The sending modem strips the start and stop bits from a data block before sending it. The receiving modem then adds start and stop bits before passing the data to the receiving computer. It is about 8% faster than data transmissions with no error correc- tion.

MNP class 4: A protocol (with some data com- pression) that checks telephone connection quality and uses adaptive packet assembly. On a noise free line, the modem sends larger blocks of data such as 1024 bytes. If the line is noisy, the modem sends smaller blocks of data such as 128 bytes so that less data must be resent in the event of an error.

MNP class 5: Provides data compression by de- tecting redundant data and converting it to fewer bits or tokens, thus increasing effective data throughput. A receiving modem decompresses the data before passing it to the receiving computer. MNP5 can speed data transmissions by as much as a factor of two compared with protocols having no data compression or error correction design.

MNP class 6: Universal link negotiation allows modems to obtain maximum performance from a line. The modems start at low speeds, then move to higher speeds until the best speed that both modems can work at is reached.

Common ITU Standards

V.17—Descnbes an application-specific modulation design for Group 3 fax which provides two-wires half-duplex, trellis-coded transmission at 7200, 9600, 12000, and 14400 BPS. Despite its low number, this is a recently introduced standard.

V.21—Provides the specifications for 300 BPS FSK serial modems (based on BELL103).

V.22-Provides the specifications for 1200 BPS (600 baud) PSK modems (based upon BELL212A)

V.32—Defines the first of the truly modern modems as a 9600/4800-bps, QAM, full-duplex modem operating at 2400 baud. This standard also incorporates trellis coding and echo cancellation to produce a stable, reliable, high- speed modem.

V.32bis—A fairly new standard extending the V.32 specifi- cation to define a 4800/7200/9600/12000/14400 BPS TCQAM full-duplex modem operating at 2400 baud.

Trellis coding, automatic transfer rate negotiation, and echo cancellation make this type of modem one of the most popular and least expensive for general communication.

V.32fast—The temporary name of a standard that the ITU has not yet completed. When finished, it will probably replace V.32bis with speeds up to 28,800 BPS. It is anticipated that this will be the last analog protocol, even- tually giving way to all-digital protocols as local telephone systems become entirely digital.

V.34—The ratified version of V.32fast. It provides for data speeds up to 128 KBPS with transmission rates as high as 3429 BAUD.

V.42—Defines a two-stage process of detection and negotiation for LAPM error control.

V.42bis—Extends the V.42 standard to include data

{ compression.

Reference: Stephen J. Bigelow, Elecironics Now

15

RMG ENTERPRISES

Supports Sinclair/Timex Users!

2 Call or FAX for information on prices and availability, hardware or software

(=

You can send a legal and 50¢.

Request a price sheet or send $4 fora GIANT IMPORT GIFT catalog; not computer related

NEW

The Companion Disk for LarKen $9.95 PP. We also carry extensive PC shareware.

Send check or money order to: RMG Enterprises 14784 S QUAIL GROVE CIR OREGON CITY OR 97045 or call and use your VISA or MasterCard 503 655-7484 (aam-eem Tue-Sat) FAX 503 655-4116

| IT’S READY!

CCATS & RMG Enterprises | Are Pleased To Announce

oo leg =|

ZX-81 TS-1000 TS-2068 QL Contents are exclusively those developed and published by THE PLOTTER authors over the past 12 years.

Price: $14.95 pp. per copy.

To Order: Send vour check or money Order to: RMG Enterprises 14784 S QUAIL GROVE CIR OREGON CITY OR 97045 Call and use your VISA or MasterCard 503 655-7484 (8AM-6PM Tue-Sat) FAX 503 655-4116

100 110 112

116 120 122 130 132 140 142 144 146 148 150 152 154 199 200 202 206 208 210 212 220 222 224 225 226 230 232

REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM

ORG OGN

PIII IOI I HOR ak a 7* SERIAL PRINTER OUTPT as PROGRAM

7* BOB BERCH 3/83 GIRO IR a a ak JR 50 ; ONE CHAR ~- ZX JR 360 ; PRINT Z¢$

JR 300 ; COPY

JR 200 ; LISTING

JR 210 ; CONT LIST

}TYPE A CHAR. - ASCII#** LD A, (AD1) JR 100

;TYPE A CHARACTER -ZX** LD A, (AD1)

CALL /500

PUSH AF

CALL /100

POP AF

CP 13 ;TEST FOR C.R. RET NZ

LD HL,4096; PAUSE FOR DEC HL; C.R.

LD A,H

OR L

JR NZ,72

RET

LD A,13;ONE C.R. JR 60

; ;MAIN OUTPUT ROUTINE LD C,A

CALL HO2E7 ;SET - FAST LD B,11;BIT COUNTER

JR 130

RRC C; TEST

JR C,132

OUT HFF,A; SPACE BIT

LD DE,HO190 ;TIME CONST DEC DE ; FOR BAUD RATE LD A,D

OR E

JR NZ,140

SET 7,C; SET STOP BITS

IN A,HFE; END BIT DJINZ 120 RET

;

;TYPE A LISTING****x4Kx CALL /90;ONE C.R.

LD HL,16509 LD (AD2),HL CALL HOA2A ; LD HL, (AD2) LD BC,/90;SET RET ADDR PUSH BC CALL HO745 POP BC LD(AD2),HL LD HL, (DFCC) DEC HL

CLS

7 OUT-LINE

7 FIND END

234 235 236 238 240 242 244 246 247 248 250 252 299 300 310 312 320 359 360 362 364 370 372 380 382 384 386 389 390 392 399 400 402 410 412 414 420 422 424 426 432 434 435 438 440 442 444 446 499 500 502 510 $12 515 517 520 522 524 530 532 534 535 536 538 539 540

REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM

SUB A

DEC HL

CP #; “ENGLISH POUND" JR Z,235

INC HL

LD DE, (DFIL); AND A; LENGTH SBC HL,DE PUSH HL POP BC CALL /400 JR 210

i

COMPUTE

7TYPE

fp COPY *xRKARKKARKK KR RAK

LD DE, (DFIL) LD BC, 726 JR 400

f PRINT 2g tik tied terete

LD HL,/700;POINT TO LD (CHAD) ,HL;DATA CALL H111C;"GET-VARS" RET C;EXIT IF NO Z$ INC HL;PICKUP LENGTH LD C,#;IN BC

INC HL

LD B,#

INC HL;POINT TO

PUSH HL;STRING START POP DE; IN DE

;TYPE A STRING*&ke KARE }DE=START BC=LENGTH LD A,B

OR C

RET Z

PUSH BC

PUSH DE

LD A, (DE)

CALL /54 ;TYPE CHAR POP DE

POP BC

DEC BC

INC DE

CALL HOF46;TEST BREAK JR C,400 ;KEY

RST 8;ERR REPORT

12; "D"

; :CONV ZX TO ASCII¥**#*% ;IN + OUT THRU A REG. CP 128

JR NC, 580

cP 118

JR 2,590

SUB 64

RET NC;CONTROL CHARS ADD 64

CP 28

JR C,540

CP 38

JR C,538

ADD A,7 ;LETS

ADD A,20 ;NUMS+LETS

RET

AND A

542 REM JR NZ,550 543 REM LD A,32 ;SPACE 545 REM RET 550 REM CP 11 552 REM JR NC,560 553 REM PUSH AF ;GRAPHICS 554 REM LD A,35 556 REM CALL /110 557 REM POP AF 558 REM ADD A,48 559 REM RET 560 REM LD HL,/600 ;SPECIAL 561 REM SUB 11; CHARS 562 REM ADD A,L 563 REM LD L,A 564 REM JR NC,567 565 REM INC H 567 REM LD L,# 568 REM LD A,L 569 REM RET 580 REM SUB 128; INVERSE 582 REM CALL /500 584 REM ADD 32 586 REM RET 590 REM LD A,13 ;CARG. RET. 592 REM RET 599 REM ; 600 REM ;LOOKUP TABLE FOR CODES 11 TO 27 610 REM DATA 34,38,36,58,63,40,41,62,60,61,43,45,42,47,59,44,46 699 REM ; 700 REM DATA 63,13; "Zz$" 990 REM END 1000 LET OGN=32512 1002 LET DFCC=16398 1004 LET CHAD=16406 1006 LET AD1=16417 1008 LET AD2=16507 1010 LET DFIL=16396

QLZX

The Journal Covering Amateur Radio and Sinclair Computers ZX80; Micro-Ace: ZX81; TS1000, 1500, and 2068; QL; Z88 Alex. F. Burr, K5XY, Publisher 2025 O'Donnell Drive Las Cruces, NM 88001

HOW TO BUILD A LARKEN DOCK BOARD Les Cottrell 108 River Heights Drive Cocoa, FL 32922-6630

To answer a request for schematics of the LarKen system | carefully examined the boards and sketched up what | saw. Peeking under the chips turned out to be more difficult than expected so to validate the dock board schematic two working samples were made. The first was built on a discarded Zebra spectrum emulator board. (The chip had been mounted on the original Larken dock board.) The Larken dock board can be used with Aerco, Oliger or Ramex to add a second DOS.

To use one of the Zebra cartridge boards you must remove all chips, sockets and traces except the fingers that go into the 2068. Use an X-Acto knife to remove the traces. This is time consuming but the board will be a good fit in the cartridge slot. The locations shown in Fig.2 is the layout of the original LarKen. Use a Dremel or small hand drill to make the holes required for chip sockets and other components.

The second one was built on a plug-in perf board with .1 spacing edge-connector, Radio Shack P/N 276-192. This part is not listed in the current catalog, but | have found 4 boards in 2 different stores this past week. The dimensions of the original Larken dock board are shown in Fig. 2. This is easier to work with since drilling is not required.(The board must be cut out, but the little cutting wheels on a Dremel make this a fun job.) One word of warning here - check to see that the card fits and the cartridge door will close by temporarily placing a chip and socket in the outermost location. (Lesson learned.) The dock area is filled with this circuit so stick close to the locations shown. The transistor should lie as flat as possible.

All chips should be socketed. The sockets can be held in place with a dab of glue. Use 30-gauge wire-wrap wire for the point to point wiring of the circuit. Follow the schematic to make your connections. Start by soldering the wire to the edge connector and then routing the wire to the first point, stripping away enough coating to make one loop around the leg, soldering that point and moving to the next point. Radio Shack’s 276-1570 Wire- wrapping tool has a neat little stripper hidden in the handle that you works well. This step involves "worrying" the coating away by back and forth motions and should be done carefully. You can also make the loop without any stripping and melt the coating and make the solder joint at the same time. Perform a continuity check on a few joints to verify your technique if you choose this method.

Note that A8 and AQ don’t go to the same pin numbers on the RAM and the EPROM. They have a check mark on the schematic as a flag. On the units | made | socketed the transistor, LED and the big diode using individual sockets call "springs" that a friend gave me. These were especially useful for the large diode whose markings | did not recognize. | found a diode that looked similar (a 1N4003) and tried it. | found one that worked on the first try on unit one, but | had to try several on unit two.

19

Larken Cartridge Schematic

Figure 1

a ww wv ww ov ou um ev uw lw ov ow ev ww ov sv w 1 -BueyIO HE SL vy! tose sop S}-OVSLZAH 297 0% PoMeUl 1 etait eee VZzzzNe- 1D U0Le- 28 Said OM L8H on e'b- He 00S" LDH UM be Atl zv0"- 6D fe Uy 01-98 att r= 29 %e OM VS" SE “20/0 A OF ‘4H 2Z~ 19 HSae wh Le. or & 25 2 Peo rai oe ie zo} ‘ww icf ow oaun

You may need to "sharpen" the point on your soldering iron. Where the wires cross they have a tendency to fuse together. Use a toothpick to separate them to avoid a “crossed wires" problem. Before you install the chips you should verify that all the connections are proper using an ohmmeter or continuity tester. After the circuit has been tested and works properly carefully coat the wires with clear finger nail polish to coat any bare spots and hold the wires apart.

It is imperative that you use the chips called out on the schematic. Due to differing values required to activate "high" and “low" some substitutions with faster chips will not work! (Lesson learned. Thanks to Nazir Pashtoon for explaining this.) HCT’s can be used where HCTLS's are called for and HM6264P-15 works in the ram spot. The small diodes, 1N4148’s, should be at least as good as Radio Shack P/N 276-1122. Since the circuit is sensitive “bargain diodes" should be avoided.

Resistors Rt, R3 and Ré4 are 1.8K which is not a standard value found at Radio Shack. | bought a package of 100 elsewhere so | have spares! If anyone is serious enough to start construction on a home-made dock board send me a SASE and | will send (3) 1.8K’s and a few of the little “springs”.

Figures 3 and 4 are a representation of the traces on the Larken board. They are included for reference only. My drafting skills seem to fade with each birthday. If | can become proficient with the CAD#3 program maybe a useful printed circuit layout could come later

. 3.45 >|

a BS >|

ote a

WO0AF SOTN?

ll

co S/-TSIISW

+

Lace

g 6 | bese a 8 ats . Fieure 2

21

Zeer IHeEL C

el

WANTED/ FOR SALE/ OR HELP NEEDED

1) "Do you know of enyone that is using the Timex Disk Drive System (TOS)? I have a Seikosha SP-1000AS serial printer. ] can get this to print using MSCRIPT and Vernon Tidwell serial patch in text but not graphics. I do not have the owners manual for this $4.00 printer so I do not have the print codes." HELP! A.E. Green, 4600 E, Hillsborough Ave, Tampa, FL 33610.

2) HELP WANTED..." My interestis with the TS1O00 computer.......(a) has anyone come up with a battery pack to run the TS1000 away from a source of 110v AC power? My experiment with a single 9 volt transistor radio battery did not work, perhaps several of these batteries connected in parallel to increase the current available is the answer? (b) Along the same lines, can you suggest asmall AC/DC portable TV that can be used in the absence of 110¥ AC power (brand, model ¥, screen size, price) that makes a suitable monitor? [ also have a TS2040 printer but no power supply, Can you suggest a source? I’m also looking for sources of TS1000 programs on cassette, books, magazines, and user group newsletters, can youhelp?” Doug Wagoner, E. 4825 St, Anthony Lane, Post Falls, Idaho 83854.

3) FOR SALE: (a) Fully assembled Hunter Board to provide extra non-volatile memory for the 2X81 or TS1000, for sale for $30. (b) Memopac 32K ram pack for the 2X81 or TS1000 or TS1500, new in box with docs for sale for $20. (c) Two Beeper kits for the TS1000, ZX81 or TS1500 to give sound for keypresses for sale for $10 each. (d) Brandnew A & J wafers for the TS1000 model, clear, for sale for $2 each, minimum of 3 per order. Send check or cash to Eliad Wannum, c/o UPDATE! Magazine, P.O. Box 1095, Peru, IN 46970.

4) Does anyone still use the Zebra disk system? | just came by two. Les Cottrell, 108 River Heights Drive, Cocoa, FL 32922-6630,

5) FOR SALE: | just got anew IDE drive set up for my QL, so am now looking to sell my Falkenberg Hard Drive System. It includes the drive interface board, MFM Omti Controller, either a bus driver beard for a Gold Card or one for a Trump Card (let me know which you will be using it with) an MFM cable and a hard drive case with power supply. It all works great; itis just that I only have so much room, and need to make room for new stuff, while making sure that someone can get gocd use out of my used, I am selling ALL OF THIS for the low price of $225. It will easily work on any MFM hard drive from 20 upto 416 MEG of memory! This is a great deal for someone. Send me either a money order, or I can ship it C.0,D. Eliad Wannum, c/o UPDATE! Magazine, P.O. Box 1095, Peru, IN 46970.

AS ALWAYS ADS OF THE SORT LISTED ABOVE ARE FREE FOR SUBSCRIBERS TO UPDATE! MAGAZINE. THESE ARE FOR INDIVIDUAL USERS, NOT FOR DEALERS TO USE TO ADVERTISE THEIR COMPANIES (FOR THOSE PLEASE MAKE ARRANGEMENTS FOR AN AD).

25

REVIEW OF Chris Boutal's GENEALOGIST 3

Page |

by Hugh Howie

In a group of people gathered around the glowing embers of a fire of a winter evening, the talk can touch on many things, and invariably someone will say something which prompts another to say remember-~~" and the talk will often turn to reminiscences of a family member, relation, or acquaintance, who did this, that or something clse, then the tales start to flow as to who what where and when. And that is where a programme such as GENEALOGIST 3 comes into its own.

This is a programme by Chris Boutal of the United Kingdom. Great Britain. England, Scotland, Ireland, Wales, cali it what you wish. The lands of history and legend. The lands of brave Knights and Pair Damsels. The lands from where so many of us in Canada and the USA came. The land which so many still call "HOME" But do we really know where we came from?

We all know some of our ancestors, but can we put it together in some order and sequence, with the correct dates and times and facts? Who married who, and who begat who?

GENEALOGIST 3 is the programme to do this for you. All you have to do is provide

the data and enter it, and the programme takes over and does all the work for you.

Enter names and dates and relationships, and before you realise what has happened you will be able to see a "Tree" grow from almost nothing.

The system is very comprehensive. All your family records, Births, Deaths, Marriages, Burials are stored, and can be displayed on screen, or sent to the printer in many different formats to suit your specific requirements.

GENEALOGIST 3 will keep track of census returns and certificates, and any other detail you have in mind. It has very

complete search and indexing facilities.

You want to know your ancestors? your pedigree? Who are the heads of various Khere you

family groups? Who you are?

came from? No, it will not tell you where you are going, that's for you to solve, But T can vouch for this, it will make you want to KNOW the past! You will spend so much time in research into your family background, you will leave a lot of things unattended.

From the various Family Groups which you assemble as you enter data, a tree can be generated, and displayed on screen or paper for your perusal and reference.

You can make amendments to the tree as you look at it, they can be made here or in the Family Group format. The Tree can be sent to the printer and this will give you a wonderful display of all the Ministers and Rogues and Vagabonds and Highwaymen, who are part of your heritage.

GENEALOGIST 3 is for the Pointer Environment, but can also be operated very efficiently from the keyboard if you don't have a mouse. Selection of facility can be made by using the arrow keys, or by letter selection from the menus, or mouse. Very versatile.

I have had Genealogist version 1 and version 2. When Version 3 came along T debated whether I needed it, and after a lot of poking around in the recessed area of the wallet - I came up with a few moths and the necessary moolah to purchase version 3, and T have not regretted it for one instant.

It would appear that when so much keyboard work is required, that the constant work of moving a hand from mouse to keyboard and back again, would be rather tiresome, but this I have found not to be the case. When you are entering data, you will find that the arrow keys are fine and dandy for moving around. But when you start to RESEARCH the data, looking for cross-references etc., does that mouse ever scoot around the screen! Definitely - the mouse is a great advantage ~ but don't forget, if you have no mouse the programme still provides all the facilities required, and at a goodly speed also.

REVIEW OF Chris Boutal's GENEALOGIST 3

Page 2

by Hugh Howie

Speed, now that is something else to be discussed. The full programme requires at least 512 Kb memory, so that lets out Microdrive and bare bones QL. With Trump Card, you have the extra speed, and also the extra memory required. With the Gold Card which is what I use, I find that the programme is fast enough for me. With the Super Gold Card? T am afraid you might burn up the sereen with the extra speed the Super is reputed to have,

But then again, we have an author who thinks of those with less than the epitome of QL's. We have an author who thinks of the person who only has the basic 128k machine (are there any left?) There must be a few somewhere as Chris has provided a Budget version of GENEALOGIST for those people. And this Budget version is on MDV or Disk! You want you got!

Now say you have been working on an Archive based family, and having problems transferring it to this new system, then for a modest fee (very modest) Chris will convert that to GENEALOGIST for you.

For those who have been using one of the earlier versions of GENEALOGIST, the data made with those versions will not work with Version 3, but once again, all is provided for, there is a conversion programme provided. And it really does work, as I used it myself.

In the manual there is a tutorial family for you to type in, and after following the tutorial, you will have no problem in getting down to your own task. The manual is very well written indeed, with easy and clear instructions as to what to do, and when. There is an excellent "Command Reference" Section, where you can see what each command does, and where it is called from. Printed on pink paper in nice clear distinct black type, it may be thought that the pink paper could be a bit hard to read, but this is not the case, the manual is easy to read, easy to follow, and of great precision.

The programne will take all the data you like to enter, from the heads of

families, which is all that is really required, but also all your brothers and sisters and aunts and cousins. Just about anything you want to put in.

If you want a screen or paper copy of a family tree from the start, or from a midway point, to a midway point - that is what is available.

Let me say here and now, when T say you can have a copy, I mean that you can have a copy ON SCREEN or on PRINTER, so those terms are synonymous. When using the printer the option of Normal or Condensed type is available.

GENEALOGIST 3 will provide a geographical map of occurrences. This is based on the grid system in use in British road maps, and when IT suggested to Chris that the programme was reaching the far corners of the earth where that grid system might not be in use, and that a Latitude & Longitude option be made available, Chris agreed and said that he would look into this, and perhaps introduce it at a later date. But don't let this stop you from acquiring the programme. This is an enhancement that T do not require, and T wonder how many really do. I only introduce those comments to show how Chris has tried to provide everyone with what anyone would like. This "map" facility, will even tell you the distance between two points when using the grid system.

T almost forgot to tell you that it will even provide pictures to go with a Family group. Say you a have a picture of your old Uncle Ned and Aunt Sarah at Xmas,

you do have that picture? Then by use of a Video camera and a digitiser, you can save that picture on disk, and later project that picture on screen. There are even a couple pictures provided as an I can see this programme taking Do you

example, the place of slide shows. remember them?

For those interested in Kings and Queens of Britain, a Royal Tree is provided, just so you see what a tree looks like.

REVIEW OF Chris Boutal's GENEALOGIST 3

Page 3

by Hugh Howie

Do you want to know who is related to whom, and what that relationship is? You got it! D'ya really need to know that "Jo Blo is the second cousin twice removed from Jenny Jewell"? Or that "Dan is the great~great-great~grandfather of Dave? The cross-reference is there.

For those occasions when the spelling of a surname has been changed over the years, that also has been taken care of, as multiple spellings are recognised.

The user is even allowed to make up a customised Research Report to suit ones own requirements, as before making the report, you are allowed to select the details (from a list of thirteen) you wish to appear in the report, but not only that, you are permitted to select whether the report should appear in row or column format.

There is even a "Verify" mode provided. Say you enter the birth of a parent as 1900 and the son as being born in 1905, this "verify" will tell you "40 and 35 have an unlikely generation gap". Plus many other things. (The programme gives each family member its own unique number)

Much of the data is available for export to the Psion suite of programmes. This is to enable you to do further processing that GENEALOGIST can’t do. For example the Pamily Network and Research reports can be exported to Archive. Tree data can go to Abacus. Place/Time data can be exported to Easel. Those same files can be imported back into Genealogist from Psion.

The programme comes set up for a red screen with white lettering, but if you don't like that you are provided with a facility to change that to white on black or almost any other combination you can think of. You make your own colour combination choice for any window.

As I am also writing a lot stuff dealing with such things as movements, occupations, anecdotes, family histories and a whole lot of interesting, and some not so interesting facts, that kind of

stuff, I have GENEALOGIST and

text®7 plus# running together, this way T can quickly switch from one to the other as T progress. In fact it is possible to have two TREES going at the same time - but watch your memory!

Now to a neat little thing. As the programme starts, there is a little square clock that comes onto the middle of the screen, with real hands! and it keeps popping up as you change from one facility to another - just to remind you of the passage of time! Neat neat neat.

You don't want to keep a record of your family? Then use this programme to keep track of those cats and dogs and horses you breed, it can be used for just about any record of ancestry or breeding you wish.

Now where is this programme available? Why, from my old friend:-

DILWYN JONES COMPUTING 41 BRO EMRYS, TAL-Y-BONT, BANGOR GYNEDD, UNITED KINGDOM, LL57 3YT

The last price I have is from the December 1993 Price List but I would advise you to check first, I don't think the price has gone up in that time, but then the time between writing and publication is not always predictable.

Genealogist 3 (Pointer) £60.00 Disk only Genealogist 2 £30.00 Disk only Genealogist 1 £19.50 Disk only Genealogist Budget £12.00 MDV/Disk

But if you really are serious about this, I would recommend the version 3 (Pointer)

One final thing which I consider to be very important, what happens when you have a problem? Why you write to Chris Boutal and the answer is on your desk before you know it. Service is terrific. But then if you have a programme as terrific as this, then you would also expect the service to be terrific and it is.

940910

26

QLAMBer UPDATE by Al Feng

By the time you read this, the latest "variation" of the QLAMBer program should have been out-and-about for several months.

The good news is that variation 2x001 can automatically identify

the "_doc" extension of a standard Quill/QLWP file, and produce a more easily read HARDCOPY than before. The HARDCOPY output will

be something like this, but full width, and in the font to which

your printer is set:

vrmlgdf0

& H page nnn

followed by your document ... lacking the effects of control co des; but, having paragraph breaks, and a Form_Feed at the end of the meaningful text.

This does not replace printing from within Quill/QLWP. It is me ant to make the program's HARDCOPY function more useful.

Note that there is no word-wrap, per se. Words are split if they are incomplete before the end of a line, and are finished after the carriage return.

Program LISTings & _lis/_txt files should be SPooLed within QLAMBer from a file SAVEd/COPied to RAM1_ (for example).

Adjust DATASPACE Please

If you happen to get an "adjust DATASPACE please" message when trying to use QLAMBer it probably means that your QL has a GOLD CARD (or, faster?) with MINERVA 1.97 (or, higher?) and have implemented a "misbehaving" TURBO TOOLKIT (or, the like -- for example v3.20) along with pre-emptive TK2_ calls (e.g., SDP_KEY), and/or using a statement within a long SuperBASIC BOOT. WHEW!

The main culprit is apparently the TURBO TOOLKIT in tandem with the later MINERVA code(s). I have to find my MINERVA manual/disk to verify this, but I was told that there is a substitute TURBO TOOLKIT. A temporary fix is to use an older TURBO TOOLKIT (such as v2.05), or to simply "EXEC_W flpl_QLAMBer" from the command prompt.

Sorry for this inconvenience. As many of you may know, the

MINERVA ROM code gets more and more finicky (i.e., less sloppy forgiving) as the version number gets higher.

HAPPY TRAILS, AND COMPUTING, TO YOU

27

7

NUG OL Public Domain Library

ABAtra_exp Psion’s Abacus file format explained SAVER_LZH Pointer screen saver. Set up as a hotkey ANSISR_zip |_ Strips ANSI codes, uses TK2 and QLib SPECKE zip __| 4 graphic files of the Spectrum keyboard BASCON_zip | SB Extension for Linking in QJump |_SPECTATR_aip_| Spectator v1.00 - A Spectrum emulator L | Configuration Blocks | Unzip30 | v3.0 The Latest One. | Co&dl_zip C68 4.12 disk 1. ‘C” Main systemdisk | | | Needed For These Files H The "STANDARD for *C’" | 7 UNZIP9_ exe | Unzip program V 0.96. by Jan C68d2_ zp | C68 4.12 disk 2.°C* , Extras ete. | Bredenbeek, EXE form (early version) | C68d3_zip C68 4.12 disk 3.‘C” Master doc disk-C68 VERS_zp Provides info about other QPTR progs. | CFG zip "Place QPTR config. blocks into ‘C' VIEW _LZH Pointer environment utility H CHECK _zip |_SB ext. checks for non-numeric INPUT XCHANG_azp Psion’s Xchange v3.90 now PD (Quill, | CIRCUIL zip Misc. circuit diagrams and pin-outs I | Archive, Abacus, Easel in one package) CRITMS BAS _| Critical Mass Game from 88QL World | | XPR210 zip | Latest file transfer protocols for EM v4.0 DISKS _txt File on using Teac 2.88Mb disk drives | [XPRLIB zip XPR library for QEM v3.5, for 3.5 & 3.6 DIEP_zip DeskJet printer utility, prints envelopes 21P22_zip Zip/Unzip version 22 (revised) DIWDEM_zip Demo copies; DiscCOVER, MULTI- ZIP30_exe Zip v3.0 (the \“ES\” version) (re revised) DiscOVER, TexTIDY & FLPClone j Zip txt Revised Docs on how to use Zip/Unzip EMAIL, txt INTERNET, addresses of other QL’ers | | ZIPUTIL_zip Zip Utilities v3.0. Dealing with zip files FILEIN_ zip Pointer environment utility ZXTRICA_zip | Xtricatorvl.10 ZX-81 emulator | | FNTRC_zip Source files (SB and Metacomco | Spectrum/QL H Assembler) FontEditor v.2.3 i Fimo Zip aL embieD F wal FidoNet Echo Mail : Related Files for the PC/Clone i |_ messages, 8 merged files so far. | LENV_bin ; Code compatible with QXL and SMSQ [FONTED ) zip ' FontEditor v.2.3 for the Sinclair QL | | JPP_ap Excellent Spectrum Emulator for 386SX HDRRST_BAS _| Restores file header of transferred files L : or greater PC HISTDV zip _| Last line recall history device Make C zip | C68 files MAKE & CPC for the QXL IBMDSK zip _| Access IBM disks. TK 2 and 3.5 “drives QDIR_zip Looks at QL disk DIRs on a PC LHQ zip "[LHQ V1.0, File archiver and extractor QUSCR._zip PC program to view screen files, can MAIL zip Mail list program for ARCHIVE (convert to GIF minnie_zip File detailing the Minerva ROM 1.93+ QLTOOL ap j Lets a PC look/examine QL disk MODPSI zip __| Mods for the PSION suite of software QxLfint zip | For the QXL card. Converts a disk to QLGIF_zip | Code/decode GIF. By Carlos Delhez 1993 - DOS format (same as FORMAT?) | (QPACER ap | QPac2 8001 Boot Generator v1.1 ZROV201A_zip 17a ot Spenam Emulator V2.01 by Point_ziy i as QL FidoNet Echo Point ss Paltcoes ap Coeateg LL DOWNPOPUP mecca | 0V2018, ap LATEX and POSTSCRIPT DOC fles for | QED zip | QED 1.01 A general purpose editor v2.01 780 Spectrum , | QEM zip First? version of QEM For the MAC QEM040doc_Zi Doc files for QEM v4.0 CP2MC1 zip Converts text/Quill files to the MAC. QEM24_ zp | QEM v2.4 early version of QEM QEM35U_rip__| QEM v3.5 upgrade QEM 3.0+ to 3.5 QEM36U rip | QEM v3.6 upgrade fiom v3.5 Donated to Tf ‘S NUG | QEM40_zip QEM v4.0 latest version of QEM? | QEMV32_zp | QEM v3.2. Excellent terminal program _, by Paul Ke olmgren LHD | ing uj IBM i QED _2e anemone ne a OL. pbs H Files were downloaded from various BBS 's QLIBRT_ap ; QLiberator runtimes version 3.36 j QUSPIT_zip ZM-1 Spectrum Emulator & demo | | QSI_zip | Determines speed, QXL, Gold Card Set of 9 5.25” disks. All for $9.00 | QUADRI zip | Quadratic Equation Plotter Order from: | Quantal/2_zip eee BBS Messe BOE Tce | John Donaldson Quilt “exp [ Psion’s QUILL file format explained | 835 Foxwood Cir (RDS _zip {3 SuperBasic progs rand dot stereograms + | RELYQL_txt__| Text describing modifications to the QL_| Geneva IL 60134-1631 ' RESCUE zip | Floppy Disk Rescue 8, String Search ! 708 232-6147 Ruleta_ap ; Roulette game i

26

810-254-9878

24 hours a day, 300°1200/72400 baud (a new high speed modem, up to 14400 baud will be online soon)

QBox-USA is a BBS set up by GL enthusiasts For QL enthusiasts.

The sytem runs entirely on a Sinclair QL. We maintain a link (Fidonet> with European BBS's that carry QL related message areas. With QBox~USA North American QL users can keep in touch with our Fellow QL users in Europe and keep up with the latest developments For the QL and QDOS.

We are currently carrying the Following message areas: INTERNATIONAL QL, MINERVA, QUANTA and QBOX.

There are also File areas that contain many programs available For download. Just a few of the Files available are: IPI, QFAX, 2Zip/Unzip, QLTerm, QLGIF and many more! There is no charge to use QBox-USA other than normal phone call charges. Please give QBox-USA a try!

We look Forward to your call!

—_—

produced using Page Restener 7 |

HESEEREEE ERTS ER ARE ESSE SESH ESE ESET SEER EERE SEE SETS EEEE SRE SESE SES ESE ESEEE

COMPUTER CLASSICS *#* FOR SALE *#*

COMPUTER CLASSICS RT 1, BOX 117 CABOOL, MO 65689 IBM XT COMPUTER $200 +shipping Includes 10 MEG hard drive, 640K RAM, 360K floppy, serial port and parallel port, monochrome monitor,

and keyboard.

Repair Service for America’s Favorite Home Computers and their accessories

*

* *

* * * * * *

* * IBM 286 COMPUTER $350 +shipping * ADAM ATARI COMMODORE Includes 20 MEG hard drive, 1MB * RAM, 1.2MB & 1.44MB floppies, * serial & parallel ports, keyboard, * *

*

*

*

*

+

*

*

*

*

*

*

and monochrome monitor.

IBM OSBORNE SINCLAIR

TIMEX TI TRS-80

ee ee ey

QUAD DENSITY 5 1/4 in. (720K) half height floppy drives $25 each or 10 for $150

BUY - SELL - TRADE - UPGRADE

Write for prices SASE appreciated IBM HARD DRIVES, CONTROLLERS, and RGB COLOR MONITORS Ph. (417) 469 - 4571 Write for prices *

* * * * + = + * * * * * * * s * * * * * * * * ' * + SRST T ESET HASSE EKE SES TEST ETH T ESS SAS SESE SESH LESS SSS KE SKESSAH EASA ELE TED

CABLE COLUMN By Bill Cable

ARCHIVE SERIES PART 18 : FormEd - A FORM EDITOR AND PRINTER FOR ARCHIVE DATABASES (2nd and final part)

FormEd as listed last time worked well for displays but the printing part had not yet been completed This time we will list the complete program including what was listed last time This has been a rather involved project but | am pleased with the result. It can nicely display and print any ARCHIVE Database in many different and useful ways The user interface is easy to use and different print fonts are supported (Bold, Condensed, Italic, Underline, Double Wide). Epson print controls are used. If they don't work for you get out your printer manual and alter procedure 'set_fonts’ so they do. The procedures

proc closey:!$

close {$

endproc

proc close_all

while 1 close endwhile

endproc

proc formed

rem Written by Bill Cable 6/94 and released to public domain error form_check. if ermum()formed1 else :formed3 endif endproc

proc formed1

mode O'setup: error close_all:set_fonts

listed here need to be merged with the group3 procedures finished in Part 14 of this series. Notice that procedure ‘close_all’ in group3 is incorrect, The one listed here is correct Correct it in group3 procedures or it will replace the correct one when you merge the group3 procedures in. Those wishing to skip all the work send me a disk and retum postage and | will send you a copy of Formed.

Forms can be designed on screen for any ARCHIVE database for browsing and printing and saved for later use. Its primary purpose will be for printing out the forms or reports to your printer such as address labels from an address database or financial summaries from a financial database. It is slow at least if you don’t have a Gold Card or better but handy Get into the ARCHIVE editor and start at it When done merge the group3_prg procedures and save as ‘formed’ To run simply load into ARCHIVE and type - formed<ENTER>. Play to feam allits features and uses. Itis quite flexible

fet h$="FormEd - A Form Editor, Creater, and Printer for ARCHIVE Databases"

heady;h$: spoolon screen :form_instruct: spooloff

yom,21,"Print these instructions" if ans$="y"

Iprint hS: Iprint tab 55,"Bill Cable 9/94”: Iprint :form_instruct: endif device;21 if ans$="": error close. error looky,fdS+fn$+"1","11"

if ermum(): if ermum()<>100:erry:23,"accessing "+fd$+fn$+"1": endif yom;23,"Create form databases on "+fd$+" now": if ans$ else : error form_create: if ermum() eny:23."making “+fd$+fn$+"1" formed: retum: endif: endif

fooky:fdS+fn$+"1"."f1" endif

error looky;fd$+fn$+"2","12": if ermum():ery:23,"accessing "+id$+in$+'2" acky.23,"You must fix":formed: retum endif :formed2

endproc

proc formed2

heady,"FormEd - Choosing a Form”. use "{1": if count()>0

yom;4,"Print list of currently defined forms in "+fd$+" Form File now" y"form_print1: endif . endif . error closey;"s"

: while len(ans$)<1 or len(ans$)>8.

jame of form [1-8 characters or <ENTER>=quit]"

" error close_all: mode 1: stop : endif endwhile

let form$=ans$: use "f1" locate form$: if form_name$<>form$ yom.8,"Form "+form$+" not defined. Add it now"

if ans$="n":formed2: retum

ifans$:

“Location of form databases (form_fm1,form_fm2) eXit to stop" il: mode 1: stop : endif : let fd$=ans$: let fn$="form_fm"

“formed: retum

else form_new: close "f1" looky:faS+in$+''1",“f1"" locate forms: endif: endif

let sd$=dbf_loc$: let sn$=dbf_name$: fet ans=1: while ans and sn$<>"" error looky;sd$+sn$,"s" let ans=ermum()

if ermum():erry,10,"Problem accessing "+sd$+sn$

yom; 11,"Change device or name": if ans$="n":formed2. retum : endif “Database” let sd$=ans$

yor, 20. "Print list of fields of "+sd$+sn$+" used in "+form$+" now" if ans$="y"form_print2: endif -formed3

encproc

proc formed3

mode 0: let fig=1 form_dispiay

while print at 0,3,upper(form$)," form using “.sd$+sn$

latabase name (with extension)" sn$: let snS=ans$: endif endwhile

print with ".count("s’);" selected”; tab 57;

key_choice,23," FORMED MENU "."","Edit Print Browse Select/order eXit',"epbsx" if ans$="x":yom;23,"Work with another form": if ans$="y":formed2: retum

else : error close_all: mode 1: stop: endif

else : if ans$="e"-form_edit;1,high,1,1,wide,1:form_display

else : ifans$="p"-form_print

else : if ans$="b" form_browse

else : if ans$="s". use “s": mode 1. cls ; print

print "FormEd is halted. Type desired ARCHIVE Select, Order, or Reset Command" print "Then type : formed<ENTER? to restart” let flg=0: endif : endif: endif : endif: endif : endwhile

endproc

proc form_browse

local a$,f3,i: while 1: use “s"

key_choice;23," BROWSE ",","Next Back Scan Rec# Find More Print exit","nbsrfmpx" use “f1": retum : endif : let aS=ans$

if a$="n": next: eise : if a$="b": back

else : ifa$="s".msg;23,"Scan by Browsing through 10 records"

let i= 1: while i<10 and not eof(): next :form_fvshow1;"": use “s”: let i=i+1: endwhile : next else : if a$="r':inpy;23,"Move to record {0-"+str(count("s")-1,2,0)+"]"

position vai(ans$): else : if a$="f":inpy:23,"Enter text to find": let S$=ans$

msg;23,"finding “+f+"": find

else : if aS="m":msg;23,"more finding "+f$+"": continue

if not found{) acky;23,"More “+f$+" not found": endif

else : if a$="p" form_print

endif : endif . endif : endif: endif : endif : endif :form_fvshow1;™: endwhile

endproc

proc form_check

use “s"

endproc

proc form_color;!,i$

ice,|,""," for “+i$+" color’,"[Black, Red, Green, White]","brgw"

let ans$="Black - 1": else : if ans$="r": let ans$="Red_ - 3"

else : if ans$="g" let ans$="Green - 5" eise ; let ans$="White - 7". endif : endif : endif endproc

proc form_create

msg;23,"creating form file 1 : “+fd$+fn$+"1" create fd$+in$+"1" logical "f1" form_name$

form_desc$

form_paperS

form_ink$

form_height

form_width

form_line

form_text$

form_font$

dbf_locs

dbf_name$

dbf_desc$

endcreate

order form_name$;a,form_line;a: close fi" msg;23,"creating form file 2 : "+fd$+fn$+"2" create fd$+fn$+"2" logical “f2"

field_form$

field_line

field_column

field_name$

field_number

field_start

field_width

field_formatS

field_join

field_joinS

endcreate

order field_form$;a, field_line;a,fietd_column;a: close "{2" endproc

Proc form_display

use "fi": locate form$: let wide=form_width: let high=form_height

let tos=int((21-high)/2): let cos=int((79-wide)/2)

let fp=val(form_paper$(9)): let fi=val(form_ink$(9))

if fp=1: let dp=3: let di=7: else : let dp=1: let di=7: endif

paper dp: ink di: cls : fet k=form_width

let i=1: while ishigh+1: locate form$,i

print at i+los,1+co8; paper fp; ink fiform_textS,

let iti+ 4: endwhile -form_fvshow1,""

endproc

proc form_edit;si,n!,al,sc,nc,ac

local IIc i$,ij,«i3.

close “f1": open fd$+fn$+"1" logical "{1" locate form$.1

close "f2"; open fd$+fn$+"2" logical "{2": locate form$,1,1: use “f1"

if sl>22: let sl=22: endif: if nl>22-sl: let nt=22-s!: endif

if sc>79: let sc=79: endif : ifnc>79-sc: let nc=79-sc: endif

let n=si+nI-1: if al<s! or al>ni: let al=s!; endif

let nc=sctnc-1: if ac<sc or ac>ne: let ac=sc: endif

let li=al+los: let lc=act+cos

while 1: use “f1": locate form$,al

print at 23,1;"EDIT FORM - Move and type text, <CTRL>1 Field, <CTRL>2 Font, <CTRL>0 Exit", print tab 80; at 0,68;"[".al:",",ac,"] (":form_font$(ac to ac):")"; tab 79,

print paper fp; ink fi, at al+los,actcos,chr(14);

let iS=getkey(): let =cade(i$)

if i=144: close "f1": close "f2":looky;fd$+fn$+"1","f1"

looky:fd$+fn$+"2","{2": use "f1": retum : endif

if i<>145 and i<>146

if =10 or i= 11: let j=3: else : if =12 or =13: let j=10

else : let j=1: endif: endif

if i=2 or i=10: let al=al-: if al<si: let alent: endif

alse : if i=3 or i=11: let I+j: if al>nl: tet al=si: endif

else: if =4 or i=12: let c+: if ac>nc: let ac=se: endif

else ‘5 or i= 13: let ac=ac-: if ac<sc: let ac=nc: endif

endif: endif : endif: endif

if >31 and i<127: print paper fp, ink fi, at altlos,ac+cos;i$,

locate form$,al: let [$="*"+form_text5+"*"

let [$=]$(1 to ac)+i$+j$(ac+2 to len($))

let form_text$=j$(2 to ten(j$)-1): update

let ac=act1: if ac>nc: let ac=sc: endif: endif

if Il<>al or Ic<>ac: let ll=al: let Ic=ac: endif

else : if =146

key_choice:23," SET FONT".."Normal Bold Itallic Underline Wide Condensed”,"nbiuwc" let jS=upper(ans$):defy.23,"Font Width [1 to "+str(nc-ac+1 ,2,0)+']'str(nc-ac+1,2,0)

let ans=val(ans$): if ans<1 or ans>nc-ac+1: let ans=1: endif

let i$=form_font$: if ac>1: let k$=i$(1 to ac-1): else ; let kS="": endif

let form_font$=k$+rept($,ans)

let i=len(form_fontS)

if i<len(i$): let form_font$=form_font$+i$(i+1 to nc)

endif : update : else

key_choice;23,”" FIELD EDIT",""","Add Remove Show List eXit","arsix"

if sn$<>"" and ans$<>"x": if ans! ":form_fadd,al,ac,ne

else : if ans$="r": use "f2": locate form$,al,ac

if field_form$=form$ and field_line=al and field_column=: yorn:23,"Remove "+field_name$+" from specifed posi if ans$="y" print at al+los,actcos; paper fp, ink firept(" " field_width);: delete : endif else ‘acky;23,"No field value starts at current cursor position”. endif else : if ans$="I":yorn;23,"Listout fields on form to printer now"

if ans$="y".form_print3: endif

else :form_fvshow1 ;chr(5):acky:23,"Showing field widths by underline" endif: endif: endif: endif: endif _ endif : endwhile

endproc

proc form_fadd;al,ac,nc

use "f2": let fleld_form$=form$:form_fpick

let field_name$=fieldn(field_number,"s")

let field_line=al: let field_column=ac

defy;23,"Start at field charcter’,"1". let ans=val(ans$)

if ans<1 or ans>255: let ans=1. endif: let field_start=ans defy,23,"Field width" str(nc-ac+ 12,0): let ans=val(ans$)

if ans<1 or ans>nc-ac+1: let ans=nc-ac: endif: let field_width=ans if fieldt(field_number,"s")

key_choice,23,"","Field format’,"Normal Upper Lower’,"nul” else key_choice,23,","Field format’,"General Decimal(2) Integer',“gdi"

endif. let fieid_format$=upper(ans$)

yom:23 "Wil this field be joined with a field following it’

i let field_join=1

inpy.23,"Joining symbol(s) (ie.'' or’,’ or '/’,<ENTER> = none)"

fet field_join$=ans$. else : let field_join=0: let field_join$="": endif

yom,23,"Add "+field_name$+” now”: if ans$="y": append

if field_join print at 22,1;"Joins “:field_name$; tab 79,

form_fadd,al.ac,nc: return : endif

locate formS,al,ac:form_fvshow2;":form_fvshow3;"": endif ‘liny;22: use ‘f1" endproc

proc form_fpick

while 1 inpy,23,"Field of interest [0-"+str(numfid("s")-1,2,0)+"]"

let ans=val(ans$): if ans<0 or ans>numfid("s")-1: let ans=0: endif

let field_number=ans:yom:23 fieldn(ans,"s")

if ans$="y" retum : endif : endwhile

endproc

proc form_fvshow4 ;u$

print at 0,57,"at Rec# ";recnum("s"), tab 79;

use “f2 locate form$: while not eof{) and field_form$=form$. form_fvshow2,"":form_fvshow3,u$: next: endwhile : use “f1"

endproc

proc form_fyshow2;!$

focal i,j,k,!,c,|s,fs,fw: let =field_line: let c=field_column

let ans=field_number. if fieldt(ans,"s")

let ans$=fieldv(ans,"s"): if field_format$="U": let ans$=upper(ans$)

else : if field_formats: let ans$=lower({ans$): endif : endif

else : if field_format$="G": let ans$=str(fieldv(ans,"s"),4,0)

else: if field_format$="D": let ans$=str(fieldvians,"s”),0,2)

else ; let ans$=str(fieldv(ans,"s’),2,0): endif : endif : endif

let Is=len(ans$): let fs=field_start: let fw=field_widtn

if fs>1: if Is<fs: let ans$="": else : let ans$=ans$(fs to Is): endif : endif

if len(ans$)>fw: let ans$=ans$(1 to fw): endif : let ans$=I$+ans$

if field_join let ans$=ans$+field_join$. next

if =field_line and c=field_column and not eof():form_fvshow2;ans$: retum

else back endif: endif

if len(ans$)>wide: let ans$=ans$(1 to wide): endif

endproc

proc form_fvshow3;u$.

local I,c,w,s: let l=field_line: let c=field_column: let w=field_width

if len(ans$)>w. let ans$=ans$(1 to w): endif

print at I+los,c+cos; paper fp; ink fi;u$;ans$, tab cos+w+c;u$

endproc

proc form_instruct

Iprint" 1. This program allows you to create forms that incorporate your own" Iprint” databases. Good for printing them in a structured way or as labels." Iprint " 2. Two databases (form_fm1 & fotm_fm2) hold form information. If they” iprint" don't exist already the will be created. Please back them up.”

Iprint" 3. The database you use on a form will be accessed for read only. Using" iprint” the form display you can browse or print it as selected/ordered.”

Iprint 4, Each form has an identifying name (1-8 characters) and is saved for" Iprint" later access. The form is Edited on screen by typing text at the”

Iprint" cusor position with curosr coordinates shown in [] in upper right."

Iprint "5. <CTRL>1 when editing allows Adding and Removing Fields at cursor." Iprint 6. <CTRL>2 when editing to define Print Fonts for areas on form. Upper" Iprint" night of screen show Font at cursor. Normal, Bold, Itallic, Underline" Iprint" Wide,and Condensed possible. For non Epson change procedure set_fonts.” Iprint" 7. To do the ordering and selecting of your database the program is" iprint" halted so you can type in the Select, Order, or Reset command at" Iprint" the ARCHIVE prompt >’ and then restarted by : formed<ENTER>." endproc

proc form_new

close "f1". error openy;fd$+fn$+"1",'f1" Jet form_in let form_text$="": let form_font$: while 1:heady;"Adding New form : "+form$: let form_name$=form$ print at 3.1,"Form information"

inpy.5,"Form description”: let form_desc$=ans$ form_color,6,"Form paper’ let form_paper$=ans$

print at 6,0," Form paper color : ";ans$; tab 80;: let form_ink$=ans$ while form_paper$=form_ink$:form_color;7,"Form ink" let form_ink$=ans$: endwhile print at 7,0;" Form ink color ins$; tab 60; defy;8,"Form width (10-78)","78": let ans=val(ans$) if ans<10: let ans=10: endif: if ans>78: let ans=78: endif let form_width=ans: print at 8,0:" Form width : “ans; tab 80 defy,9,"Form height (1-20)","20" let ans=val(ans$) if ans<1. let ans=1: endif : if ans>20: let ans=20: endif let form_height=ans: print at 9,0," Form Height: “.ans, tab 80. ise information from a database on this form" y": print at 12,1;"Database information”; tab 80; device; 14,"Location of database to be used in form" let dbf_loc$=ans$: print at 14,0;" Database location inpy;15,"Name of database to be used in form" *"): let ans$=ans$+"_dbf” endif let dbf_name$=ans$: print at 15,1;"Database name : ",ans$; tab 80; inpy:16,"Description of database": let dbf_desc$=ans$: endif yorn;23,"Add form now" if ans$="y": append i=1: let j=form_height "Jet form_paper$="" let form_ink$="" let dbf_loc$="". let dbf_name$: f_< while i<=j: let form_line=i: let form_text$=rept(" "form_width) let form_font$=rept("N" form_width) append : let i=i+1: endwhile : retum ; endif yom;23,"Still want to add a "+form$+" form’. if ans$="n": retum : endif cls : endwhile endproc proc form_print local i$ j$,h1$,h2$, br.eripp,fpp,norm$,bar$,bp.tp, atline,formct,pg$,nl: use "s” let bp=recnum(): let norm$=rept("N" wide): let bar$=rept(’-", wide): let ni=high: let ffp=0 let i$=str(count()-1 2,0): let j$=str(recnum(),2,0)iny;23 defy;22,"Begin print at record [0-"+i$+"]" jS: let br=val(ans$) if br<0: let br=0: endif : if br>count()-1: let b=count(}-1: endif if br>recnum(): let j$=str(br,2,0): endif defy;23,"End print at record ["+str(br,2,0)+"-"+i$+'}" J: tet er=val(ans$) if er<br: let ebr. endif : if er>count()-1: let er=count()-1: endif let pg$="n": let h1$="": let h25="": let lpp=0 if br<>erliny;23:yorn;22,"Print heading for the "+str(er-br+1,2,0)+" records”: if ans$="y" print at 23,1;"=> ";: input h1$:liny;23: print at 23,1;"=> ";: input h2$: endif if hi$<>"" let tp=2: if h2$<>"": let tp=4: endif : endif liny;23:yom;23,"Fit forms on a page": let pgS=anss: if pgS="y" defy:23,"Lines per page ['+st(nl,2,0)+"-200","66": let Ipp=val(ans$) if Ipp<ni: let Ipp=ni: endif : if lpp>200: Jet Ipp=200: endif let fpp=int((ipp-tp)/nl) if fpp>1:defy:23,"Form per page [1-"+str(fpp,2,0)+'T"str(fpp,2,0) let fpp=int(val(ans$)): if fpp<1 or fpp>(Ipp-tp)M!: let fpp=int((Ipp-tp)/nl): endif endif : endif : endif if er<>br and tpp ‘Page length = "+str(lpp,2,0)+" , Heading = "+str(tp,2,0)+", Forms per page = "+str(fpp.2,0) S retum : endif : endif use "f1": locate form$: next fet atline=tp+1: let formct=1 rinting”: let in=len(form_textS): let blk$=rept(’ ",In) Iprint h1: if tp=4: Iprint : tprint h2$: endif : Iprint bar$: endif use "s": position br: while recnum("s")<=er and not eof("s’) use "f1": locate form$: next : while not eof() and form_name$=form$ let |$=form_text$: let f$=form_font$: let =form_line: use 12": locate form$,| let ans$=": while not eof() and field_form$=form$ and field_line=I let fl=field_line: let fe=field_column if fc>len(ans$)+1: let an: ins$+$(len(ans$}+1 to fc-1): endif form_fvshow2,ans$: next : endwhile if len(ans$)<len(I$): let ans$=ans$+l$(len(ans$)+1 to len(i$)): endif 2: let sf$="": let ef$="": let HS=f1 .form_font$(1) "let sfS=bolds$: let ef$=boldes let sf$=conds$: let ef$=conde$ is$: let efS=italeS unders$: let ef$=undereS "W" let sfS=wides$: let ef$=wideeS

ins$, tab 80;

endif : endif: endif _ endif : endif

: while i<=In.

i=1 and (ans$=bik$ or {1 form_font$=norm$). let i=len(ans$) else «if f$<>f1 form_fontS(i): let iS=f1 form_font$(i)

3 =" et S="N"

let nsf$=bolds$: let nef$=bolde$: tet If$="B"

"C" let nsf$=conds$ let nef$=conde$: let f$="C" let nsf$=itals$ let nef$=itale$. let fS="I" undersS. let nef$=undereS. let f$ else . if $="W" let nsiS=wides$ tet nef$=widee$. let IfS= endif. endif: endif endif endif

Iprint sf$+ans$(\p-1 to i-1).efS,. let sfS=nsfS. let efS=nefS: let Ip=i+1 endif : endif: let =i+1: endwhile

if Ip<=in: Iprint sf$;ans$(ip-1 to In); endif: Iprint ef: let efS="": let IfS: use "f1": next : endwhile : use "s" next. let atline=atine+high

if pg$="y’: if formct>=fpp: let i=atline: while i<=Ipp: Iprint : let =i 1. endwhile

if tp and recnum()<=er and not eof()

(print h1$: if tp=4: Iprint : print h2$: endif : Iprint bar$: endif: let formct=1. let atline=tp+1 else : let formct=formct+1: endif : endif

endwhile : use "s": position bp: use “f1"

endproc

proc form_print1

msg;23,"Printing listing of defined forms"

Iprint : Iprint "FORMS DEFINED IN FILES form_fm1 AND form_fm2 ON “fd$

Iprint tab 60;date(2)

Iprint : Iprint : search form_line=0

while found(): Iprint "Form name : ",upper(form_name$)

Iprint " Description : ";form_desc$

Iprint" Form paper m_papers; tab 30,"Form ink : ";form_ink$

iprint" Form length : “.form_height; tab 30;"Form Height :".form_width

if dbf_name$<>"" Iprint" User database : "dbf_loc$;dbf_name$

Iprint” Database desc : ",dbf_desc$: endif

Iprint : iprint ; continue : endwhile ‘liny,23.

endproc

proc form_print2

msg;23,"Printing listing of "+sd$+sn$+" field names"

Iprint : Iprint "FIELDS OF DATABASE ";sd$;sn$;" USEABLE IN FORM “.upper(form$) Iprint tab 60;date(2)

Iprint : let =O

while i<numfid(): Iprint i; tab 5:fieldn(i,"s"): let =i#1: endwhile sliny,23

endproc

proc form_print3

msg;23,"Printing fields on form "+form$.

Iprint : Iprint "FIELDS OF "+sn$+" DEFINED ON FORM - “tupper(form$)

Iprint tab 60;date(2)

Iprint : print : use “f2": locate form.

Iprint "Line/Column Name Start Width Format Join Symbol"

while field_form$=form$ and not eof(): Iprint

Iprint "[':fieid_line;",":field_cotumn;'}";

Iprint tab 15;field_name$; tab 30;field_start; tab 40;field_width;

Iprint tab 50;field_formats; tab 58;field_join; tab 64;"";field_join$;""

Iprint : next : endwhile ‘liny;23

endproc

proc openy;d$,!$

msg;:23,"open access of “+d$: open d$ logical I$

endproc

proc set_fonts

let pe$=chr(0)+chr(27)

let bolds$=pc$+chr(69): let bolde$=pc$+chr(70)

let conds$=chr(0)+chr(15): let conde$=chr{0}+chr(18)

let itals$=pc$+chr(52): let itale$=pc$+chr(53)

fet unders$=pc$+chr(45)+chr(0)+chr( 1): let undere$=pc$+chn45)+chr(0)+chr(0)

let wides$=pce$+chr(87)+chr{0)+chr( 1): let widee$=pe$+chr(87)+chr(0)+chr(0) endproc

Next time some new project | haven't yet thought of. Any suggestions? Until then Happy Archiving!

35

PERTINENT POINTS ON QL DISK DRIVES by Frank W. Davis

| have recently ran across some items that | thought it best to pass on to the rest of you. | realize that many of you know some, or perhaps all of this, but it is always good to bring everyone else up to the same speed whenever possible.

The first came about from the inquiry of two separate people. The question was "Can | use HD (1.44 meg or 2880 sectors) disk drives with my QL that is using a Trump Card?" The answer to this question is a qualified one. Normally the answer would be no. The QL and the Trump Card would not even recognize that it existed. The lone exception to this would be if you had equipped this QL with the Level Two Driver. It would then recognize that the drive was there, and format and use it as a 720K drive (1440 sectors). It would still not see it as a 1.44 meg disk drive; the Trump Card does not have the needed hardware to do this. If you still want to use a 1.44 meg disk drive with either a Trump Card or a QL Sandy Board, then you need to obtain the FLP/LEVEL 2 RAM CHIP from either Jochen Merz or from Mechanical Affinity. This will allow you to use these drives as well as making the QL Read/Write and format IBM and Atari disks, and a few other goodies.

The next question was, "Can | use an IBM compatible 1.2 meg 5 1/4 drive with my QL?" The answer to this would normally have been a definite no. If you check with the magazine IQLR, they ran an article on how to set up one of these so that it could be read by the QL as a 720K (1440 sector) drive, but it could still not be used as a 1.2 meg drive. None of the QL disk drive interfaces supports the 1.2 meg drive in its native mode. | wish that they did, particularly when it comes to IBM software that comes in that format. | could then use it with PC Conqueror or Solution.

The third question | get from many folks concerns, " Just what ED (extended density 3.2 meg) drives can | use with my Gold Card or Super Gold Card, and how do | set the switches or pins on them?" The next page will detail what is needed to set up TEAC, SONY and MITSUBISHI ED drives. Do not attempt this with CHINON ED drives. So far CHINON does not work with the QL.

If you find a drive that works that I left out, let me hear from you. The more we help each other the more we gain.

36

I wish to thank the following for the information contained here. Stewart Honeyball of Miracle Systems, Paul Holmgren of Mechanical Affinity, John Toapelliiceys and Don Walterman of the Detroit area, and Bob Dy! of IQLR. Thanks for the information.

SONY ED DRIVE -- MP-F40W-23 and MFD-40W-21 are the two model numbers that have been shown to work with the Gold Card and the Super Gold Card. The only setting available on these drives is the drive number, a recessed switch at the rear side of the disk drive, as shown in this illustration.

Recdssed Switch o12ad

MITSUBISHI ED DISK DRIVE--It has the drive numbers 0 to 3 on one side towards the rear, and has the jumpers that must be set as in the diagram on the other side near the rear of the disk drive.

drive number

mL sw I/s

TEAC ED DISK DRIVES--Set the drive jumpers as indicated in the illustration, and the drive numbers on the side, for the FD235] 3631 and the FD235] 3653.

TEAC FD235J 3631 TEAC FD235J 3653 MODIFIED MODIFIED

SIGNAL LEVEL

XTRICATOR, Version 1.75 by Gary Norton

XTRICATOR, by Dr. Carlo Delhez, is a Z2X-81 (T/S 1000) emulator for the QL, offering 64 KB of RAM. XTRICATOR runs in the Pointer Environment, is SerMouse compatible, and is multi-tasking.

XTRICATOR is a shareware program, available free for testing. As with all shareware software, if it is to be regularly used, you need to register with the author. The registration fee is 60 Dutch Guilders or 40 US $. With the registration, you receive a twenty-five page manual, three disks of ZX-81 software containing 240 programe (original as well as commercial), a free update to the next version of the emulator, and information about later releases.

To run XTRICATOR, you will need a QL or clone, 300 KB of free RAM, Toolkit II (optional, but recommended), and the Pointer Interface Environment file PTR_GEN (not included with the program due to copyright). Though not

required, I highly recommend that the Gold Card or Super Gold Card be used,

When run on a standard QL, the program runs painfully slow, but will run. Expect a speed of about a third of a ZX-81 in SLOW mode. Whereas with the Super Gold Card, it runs at over twice the speed of the original 2X-81.

XTRICATOR runs in all resolution modes of QXL, but it does not yet run on machines running SMS2, but that is being worked.

If you're using a QL, then why would you want to emulate the 2X-81? Many of us began our home computing with the ZX-80/1 and discovered the fascinating world of computing. 7ZX-81 owners discovered much about computers and programming by trying to get every ounce of power from the computer. We all went through the frustrating times of the system crashing when we were about to save a program we just spent two hours typing. But it kept us interested in computing, and most have fond memories of this little machine. When the T/S 2068 or the QL came along, many of us moved on, packing the ZX-81 into a box in the closet. Others remained faithful to the ZxX-81 - I have mine set up next to my two QLs.

If you had a ZX-81 that didn't crash, had internal 64 KB RAM (no memory pack wobble), had a (quasi) real keyboard instead of a flat membrane, and had fast disk drives, would you have been as eager to replace your computer when a new model was released? You get all this, and fast speed as well with the Gold Card or Super Gold Card. Later, I'll touch on several additions/enhancements added that will bring the 2X-81 to another level.

The program disk contains a file ‘XTricator_Xample_Boot'. Edit this to your boot-up requirements. When XTRICATOR is being executed, you have the option of automatically setting the parameters you wish. The parameters allowed at start-up are: /I gives a black screen and white print; /R selects the initial contents in the 8-16K area, Clear, ZX-Assembler-2, or Coral Basic; /S selects initial size of the RAM memory, and /W selects a half wide screen display.

When loaded, XIRICATOR loads a white screen with the familiar ‘K* cursor No more fuzzy BW television images for the ZX-81! If you would prefer a black screen with white print, simply press CTRL & F2 (or F12 for those with

38

a Falkenberg QL-Keyboard-90). To revert back to black on white, press CTRL & F2 again (or F12).

With a few exceptions, when running XTRICATOR, use it as you would the ZX-B1. You'll recognize the one press Keywords. Press 'R' for RUN, for example, To load a program, press 'J' for LOAD then either SHIFT P, as in the ZX-81 or the Quote key next to the Enter key for the Quotation mark, then the program's name, then another quote: “LOAD “PROGRAM"’. Do not press "LOAD " Instead of loading the first program that is contained on disk, as the ZX%-81 does with its tape loading, this command gives the directory of the disk in the default drive. The same rules apply for keyboard operation as with the ZX-81, This includes the Function and Graphics modes also. If you have problems remembering the location of the keys or what function is located on which key, press CTRL & Fi or Fil to view a digitized image of the Z2X-81 keyboard. This can also be selected by the ‘H* option of the main menu. Press ESC or press the left button on the mouse to return to the gereen, There are two key emulator modes, using CAPS LOCK or not. These simply give different characters with certain keypresses, basically either the ZX-81 layout or the QL layout

The feature that really sets XTRICATOR apart from the original ZX-81 is the Main Menu. This {is selected by pressing Fi. The menu consists of twelve selections. To make a selection, point and click with your mouse or press the letter given and then enter. This article is not intended to make it unnecessary to register and receive the manual, so I will only highlight the menu options. The primary options allow for changing defaults such as LPRINT output (to SER1 or to a file) and default directory. Make screendumps that can be loaded from SuperBasic or from ZX81 mode. Reset the ZX81. Unlike on a ZX81i, you don't have to disconnect the power supply to reset. Load ZX-Assembler-2 (ZXA2) or Coral Basic Interpreter (CBI) [more on these later] into the 8-16K area of ROM. Change screen settings such as color (black or white), the refresh rate, set the emulator speed, and select between full size or half size screen width. For QXL users, move the ZX61 window to wherever you'd like on the screen.

XTRICATOR supports several different resolution modes. These are the Low Resolution or normal mode, with a 32x24 screen; Extended Low Resolution, with a 32x192 screen; Semi High Resolution with 256x192 graphics; and True High Resolution with 256x256. The command to move between hi-res and low-res is supposedly CTRL-F3, however, with my copy of XTRICATOR, I was unable to load a hi-res program. I kept getting the message "RAMTOP NOT LOWERED". This in spite of pressing CTRL-F3. Unfortunately, the manual does not mention this or what to do about this situation.

As mentioned earlier, additions and enhancements were provided to bring the ZX81 to another level. Starting with the Special Commands. In Version 1.75 of XTRACATOR, there are fourteen of these commands. They are loaded like a file, but the command name is preceeded with an * and ended with a :. Since the ZX&1 operating system does not have a Disk Operating System, the Special Commands, add the necessary commands to operate from disk, They allow a disk directory to be shown as well as movement through the directory. Subdirectories are allowed to be created, removed, and made the default. Files can be deleted, the default drive can be set, and Jobs can be killed. Also, special files can be saved and loaded.

SIMDOS2 is a RAMDISK driver file that adds a few other commands and gives a simplified command structure, such as LB:<filename>: which loads a BASIC

program, No manual is provided, but in the ProgInfo_txt file, there is sufficent information to use this driver.

What truely sets XTRICATOR above the ZX81 (and many other computers as well) is the supplied Coral Basic Interpreter (CBI), written by Carlo Delhez,.

When running in CBI mode, the first things you notice are the K cursor turns into a solid black (or white) cursor and the command words have to be fully typed in. CBI comes with a 16 page TXT file manual on disk. To quote from the manual, "It combines the efficiency of a new and fast Pseudo Screen Editor with the ease of a powerful extension of the ZX81 BASIC." Regular ZX81 programs will run in the CBI mode. Since CBI warrants an article of {ts own, I'll just say, give it a try, you may never go back to the 2X81 BASIC,

To those who register, on Library Disk 1 there ts another ZX81 BASIC extender, EXTENDED BASIC, by Frits Beniest. This BASIC extender allows you to add READ and DATA statements, adds the RESTORE command, as well as LEFTS, MIDS, RIGHTS, Multiple statements may be on the same line. Graphics are brought up to the TS-2068/Spectrum level with DRAW, UNDRAW, CIRCLE, UNCIRCLE, FILL, PAPER, UNPAPER, A few other commands are also provided as well as existing ZX8i commands enhanced. There's also a nifty demo program that lets you see things you never thought you'd see on a ZX81. EXTENDED BASIC gives the ability to easily translate programs written for other BASICS. It nicely adds features not included on the original BASIC, and gives another alternative to CBI, but unfortunately a TXT file manual is not included. With either CBI or EXTENDED BASIC, you'll never want to go back to basic ZX81 BASIC!

Another included file is ZX-Assembler-2, revised by Carlo Delhez. The ProgiInfo_txt file gives sufficient information to get the Assembler loaded, but a TXT manual is not provided. One is, however, available upon request. I don't have the manual and am not familiar enough with this program to comment.

One oddity I discovered was when the LPRINT output channel was selected, the mouse stopped functioning. When this was cleared the mouse became operational again. In the next version of XTRICAATOR I would like to see this corrected.

I'm greatly impressed with XTRICATOR. Its a superb piece of programming with a great deal of effort put into it. The price is right, free, but I would strongly recommend paying the small amount asked for to register your copy. With the library disks provided, there is enough programming to keep you occupied for some time. If you have some favorite ZX81 programs you would like to transfer from tape to disk to run on XTRICATOR, Dr. Delihez can provide QZ Fileserver to do the job. There is a disk provided to run on the QL and a tape to run on the ZX81. To do the transfer, you'll need a serial interface, A schematic can also be provided by Dr. Delhez that shouldn't be too difficult for someone to construct if they're knowledgeable in this sort of thing. Unfortunately I'm not, so have been unable to give this a go, but if I can overcome my handicap in this area, I plan on transferring several tapes and will report on the operation of the fileserver.

40

A REVIEW OF QLerk by Eliad P. Wannum A Financial Program for the QL

‘There have been several finance programs brought out for the QL since the year 1983, but none that I have felt was good enough to use Sor the middle-class home or for the small business (earning less than $500,000 per year). I felt that way until Frank Davis gave me a review copy of QLerk to look at and try asa means of keeping track of my financial records of my counseling business. I have noticed that even Frank has gone to using it for Mechanical Affinity, and for UPDATE! Magazine. He had been using either an old TS2068 program or one from his Amiga. He had always said that the programs for ‘A nancial management on the TS2068 and Spectrum were as good as those for the QL, and easter to use. He has now, as well as |, changed his mind. This little story of using this program was done off of Version 3.21, which was released on September 14, 1994.

This program requires you to use either Psion XCHANGE (now in public domain) or ARCHIVE, 2.38 (supplied with the program). Bill Cable, author of the program, says that his preference is using ARCHIVE, as it does not have the same memory limitations as when startin XCHANGE. | tried using XCHANGE and bad no problems, but | used only a relatively smai database at that time, so perhaps this problem would have shown up later. You should have at least 2. 720K disk drives and a Trump Card to make adequate use of this program. The program really comes into its own when used with a QXL Card, Gold Card, or a sper Gold Card. A hard drive and ED disk drives make the program even that much more useful. For reasons of money, these devices make sense, the less time a business spends at the screen, the more time is spent on the business, and not on the financial house keeping chores of mailing lists and billing.

ve what can you do with this program? Well, you can at the same time keep track of upto 5 check writing accounts from a bank, and Bill says that there is no limit to how many charge accounts you can keep track of. | only have 7 credit cards and found it quite easy to use the program to track these and my two checking and one savings account. | know at all times who is in my database of clients and have at a glance information on billing them for services. When I want to doa mailing to clients, suppliers and lors I do business ith: the print facilities allow me to do this ina generally business accepted manner. It works great with my HP Deskjet printer. I have not tried it with my Canon Bubbleet yet, as it is off for repair.

The statements I have generated with this program and given to my accountant have wipeeet her, as she swore they bad to have come from an expensive MAC or IBM program. 1 had to have her over to the office to see just what control | actually bad over records and the ease with which it was done. I just may get a QL put to use in her office yet! She tells me I should , at tax time be able to give her all the records | peed to prepare both my ‘onal and business taxes. She gave me only one barrier to stand in the way of doing this. THE ONLY THING THAT CAN GO WRONG IN THIS AREA IS FOR THE USER TO FAIL TO KEEP UP WITH ENTERING THE DATA, It is just like vitamins or medicine, it does you little good to have them, if you do not use them when you should.

The program needs to be configured for your system when you get it. The well supplied manual tells you what to do tn order to set up the program for your paride uses. You can always amend your set up or add items, such as new names or addresses (as well as changes), on the fly. T have had two manuals for this program, the first was 8 1/2 by 11 inches in size, the next was 6 1/4 by 8 1/4 inches. While the print 1s clear and of a readable font in the new version, some of the print was rather small and may be bard on the eyes of some.

One limitation to keep in mind, is that due to this being an ARCHIVE based program you will have a 2,000 record limitation if it is ordered on two fields. There will come a time that you may need to keep more than one record, or you can use the QLerk process REMASTER to remove a iar of old records. This is also still a DATABASE type program, so for those who have never

ad the nerve to approach one of these, you ipiaes it needed on at least a limited basis.

If] was a movie reviewer 1 would give this program a thumbs up. I hope in the next issue of UPDATE! to tell you more about this useful, USA made program. Check the ad in this issue.

41

REPORT ON THE DAYTON COMPUTERFEST IN AUGUST by Frank W. Davis, Editor

For the 6th year in a row now, we at Mechanical Affinity, and for the 5th year for UPDATE! Magazine....found our way to the Hara Avena in Dayton, Ohio on the last weekend in August. It always requires far more work to get to the show and set up than it may appear, what with banners, catalogs, pricing items, etc. So, do I think it is worth it? Yes.

It is shows like this and the Miracle in Newport show that give us our best chance to get together with a large crowd of QL, Timex and Cambridge Z88 users each year. It helps put a face to go with the voice and letters that we get from so many subscribers and mail order customers. I have become personal friends with many of you, and am grateful for having done so. All ve the people I have met have in some way or another enriched my life. Thanks. More than once I have ree where some "so-called expert" has talked and said that computer users were people who got wrapped up in their machines and lost social skills. I have met only a few people who I think fall into that category. For most of us, it has been a learning experience that has caused us to meet and interact with many people we would otherwise never have met or talked to.

Thanks to Gary Ganger and to all of the support that Dayton Microcomputer Association gives for the production of this large scale show that they put on each year and for setting aside part os for Sinclair dealers. Socially and financially it was rewarding. Thanks to the ea iii SMUG, Neal and Bill for being there each year with your tables next to ours. Thanks to Don Lambert and Bob Swoger for having your table on the other side of us for TSNUG. And thanks for the last two years to Tim Swenson for putting on such a great picnic Saturday evening, giving all of us time to meet and socialize away from the show.

Shows like these are fun, and a chance to buy from a large selection at bargain prices. It brings out the "old Hoosier horse trader" in me. I hope to see you there next year.

42

PAA AAR ARPAAPAAAA AAA PAPA PAA AHAAA Av: AAAHAARPD AH AAA AAAGHFAPAPHAHAFHANGAANYH

PRESENTING @QLerk

A FINANCIAL PROGRAM FOR THE SINCLAIR QL

By Wood and Wind Computing : Bill Cable : RR3 Box 92 : Cornish NH 03745 Phone : (603) 675-2218

For the first time you have the capability of keeping complete and accurate financial records for the Home or Small Business with your QL. A friendly Financial Clerk to serve you. The code is written in the ARCHIVE Programming Language and is completely accessible to the user. All functions are selectable from standardized menus. No knowledge of ARCHIVE is required. The program works from a common sense point of view without imposing accounting theory on the user. Although it has many powerful features the user can use only those features desired, ignoring the rest. Recommended minimum system is a Trump Card with 2 DD Drives. It works much faster on Gold Cards and Super Goid Cards. Latest Version is 3.21

Pays Bills Receives Income Reconciles Bank Accounts Makes Invoices Makes Purchase Orders Prints Checks

Prints Address Labels Handles Sales Taxes Handles Income Taxes Does Payroll Keeps Inventory Handles Periodic Payment Periodic (Cyclic) Payments Periodic (Cyclic) income Maintains Savings Accounts Maintains Cash Accounts Maintains Charge Accounts On-line Help

Elaborate Data Protection Easy Built-in Data Backups Easy Data Correction Category Report (why,when) Activity Report (who, when) and much more

PRICING

Public Domain Demonstration Version of QLerk $5.00 US/Canada (refundable if QLerk latter ordered) $7.00 Elsewhere

QLerk Program on Disk with Tutorial Doc File $29.00 US/Canada

$31.00 Elsewhere

QLerk Manual (150 pages of details) $29.00 US/Canada $34.00 Elsewhere

QLerk Program with Tutorial and QLerk Manual $50.00 US/Canada $57.00 Elsewhere

The Demonstration version will allow you to play with most of QLerk’s features so you can decide if you really want the program. Some features are absent and the code is not inspectable. The program with Tutorial is the complete program with inspectable code and enough instructions to try out the basic features of QLerk. It is sufficient for users with simple needs. The QLerk Manual is indexed and covers ali features in detail for those with more complex needs or with an interest to know all the details. Order it today increase the usefulness of your QL dramatically.

SESESFSSSSSSSISSSSSISHSSSSSSSSSSISSSSIFSISSSSSSSSSSSSS$SSSSSHSSSSH$SSFSHSHFSHIFHSHS:

SSSDRSSSSESSHODSSE SASH DEE SNTSSS SeDTR POOP NUON Tee a rsoEnE Nye rRE Onn

$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $

Z—-88 FLO-—-CHART (C) 1989 MIKE FINK ACTIVATE

PANEL FiLe

Z-88 PANEL PRINTER ED'R —p4 COMPUTER

ACTIVA T! COMPUTERS PRINTER

DISK DRIVE or EPROM

LOAD SAVE

THEMINAL

LOAD SAVE

FASS

PIPEDREAM LEAD FILER SEND MODEM RECEIVE

FAX O2 OTHER COMPUTERS

RE<eive EXPORT

USE -MOoDIEY

AILe NAMES

USE - Modi’ PRINT ONLY

PRINTER ACTIVATE

CORAPUTERS PUNTER

ANY DATA, TYPED INTO PIPEDREAM, DIARY OR PROGRAMS IN BASIC, WILL AUTOMATICALLY BE TEMPORARILY SAVED IN SUSPENDED ACTIVITIES, WHEN GOING FROM ONE APPLICATION TO ANOTHER. TO SAVE A FILE PERMANENTLY, IT MUST HAVE A NAME AND BE SAVED TO THE FILER. DATA TYPED INTO THE PANEL CAN BE ACTIVATED IMMEDIATELY, OR SAVED AS A FILE, OR BOTH.

PRINTER EDITOR MODIFICATION MUST BE ACTIVATED TO BE USED, OR CAN EXIST UNACTIVATED AS FILES TO BE LOADED OR SAVED (OR ACTIVATED).

FILES FROM PIPEDREAM, DIARY AND BASIC CAN BE SENT TO A PRINTER FOR PRINTING, EVEN IF THEY HAVE NOT BEEN NAMED AND SAVED. FILES FROM THE FILER TO THE THE DISK DRIVE, CAN ONLY BE SAVED OR LOADED, TO USE OR EXECUTE THEM, THEY MUST FIRST BE LOADED INTO WHERE THEY CAME FROM.

44

FOR THOSE PEOPLE THAT DESIRE A PORTABLE COMPUTER, OR NOTEBOOK COMPUTER, THAT IS LIGHT, INEXPENSIVE .. AND DOES NOT REQUIRE THE USER TO BUY ANY SOFTWARE, THE Z88 EXISTS FOR THEM. LUCKILY, IN THE UNITED STATES, THERE IS A COMPANY CALLED DOMINO CUBES, THAT HAS CREATED ADDITIONAL FEATURES FOR THE Z88, THAT MAKE THE POWER OF THIS COMPUTER MORE FORMIDABLE THAN IT ALREADY IS, AND ARE NOT AVAILABLE AT ANY OTHER PLACE IN THE WORLD !!

A PARTIAL LIST FOLLOWS;

1. A 960@ BAUD FAX/MODEM, THE ONLY FAX/MODEM IN THE WORLD THAT NEEDS NO SOFTWARE! IT WEIGHS 7 OUNCES AND IS THE SIZE OF A PACK OF CIGARETTES. A BATTERY OPERATED 2 LB. PORTABLE DISK DRIVE. A BAR-CODE READER. A 1 LB. "BATTERY PAK" THAT WILL RUN THE Z FOR 3 MONTHS. REPAIR SERVICE. UNDERSTANDABLE MANUALS WRITTEN BY MIKE FINK THE ONLY MAIL MERGE PROGRAM THAT WORKS! A SHIRT POCKET EPROM ERASER. TWO TYPES OF EDITING PROGRAMS WHILE IN BASIC. a.A THIRD TYPE OF EDITING FOR BASIC USING PIPEDREAM. 10. A PRIME NO. PROGRAM UNIQUE TO THE WORLD. 11. A MONEY TABLES PROGRAM OFFERING ANSWERS TO ALL QUESTIONS INVOLVING TIME, MONEY AND INTEREST.

12. MANUALS EXPLAINING FORMATTING AND PRINTER EDITOR WAYS NOT FOUND IN ANY OTHER MANUAL OR PUBLICATION.

13. A SPELLING CHECKER, (FROM ENGLAND).

14. THE ABILITY TO MAKE MULTIPLE COPIES AND HOW TO USE MACROS. a.AN INTERNAL MAGICAL REMOTE CONTROL ROBOT! «!x«!e!

15. A PROCEDURE TO ALLOW LOADING ALL EPROM FILES WITHOUT DANGEROUS CLI FILES BEING CREATED IN :RAM.~- (WHICH CAUSE FAILURE)

WOAH RON

TO RECEIVE ALL OUR LITERATURE AND A PRICE LIST, SEND $3 IN STAMPS OR CASH (no checks, please) THE $3 WILL BE RETURNED AT YOUR FIRST ORDER.

MAIL ADDRESS IS: 130 W. 42nd ST. 28th FLOOR, N.Y. CITY 10036 FAXES CAN BE SENT TO 212-869-1526

MIKE FINK PRESIDENT OF DOMINO CUBES

Z88 Rom and Internal

Ram Upgrade

by Dave Bennett

The Z88 Users’ Ciub in England is no tonger viable. Membership had fallen to 1000 members from 4000 members. Roy Woodward decided to discontinue the Group. He is still providing support for the Z88 in a business calied Woodward Technology.

Roy is selling back issues of the Club Magazine 'Z88 Eprom’. The Club also sold 288 parts. Roy is selling some of these including Version 4.0 Roms and larger size internal Rams.

had ordered a Version 4.0 Rom and a 512K Internal Ram last year. | waited months and months for them to arrive. | talked to a couple 288 users in the U.S. who told me it was best to call Roy. | finally called him in April.

Apparently he could not get 512K Rams. This was holding up the order. | said that | was willing to accept a 128K Ram. The 128K Ram is also cheaper and easier to install. The Ram and Rom arrived a couple weeks later. It was another couple weeks before | installed them.

Installing the Ram and some Roms on a small number of Z88s requires soldering and desoldering. So | would not attempt this yourself unless you are comfortable soldering circuit boards. And you need the proper equipment. A low wattage soldering iron and a solder sucker are essential. If you are not comfortable doing this | would have a computer repair facility do it for you.

your Z88 is working fine and you have no need for additional internat Ram, you may not want to install the Ram and Rom at all. The Rom provides support for additional internal Ram. It also corrects a few bugs such as the famous :Ram.- bug. The software still works the same. Pipedream still is exactly the same.

The instructions for installing the Ram and Rom are very clear and well written. itis very easy to remove the circuit board. It only takes a few minutes.

The circuit board on the Z88 is sensitive to heat. When | desoldered the Ram one of the lands came off the board. | fixed it with a jumper cable

>

made out of a very thin wire strand. When | was finished | put the Z88 partially together. | tried it and

there was no display. In addition it

was making a slight humming sound. It should not make a sound at all!

| thought that my 288 was gone. | fet it sit around for a few weeks without touching it. Finally | decided to look at it again.

was going to remove the socket for the Ram and install another one. But decided to resolder the old socket. | put it together and it worked! Everything works on it. However the instructions say that you should have 118016 free Ram. | get 115446. ! talked to another Z88 user who performed the installation. He got the same result. Puzzling! Is it an error in the instructions or a typo. Or did we both make the same mistake. | am not going to worry about it. The 288 is working fine otherwise. 115K is a lot better than the 12K | had before.

1 did not experience any crashes with the Version 2.2 Rom. But this upgrade gave me a chance to increase the amount of Ram without using up any more siots. All three of my slots are filled.

The Rom was 24.95 and the Internal DIY 128K Ram was 19.95. Both of these upgrades make a fine addition to your 288. They are both available from Woodward Technology, P.O. Box 15, Belper, Derbyshire, U.K. DE56 OXE. If you pay by credit card the exchange rate is automatically taken care of.

288 This and That

As far as | know the Z88 is still being manufactured in Scotland. | wonder just how many Z88s have been sold? What is your Serial Number? | have an early Z88. Mine is 2996.

My Z88 tends to give off a lot of Radio Frequency Interference or RFI. | have noticed that other 288s give off much less. Is it because I have an early Z88? My Z88 has been opened a few times. Could some seals have been disturbed causing RF leakage? Does your Z88 cause interference to nearby TVs and Radios?

Timex Publication Index _ part 1 Many moons ago I had to prioritize the many ideas I had for my computing projects that were filling my spare time.

I also had a LOT of Timex/Sinclair publications with tons of neat articles that I was interested in doing with my Timex/Sinclair machines.

Since I had a cartridge version of Pro/File for the Timex 2068, (room for up to 37,000 bytes of database records) I indexed all the listings and hardware articles contained in this 4 foot pile

This allowed me to quickly find things to do and to answer us (if answers were printed) for my Timex projects. The results ended up occupying 2 files totaling more than 39,000 bytes and filling about 317 record entries.

File Record Explanation:

I only listed articles that had program listings or real hardware work that I could do. Reviews and simular articles were left out because there was nothing there that would directly benefit my computing at the time of need.

I chose to index 7 publications because they contained the most information, and I had an average of 90% of the total issues they printed.

So here you are, if you can use this information then this has done its job.

Key to the listings

The listings were done with the Title or at least the reason for inclusion in the index first, followed by a 1 or 2 word clue that told me if the article was a program that was type-in-able (software) or about a (hardware) modification/fix or improvement. I then used a 3 letter key identifing the publication containing the article, followed by the issue or volume and lastly some clue as to why I listed it if the title was not informative enough.

The Key used for the Publications:

SUM = Vols 2-6 to 4-7 SWN = SYNCWARE NEWS 1-1 to 5-4 SYN = SYNC Vols 1-1 to 4-2 TD = TIME DESIGNS 1-3 to 4-4 TMZ = TIMELINEZ pages 1-8, 17-358, 364-415, 443-458 TSH = T-S HORIZONS #1 to #21 TSU = TIMEX SINCLAIR USER Vols 1-1 to 1-7

USA version

47

1000 TIPS

SYN

TSH TSU

21 35

6 1-4

hard ZX80 RESET, INVERSE VIDEO ROM, RAM

NVM DISABLE REPLACE CHARACTER SET

1000 & ZX80 TIPS soft

SYN

1-2 13

logic

fix for above, CHR$ on more logic, simulate PAUSE, convert variables fix for above (logic),

VARS conversions, DIMed arrays REM usage, fix for DIMed arrays, PEEK & POKE

MC in REM, more logic using Galaxy game

stBw.

plotting, store 3 words in array flag tips, DEF function DEF func fix "speed up " " "line inputting logic operators

KE fix T, INKEY$, ZX80

array storage

soft EDIT usage

memory saving " "

set ramtop, fix for load circuits

trap inputting nos. ramtop & Compusa

string input rout. (Get) fix for Die above

set ramtop

Strings & things simulate PAUSE BASIC tips

cracking AUTO-RUN BASIC tips

Vu-Cale mods & tips BASIC tips POKEs, PEEKs INKEY$,

assword, hide prog lines, SAVE/ PoaD time, print last 2 lines, COPY full screen, find print coordinates unLIST lines, unlock tapes, MC

storage, clock unused codes

_ “#16 program stopper, Vu-Calc mods “#20 Files & ?

TSU 15 mem save, lock up, vary COPY size "16 PEEK & POKE

6 SHOOTER SYN 22 8k

soft game

16 PIN BOWLING TSU 12 1000 "13 "fix

soft game

64 COLUMN MODE soft SWN 31 2068

TD 23 "

2040 PRINTER hard soft SWN 26 make work with MemoTech 16K "41 Remove caps SYN 42 & ROM bugs TD 31 printer instead of display "42 teas cable TMZ 66 offfon "73 fix for above “234 2068 offfon "256 on/off switch

2050 TD 41

hard Spectrumize

2068 GAZER'S GUIDE soft

TD 21 astronomy

2068 TIPS soft Sum 311 SAVE,SCROLL, LOAD INKEY$, INPUT "44 OmniCalc 2 SWN 26 INPUT prompts * 31 " iy extra print using MC fix for above

Poly-Scroll

simulate PAUSE

inputting Ep. tips cracking progs KEs, BI SCROLL, CAPS,

DELAYS, SCREEN

cracking, BIN

store MC, Passwords

"197 oW

"135 all kinds

"144 INKEYS. VARS * 172 timer, VARS "234 screen save, POKEs, invert display, print full screen "234 POKE BORDER color, ramtop without CLEAR, time, POKEs, odd/even, darken display, dbl. space LISTings "235. store nos. as characters, time "311 INK tips TSH #7 Displays, 22 & 23 line Scroll, POKEs, Flags, BEEP “#11 Screen LPRINT "#12 OPEN#, CLOSE# “#17 many POKEs "#18 fix for POKEs #17, pixel screen scroll TSU 16 display primer ABC-123 solt game SWN 43 1000 game "44 * "pt? "45 bug fixes ACEY DUCEY soft game SYN 1-1 ZX80 ADDITION soft

SWN 5-5 2068 math tutor

ADVENTURES IN THE RAM JUNGLE TD 16 explore RAM structure "241 corrections, pt 2 "22 1000 based, pt 3 "23 fix's for 22

soft

ADVENTURE SYN 13 ZX80

soft game

ALIEN LURE TSU 1-2 1000

soft game

ALIEN TREASURE SYN 24

"95

soft game

fix

ANIMALSLLL SWN 46 animal quiz

soft game

49

ARTILLERY soft game SYN 12 ZX80

"1:3 fix for above

“odd 8 ML (2)

"1-6 another AUDIO FREQ COUNTER soft SWN 31 1000

“33 "bug fix AUDISY soft SYN 36 _ store sound in 1000 AUTO ANALYSIS soft SWN 34 1000 A & J ENHANCEMENT soft Sum 34 Tasword

“3-1 Tasword, VU-Calc SWN 3-5 notes TD 36 file manager TMZ 30 = 1000

"114 Tasword &

"129 2068 cat prog

"144 Tasword

"170 CPI tips TSH #14 SAVEing LOADing

"#16 " "

"#18 tips BANK SWITCHING 1000 hard soft TSH #4 ptl

"45 "9

"#6" 3ptl bug

“#7 "4

"#9 "5

"#10 "6

#1b "7

"#12 " Blast

“#16 bug fix pt 7 BANK SWITCHING 2068 hard soft SWN 23 add 128K & decode EXROM

"3-4 OUTs explained

"36 using extra banks TD 25 ptl

"26 "2

"31 "3

"32 "4

“33 " 5, end

"45 TSH #19 ptl

"#20 pt2 "#91 pt3&4

BANNER soft Sum 45 both SWN 24 1000 SYN 26 large Ictters on screen TMZ 244 2068 mini/maxi banners TSH #10 1000 "#11 2068 bug fix TSU 13 2068

BASCII soft

TMZ 251 convert BASIC to ASCII file “257 fix for above

Tt 31°" *

BASIC soft Sum 31 Beginning BASIC pt 1 " nwo "33 " 4g "34 " woomg TSU 1-2 How to Program pt 2 "on " "3

BATTLESHIP SYN 21 ZX80

BEETHOVEN TSU 1-1 music from the 1000

soft music

BETA BASIC soft SWN 56 tips & utils

BINOMIAL BINGO TMZ 225 1000/2068

soft game

BINOMIAL DISTRIBUTION TSU 1-4 1000

soft game

BIT GRAPHICS soft SWN 46 _ for big printers

BIT TESTING soft SWN 23 depict 255 bit patterns 2068 TMZ 104 1002068

BLABBERMAN TSU 16 1000

BLACK HOLE

SYN 13 ZX80 "14 fix for above, (3) "45 uw om

BLINKER SWN 53 blinker code 2068

BLOCK DELETE SYN 32 1000 TD 41 Spectrum

BOULE SYN 42

BRICK BUSTER

SYN 35 "36 fix for above "41 mods "42 fix

BUILDING HEAT LOAD SYN 26

BURGLAR ALARM TD 23 2068 "94 " fix's

BUS EXPANSION Sum 21 Spectrum to 2068 SWN 35 ob6

CALCULATING THE DAYS

SYN 31

CALENDAR

SYN 31 figure the days

TMZ 86 Perpetual | "Qs "9 "og noon

CANNONADE SYN 15 ZX80

soft

soft game

soft

soft

soft game

soft game

soft

hard soft

soft

8 prog to draw bus for cart board

soft

soft

soft game

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 usually filled with various utility programs taken from the issues of UPDATE, shareware or public domain. On most of these, half 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. To have your particular disk system supported here requires that someone write or alter the software from one system to the other. We are always open to your help and suggestions, but have limited time and programming resources available here. The prices are as listed beside each piece of software. We can provide all but 3" disk formats as far as size and disk density. We accept cash, checks, money orders and C.O.D.

1) THE WIDJUP COLLECTION, contains most of the popular programs formerly offered by WIDJUP and written by the late Bill Pedersen. This is a two disk set, and does not include his CAD Program. It contains editors, printer drivers, games,TS2068 tutorials, etc. This is a new release and we will have more about it next issue. In Oliger or Larken disk formats. The price is $20.

2) WIDJUP’S CAD PROGRAM, a‘long time favorite that will give you professional results from your TS2068 in the area of computer aided design and the development of printed circuits. With the right graphics it has been also used to print a page for desk top publishing, or computer art. It requires no expanded memory and is available for the following setups: (a) Oliger, for either the Olivetti Ink Jet printer, or for IBM compatible printers. (b) Larken for IBM compatible printers or for the Olivetti Ink Jet printer. Please specify disk size, format and printer type. The price is $20.

3) OLIGER DISK DRIVE BBS PROGRAM, this creates a single user BBS program, with several message bases, E-mail, and SYSOP Chat area. We have also added many other Oliger disk programs to this collection, as well as some playtime. This was written by Paul Holmgren. The price is $20.

4) 24-PIN BIT IMAGE GRAPHICS FOR 24~-PIN OR BUBBLE JET PRINTERS, for Epson emulation modes, by Larry Crawford. This program takes the mystery out of graphics and some of the newer printers out there on the market. We also include some extra software with this one, and for just $15. {ft is available in Larken and in Oliger disk formats.

Needless to say we are always interested in a new issue disk we can present here for our readers, so those who are out there writing programs, send them to us to look at. This helps to keep the TS2068 alive. It is also a way to pick up some pocket money. We usually make royalty payments twice a year based on previous sales.

QL UPDATE ISSUE DISKS

These disks contain at least one MAJOR piece of software

written specifically for disk drives and are guaranteed to be worth the money. The rest of the disk space is filled with various utility programs, or support files either for the major p of software or from various issues of UPDATE. Some files are taken

from public domain or shareware if deemed of sufficient use. Half of the money goes to the contributor of the issue disk on a bi- annual basis. The rest goes to UPDATE to support the issue disk program. All are $20 US$ , except where noted. Add $5 US$ extra for shipping outside of North America. All known QL disk formats are supported; please tell us which you need.

1) HARTUNG UTILITY ISSUE DISK- Here are some excellent programs, such as a stand alone database, Address and QSO files. All are written in SuperBasic. This gives lots of programming hints and tricks for QL programmers. This has been recently updated and improved by Bob Hartung. The Address File can be used as an Inventory program, or use it to print out labels. Both paper or screen printout can be Alpha sorted or by last name. $15.

2) CABLE ARCHIVE ISSUE DISK- Written by Bill Cable. Contains many useful ARCHIVE programs that work on any Archive database. Titles include: DIR (directory within Archive), SCAN (quick database display and print), FREQ (frequency distribution of a field), SPLIT (split 1 database display and print), JOIN (join 2 databases into 1), REFIELD (redefine field names), KEPLACE (replace text within a database), MATCHER (find dupes within a database), WINDEX (word index any text file), GROUP 1 to 3 (useful procedures from UPDATE articles), QUERY (interrogate any database). Also includes extensive DOC files about the programs and ARCHIVE in general. The price is $20.

3) QLUSTER 55109 ISSUE DISK- A great program from Al Feng to provide you with many utilities to handle & unclutter your disks & MDVs (and it now supports sub-directories). Some of the features concern COPY, DELETE, FORMAT, VIEW, as well as extended use of some of the TK2 commands (TK2 needed for this program).The program is TURBO compiled for a speedy program. It is MINERVA compatible, multi-tasks and allows you to use minimal keypresses to do the job. The price is $15.

4) QLUMSI DOS 4.30 ISSUE DISK- The latest version of Al Fengs extensively updated MSDOS simulator and front end program for the QL. Other programs on the disk enhance file management and cloning of other programs. Educational and useful. The price is $20.

5) QLAMBer- Al Fengs latest issue disk. He calls it A- Moving- Box/enhancedrelease. This greatly extends the selective file management capabilities of the QLUTter program by additionally accessing six TK2 keywords, while reducing CODE size, easily supports sub-directory access, and easily multi-tasks within QRAM or Taskmaster. TK2 must be on ROM or loaded prior to start up of program. The price is $15.