Skip to main content

Full text of "ZXir QLive Alive"

See other formats



Witt? JhlivvJ 




MEMORY MAP 

ADDRESS ROUTINES 

2 T/SNUG Information 

ZQA! Signing Off 
ZQAl Spring 1991. 

Files 

From the Chairman's Desk — Donald Lambert 
Input/Output — Abed Kahale 
NASQLUG — Al Boehm 
NESQLUG — Al Boehm 



3 
5 



7 
8 
12 
13 



ADDRESS Files 

Timex Emulation — Galium Davidson 
C Programming — Alvin Albrecht 
Surplus Items — Jack Boatwright 
Members Addresses 

Recursion Pattern Fill — Alvin Albrecht 
Unclassified Ads 
Memories 



16 
18 
21 
22 
25 
31 
32 



4 ■ ■ , - -- ■ . . - -~ \ 

■>'\ • / , - • - 




ZXir QLive Alive! © 
Established 1991 The Timex/Sinclair NorthAmerican User Groups Newsletter 



T/SNUG Information 



Chairman 

Donald S. Lambert 
738 Gunnar Ln. 
Forsyth, IL 62535 
(217) 875-8043 
dslambert@email.msn.com 

Vice-Chairmen 

Tape & JLO PD Library 

Luke Perry 
3409 NE 62nd Ave. #187 
Vancouver, WA 98661 



Library 

Dave Bennett (HATSUG) 
1275 Timber View Dr. 
Mechanicsburg, PA 17055-9146 
717 732-4374 
dave975@iitt.net 

QLHacKe,sJo«rna. 

Timothy Swenson 
2455 Medallion Dr. 
Union City, CA 94587-1914 



Rod Humphreys (VSUG) 
10984 Collins PI. 
Delta, BC V4C 7E6 Canada 
604 583-2819 

QL PD Library 

John Donaldson (CATUG) 
835 Foxwood Cir. 
Geneva, IL 60134-1631 
630 232-6147 
goodoiejohn@avenew. com 

AERCO & Z80 Emulator 
Keith Watson 
41634 Amberly Dr. 
Ml Clemens, MI 48038 

— ==GATOR== — 

Bob Swoger (CATUG) 
613 Parkside Cir. 
Streamwood, IL 60107-1647 
630 837-7957 
Rswoger@aol. com 

ABED KAHALE 
432 WEST OAKS TRL 
WOODSTOCK GA 30188-7358 

AKahale@juno.com 



— — ; -' -. 'i ' - 



ages 



www. timexsinclair. org www. ts2068@yahoogroups. com 

www. ql-users@nvg. ntnu. no www. ql-users@quanta.org . uk 
http://geocities.com/nesqlug1/ www.dokos-gr.net/~nesqlug/ 
httpi//users.aol.com/elubbbs/tsnug/ 




The first persona! cmnputer 
for under $2(XX ^ 

Inducing the ZXBOkit ®99F 



The Sinclair ZX80. 

?i V.'Jt, 2i:.tSt ■..v;Mtl: i ■*■■!( 



Goniptetjekit 




.am. SOUND. 

UNDER *200: 



ZXir QLive Alive! 




1982 



Spring 2003 





ignin 



Off 



T/SNUG To C o ii t inn e 



At 3 AM in the morning ten years ago I was 
unable to sleep. I was thinking about 
SNUG, the Sinclair NorthAmerican Users Group, 
and a group that just couldn't get off the ground. 
Its purpose was to be the preservation of Sinclair 
hardware and software in the United States of 
America. The fellows trying to get the group 
going were young working guys that were trying 
to keep their families going and could not put 
enough time into SNUG to keep its members 
happy. I thought up a new organization to do the 
things promised by the old group headed up by 
folks that might have more time to devote to the 
goal. I wrote a letter that would get a new group 
started to do what the old group couldn't seem to 
get going. I would call it T/SNUG, the 
Timex/Sinelair NorthAmerican User Groups. 

It would be represented by the collection of the 
user groups still in existence at the time and its 
officers would be from the older crowd that had 
empty nests at home. It would be the new home 
for those that would in time lose their present user 
groups. 

Don Lambert was a man who had just retired 
from Collins Radio and had lost his user 
group. He had put out a newsletter called the 
CRAGIST in Cedar Rapids, Iowa and had 
recently moved to Auburn Indiana. I phoned him 
and he agreed to become our Chairman. The 
newsletter name "ZXir QLive Alive!" was the 
creation of AI Feng who cleverly brought 
together the ZX of the ZILOG family of machines 
and the QL for the Motorola chip machines. As 
for the content of the newsletter, I could supply 
enough to get us started. I had developed the 
LogiCall operating system for the LarKen Disk 
Drive interface which Larry Kenny himself told 
me he wished he had gone with LogiCall instead 
of the system from Florida. For years I had 
submitted programs to the T/S rags only to never 
see them get into print. Now was my chance to 
get the word out about the power of the 



LarKen/LogiCall marriage, which allowed the TS- 
2068 to switch between the Spectrum ROM and 
the TS-2068 ROM on the fly. 

By the way, the final version of LogiCall was 
released to ender Frank Davis of FWD 
Computing in 1995 in time to sell at the Dayton 
ComputerFest. When I attended the 1996 Dayton 
ComputerFest, Frank reminded me that it had 
been one year since Gates released Windows 95. 
More than 5000 bugs were found in it. Frank then 
went on to say, "LogiCall has also been out there 
one year and no one has found any bugs in IT 
yet." ... And no one ever has! Thanks, Frank! 
Frank and Carol Davis still do our local "Chicago 
Color ComputerFest" every year. Thanks Again, 
Frank And Carol! 

t 3 AM this morning I am up again, not for 
the same reason as ten years ago, but rather, 
to go to the bathroom. I know of no 
Timex/Sinclair group that still meets. I do know a 
few guys that still claim to step up to the T/S 
machines from time to time. My two TS-2068s 
are presently safely stored away until I can get 
time to bring them back to life again this fall when 
I get rid of a couple of high priority honey-do jobs 
my wife laid on me. 

Alas! A next stage for T/SNUG has come to 
pass. Abed no longer gets input for our 
ZQA! Newsletter. It is now time to publish and 



A! 




ZXir QLive Alive! 



3 



Spring 2003 



mail our last ZXir QLive Alive! Newsletter. Abed 
and I met back in October and again in March. 

We discussed how the T/SNUG organization 
could continue. We decided to hold off on 
this last newsletter to have time to put the next 
stage into action. In the mean time, along came 
Jose Moreno in Miami, Florida requesting that he 
be allowed to put up a web site called ZQA (he 
forgot the "!"). We believe he is hoping to keep 
the e-mail portion of the newsletter alive but to 
date. I can't figure out how to read the inputs that 
go to that web site. 

7 ][ ^hen there is Galium Davidson who will 
A simply keep the newsletter on the web site 
and will send a printed copy only to those who 
want to pay for the hard copy. I also hope to see 
him have a LarKen TS-2068 by the end of 2003 to 
keep his interest up. The Timex stuff is new to 
him as he is really a Spectrum man. LarKen will 
let him switch between the two and will enable 
him to get up to speed on the TS-2068. 

What Abed and I decided to do is to take any 
inputs we get and put them into a 
continuously growing newsletter that can be read 
only on the T/SNUG web site at 

http://members.aoI.com/clubbbs/tsnug/ 
T\To more mailed hard copies, no more dues. 
JL^I We will try to keep you all abreast of what 
is available in terms of hardware at our remaining 



j 



hardware storage site in Iowa. Please also 
remember that you can contribute your T/S 
related hardware to the site rather than sending it 
to a landfill. The contact information is in the 
Unclassified Ads of this last newsletter. 

ust get on the Internet and bookmark our web 
site and check it out from time to time. Now 
that I, too, am retired, I hope to update our site 
with changes more often. It really is up to you all 
to keep things alive, keep e-mailing Abed, and me 
even just to say hello once in a while. That is what 
it takes to keep it going. And of course, Abed - 
thanks again for all your hard work. You have 
been the greatest asset that T/SNUG has had 
these past eleven years. And thanks to J Shepard, 
Jack Boatwright and all the generous people that 
have made our hardware availability a reality to 
this day. We all have been an unusual group of 
users. 

Bob —GATOR—- Swoger, K9WVY 



BOB SWOGER 
830-83? 795? 




GATOR SOFTWARE 



LogiCall 



EseculitfS Uvef $ynony«n Execution Program 
and ffrtegraied Software Package 
for the LarKen Disk Operating System 



3 ack in the early 70 's, at my place of work, we 
3 (engineering department) were allowed to log 
on the company's IBM 360 mainframe when it 
was not in use by the accounting department. I 
learned BASICA by a visit to IBM in downtown 
Chicago. Later we had Time-Share and were able 
to use IBM's downtown computer, logging on 
using the telephone (50 BAUD) and a printer. 

A couple years later, we got CompuServe and 
a monitor, we still had to dial up and enter 
our code to get online. I never really got to fully 
put to use the BASICA language because of the 
limitations on allotted time and the connect 
charges. 



BASIC language. 

In 1980, 1 got the ZX-81 and immediately updated 
its IK RAM. There were magazines articles and 
newsletters devoted to it. 



i 



i? ir^he TS-2068 appeared in 1982, color, 64K 

RAM, printer, 300 BAUD modem, etc I 

didn't waste any time buying one. Various 
magazines began to cover all aspects of the TS- 
2068 and there were plenty of writers and 
suppliers of add-ons and attachments, and many 
newsletters. I acquired the LarKen and a disk 
drive, later on, the LogiCall. 

End of 1980' s, I joined the Chicago CATUG 
'group. Bob Swoger published a newsletter. 



nphe end of the 1970's, the company got a 
A Commodore 64 for my office. In 1979 I saw 
an ad in an engineering magazine for the Sinclair 
ZX-80 for $200, then a ZX-80 in kit form for $99. 
I got and built that kit pronto and learned the 



Later on he published ZQA! He was having 
difficulties in meeting the deadlines of two N/Ls 
with his full time job, so I, retired by that time, 
took over the publishing up to this date. 

Abed Kahale 



ZXir QLive Alive! 



4 



Spring 2003 



3 



ROUTINES 



T/SNUG CHAIRMEN 



ZXir QLive Alive! 
Kick-off Announcement 



SNUG is DEAD! 

Long LIVE T/SNUG! 

If you feel as I do, READ ON! 
If a doctor saw no life in a body for 
six months he would presume that 
body was dead! If our user group 
doesn't hear from another user group 
for six months we presume it is dead 
and we cease to exchange 
newsletters with it. We have waited 
long enough for the leaders of 
SNUG to MOVE but they haven't! 
Do you all remember "Lead, follow 
or get out of the way!"? 
The folks at the helm presently must 
not be thought of as BAD, they just 
don't have the time to devote to this 
undertaking. Therefore, let us not 
chase them away as we will need 
their help, let's just ask them to step 
aside and let us get moving. As 
LARRY KENNY points out all the 
time "being negative causes 
destniction and loss. The SNUG 
officers are fine men, they are just 
overloaded. 

We have a MAN WHO IS 
WILLING and HAS the SPUNK to 
motivate OTHERS who will MOVE. 
That man is DON LAMBERT of 
AUBURN, INDIANA, formerly of 
CRAGIST the newsletter of the 
CEDAR RAPIDS, IOWA group. 
T/S user groups, let's give Don his 
head, as you would let go of the 
restraints of a horse, and LET HIM 
TAKE YOU HOME, that is, to a 
place that gives you a warm feeling! 
What I am proposing here is that WE allow Don to be the 
CHAIRMAN of a NEW organization called T/SNUG, the 
Timex/Sinclair NorthAmerican 2 

VICE-CHAIRMAN from their group to add their names to 
the list of vice-chairman for the purpose of maintaining 
activity in T/SNUG. The present conventional officer set-up 
of SNUG makes no sense! The president has to call 
meetings and have the other officers present For a 
continent wide outfit, HOW? How can you vote them out? 
A good number of T/S users are retired and have talent. 
If Don took the reigns as Chairman, and other men took a 
vice- chairmanship for other tasks, Don would not have to 
wait on others to get an OK to move from a few officers, he 
could move on his own from what he gets from a pool of 
about 20. Also, Don has most of the equipment. What say 
we give him a try? At first he will be the whole thing, but as 
each member group adds to the list of \ice-chairman 
willing to do some task, this thing can grow. 
Don would put out a new sletter at least four times a year. 
Don would see to it that software libraries were built up and 



0 



HIT 



HJsar Groups 



from out of 'THE ASHES 9 rises 

M~Kw QMm AMmi «« 



42* 



Tassex/SiocSaM- NontfeAssefscasB User Qsw&s 
Volume I, Number 1 



Spring 1991 



MEMORY MAP 



ADDRESS 



T/SNUG Chairmen , 1 

T/SNUG Information 3 

ZXir QLive Alive! Article Contributions ............. 3 

Contributors to this Issue 3 

T/SNUG Meetings , , 4 

From the Chairmans Desk. 4 

TREASURY NOTE$ 6 

SYSOP 1 s Twisted Pair 6 

NEWS ITEMS ......... 6 

Software List , 6 

Special Deals and Buys 6 

Articles: 

JLO PROPOSES DETENTE WITH IARKEN! . 7 

STEPPING RATE FIX , ......... 9 

AdS 11 

And now a word from our Venders 12 



Here is the list of 1991 T/SNUG Chairman and how to contact, 
them. We wish to support at least the following SIGS, ZX80/ZX81, 
SPECTRUM/ TS2068/TC2068 and QL. If you have questions about any 
of these fine machines contact the Chairman. 



POSITION 



NAME 



PHONE 



PRIMARY FUNCTION 



Chairman 
Vice-Chairman 
Vice-Chairman 
Vi ce -Chai rman 
Vi ce -Chai rman 
Vice-Chairman 



219-925-1372 
708-837-7957 



Chief Motivator 
Newsletter/BBS Sysop 

yim-mmts Jfc*to*r/CATUG ql 

Plotter/CCATS 
TS Bullit.in 
QL 



Don Lambert 
Bob Swoger 
Al Feng 
Rod Gowen 
Bill Harmer 
Open 

listed in the newsletter periodically. 

Don would build a list of every known T/S user in North 

America and make it available to all user groups. 

The T/SNUG newsletter would always be available on BBS 

so that all the INFO could be downloaded. 

The T/SNUG newsletter would also include printings of 

vender catalogs FREE to the VENDORS. 

CATUG did offer SNUG newsletter help and SNUG did 

not take it we offered BBS help and SNUG did not take it. 

Don will accept help from all of us. 

How do we give this a try? Find someone in your group 

who is retired and willing to send copies of your newsletters 

to Don in hard copy and 5 1/4" disk in one of the formats he 

mentions in his letter and see what he does with it A small 

check of encouragement would be nice to get this moving. 

As for FUNDS? They would be in the future the same as 

for SNUG and if SNUG has any left on hand now, they 

could forward those funds to Don eventually. Don must not 

do this out of his own pocket, for sure, his wife would kill 

him! 



ZXirQLive Alive! 



Winter 2 



003 



Many thanks to Al Feng for the newsletter name, ZXir 
QLive Alive! It expresses the wish of many to keep the 
ZX/TS/QL family of computers going for decades to come. 
Bob Swoger, Representative Chicago Area Timex Users 
Group CATUG 

From The Chairman's Desk 
Happy 1991! The turn of the decade certainly has heralded 
many changes. 1991 sure started out with a bang. Desert 
Storm and alL but one small shocker was a phone call from 
Bob Swoger after he read a letter I wrote to CCATS in 
OREGON. He asked for a disk with my letter to CCATS on 
it and here is a portion of that letter: 

To: CLACKAMAS COUNTY AREA 

T/S USERS GROUP 
Dear T/Sers, 

Is there a SNUG? That depends upon what you call it I 
talked to Paul Holmgren and the next issue (is it #3) is 
about ready to be mailed. I got a firm promise of that before 
the next meeting of ISTUG but also at the last meeting got 
assurances it would be mailed within two weeks. 
I assure you it does me no good as an editor not knowing 
when it will get published and mailed so that I will know 
what material was used in the issue so that I can lay out the 
next issue. I do have the material for the next few issues 
and some material of my own to include. 
This is not by my design but what has been given to me, I 
do not have the list of addresses of members or I would 
have dug into my pocket and gotten something out. For 
some reason they or Paul wants to retain the control of the 
printing and mailing. And Paul is 155 miles away and 
letters go unanswered and telephone calls get expensive. 
They requested me to be SNUG newsletter editor last 
November and so far not much has been done. That seems 
typical of SNUG. 

If I had the information to be able to mail out to the SNUG 
members, something would have been done, at least by last 
Christmas. Nothing fancy 7 but at least let everyone know 
that SNUG was still around. Several times I almost gave up 
but keep thinking that it will get going. I hope that it will 
before all the T/Sers leave the fold. 
About elections, I would accept an office, I don't know the 
duties of any but I would not turn down any. But I would 
want to continue the SNUG newsletter if at all possible 
unless someone with better qualifications comes along. It 
will be a thankless job I know but if anyone sends me 

material the newsletter will continue 

T/S computers, I am still in the beginners stage in many 
ways. I will admit that since I have attended the ISTUG 
meetings beginning back in October missed the January 
meeting, swap meet too) I have learned so much more. Not 
what I would go to the meetings to find out but what was 
there to learn and what the others wanted to explain. I still 
have problems but I am further along than before I moved 
into ISTUG territory. 

I only work with the ZX80, ZX81, T/S1G00, T/S1500 and 
the T/S2068. I do have one T/S2068 with the SPECTRUM 
ROM but I have not used it. When feel that I have learned 
the T/S2068 I will be ready for the SPECTRUM. Since the 
QL and the Z88 do not use the same language I am not 
interested in them. At present the only time I would want 



to have a QL is when I need to copy an EPROM. 
I have much hardware for the above computers and lately, 
March 2nd, I performed a marriage and now have the 
LarKen/Oliger disk systems [SUPER DOS] running on my 
working T/S2068 computer. I did not do the complete 
hardware modification of the LarKen dock board since I did 
not bend out pin 1 of the 74HCT74 chip on the OLIGER 
SAFE board and tie it to pin 14 so that I could power up 
with both interfaces active without the computer freezing 
up as suggested by Larry Kenny. The only problem is that I 
cannot LOAD my Oliger version of MSCRIPT V5.5 with 
the LarKen board enabled. If do and I try to LOAD a file 
the computer does a NEW! A quirk can live with since I an 
now aware of it The reason I did not bend out pin 1 is that 
the chip is soldered in. 

On the ZX81 I am trying to get an AERCO disk interface 
working with double sided 40 track drives. The used system 
that have has one single sided 35 track drive and the 

docs the first 5 1/4" drives were single sided 35 track 

and quite likely single density since the software asks when 
you FORMAT if it is single or double density. Changing 
drives requires a new interface EPROM. AERCO still 
makes the system and supplies the EPROM's. I have the 
LarKen ZX81 disk system but to SAVE a program that has 
machine code in it you have to POKE the start address and 
the length of the code and I do not know how to find that 
out 

On the T/S2068 I have been transferring my LarKen 
MSCRIPT files to Oliger by way of a cassette version of 
MSCRIPT V5.0 which I converted to LOAD LarKen and to 
SAVE Oliger. That does beat SAVEing to cassette and 
reLOADing to the other version of MSCRIPT which I did a 
few times before I got the LarKen/Oliger marriage 
performed. 

Anyone with comments to send in to SNUG please do this, 
ask for help, got something to sell, want to buy something, 
got a problem, got a solution to a problem you have had. 
Anything at all about any of the T/S computers including 
the clone of the ZX81, the PC8300 (or IQ8300). 
If you write and want an answer please use a LSASE so that 
I do not have to dip into my allowance to reply. My postage 
bill is high enough and the new rate does eat into my 
allowance even more. Can't believe how fast the stamps go, 
I buy them about 40 at a whack and it seems like I have to 
do it more than once a month. Same with telephone calls, I 
am willing to talk anytime except that my wife when she is 

home does like to have me do other things 

Bob Swoger is the Editor for the Glenside Color Computer 
Club, the Chicago Area Timex Users Group, and both 
President and Editor of the Motorola Microcomputer Club 
in Illinois. 

I will need your help, I can't do it alone, but I assure you 
that when I say that the Tiniex/Sinclair NorthAmerican 
Users Group is going to be moving forward in innovative 
software, user support and product assistance; you are not 
hearing the rumblings of a madman nor the visions of a 
lunatic. You are hearing the convictions of one who knows 
the binding power of this fellowship, and the collective 
desire to nelp the person next to me'. 

Don Lambert, Chairman 

Timex/Sinelair NorthAmerican User Groups 



ZXir QLive Alive! 



6 



Winter 2003 



From the Chairman's Desk 



It was a wonderful adventure to enter the world of 
Timex Sinclair computing. I entered it in early 
1980's - was it 1982? I owned at one time or another 
a ZX-80, ZX-81, TS-1000, TS-1500 and a TS-2068. 
I also had a clone of the ZX8 1 and later a Z88. And I 
did have a disk drive system for the TS-1000 but 
when I acquire a LarKen disk drive system for the 
TS-2068 I really was into computing. I ended up 
with several different disk drive systems and finally I 
was using an Oliger/LarKen system until I left the TS 
computers in 1999 when we moved from Auburn, 
Indiana to Forsyth, Illinois. When w r e moved from 
Cedar Rapids. Iowa to Auburn I had (my wife's 
count) 3 1 boxes of stuff that she declared were my 
computer system plus backup parts. And when we 
contemplated the move from Auburn to Forsyth I had 
to agree to leave the T/S computers and get a pc to 
get rid of the boxes of stuff. So I shipped a lot of stuff 
to Jack Boatwright However, I did keep the Z88 and 
what I had for the Z88 plus some manuals for the T/S 
computers. 

So from the time I shipped the T/S stuff to Jack till 
I bought a pc I was in withdrawal without a 
computer. And that was from the early part of July 
till September when I had shopped and found the best 
deal (so I think) at a Sam's Club for a Compaq 
Presario 5715 computer, which I still use and will as 
long as I can. The first time I powered up that system 
I knew I wasn't with a T/S computer. I waited and 
waited for it to finally be ready to use. And then I had 
no idea of what to do. My learning curv e was flat for 
a long time. I finally stumbled onto a copy of Smart 
Computing magazine and I signed up and from that 
time on I was learning. That was in February 2000. 

I haven't forgotten the T/S computers but I only 
have the Z88 (currently stored) and memories of 
the grand times I had with them. And all the friends 
that I made in those years. And all the trips I made to 
go to the T/S computer meetings and especially the 
trip to Washington, DC and to Milwaukee and the 
many trips to Dayton. Ah, those were the days ! 

The only thing that I want is to be able to interface 
the Z88 to the pc. I have the software and the 
hardware but attempts to upload to the pc fail. Or 
maybe it doesn't fail and I don't know where to find 
where the file went. A 13 gig hard drive is quite large 
and it could be there and I don't know where it is or 
the file's name. That would make it easier for me to 
manage notes and stuff since my handwriting is 
degrading from bad to worse. And along that line I 
even bought a Sharp YO-520 organizer thinking that 



ZXirQLive Alive! 



if I could manage to upload memos from it I could 
learn how to do it with the Z88 BUT that too didn't 
work. 

I also have a Laser PC -3 which is a poor man's 
version of the Z88 that is supposed to be up 
loadable to a pc but I somehow lost the disk of 
software for the pc (it was a 5.25 floppy) and my pc 
uses 3.5 floppies) so that would have been another 
problem. However I do have PC Tools by Central 
Point PC Tools, winch was the company that wrote 
the software for the PC-3 back in the first part of the 
1980's. Currently I am studying DOS for the PC to 
learn how to load the proper software program into 
the pc. If someone could give me any details of how 
to do the upload from the Z88 to a pc in simple 
English I would greatly appreciated it. 

I have a working disk drive interface for the 
Z88, which would make it more useful to use if I 
could upload to the pc. 

Health wise I am healthy now but there was a 
time when I wasn't. Back in 2002 in October on 
a Sunday I felt something wasn't right and had my 
oldest daughter take me to the hospital. That was the 
27 th On the 30 th they performed a 5-way bypass on 
my heart and an aorta repair. They had to stop my 
heart to be able to work on it (the heart refused to 
cooperate) so a 3.5-hour operation ended up being a 
7-Miour operation. I was a grouchy bear for quite a 
while since I couldn't do anything nor did I feel like 
it either. And I am pretty much back to where I was 
before the operation although at my age (77) I don't 
have the stamina that I had before. I did not have a 
heart attack but probably would have had soon if I 
hadn't went to the hospital for a checkup on why I 
felt like I did. 

Donald S. Lambert 



They never heard of the Sinclairs !! 




Spring 2003 



Input/Output 



Quanta and NESQLUG are pleased to announce the 
US QL show to be held Saturday 17 May 2003 from 9 AM 
to 5 PM at the Econo Lodge at 370 Highland St, West 
Haven, Connecticut 06516-3522. West Haven is on the 
coast adjacent to New Haven. The special rate at the 
Econo-Lodge is $59 (including tax!) per room per night for 
1 to 4 persons if vou make reservations before 17 April. 
Call 203 934-6611, email: 

econolodge@comcast.net or mail. Please mention "Albert 
rate" and include your credit card number. Continental 
breakfast (coffee and pastry) is included. 

New Haven Tweed (HVN) is the closest airport, but 
the closest international airport is 50 miles away - Bradley 
International in Hartford, CT. The New York airports JFK 
and La Guardia are a little over one hour away. Newark 
Airport in New Jersey is not much further but requires a 
ride through New York City. NESQLUG will endeavor to 
provide rides for those arriving by air. Please contact Bill 
Cable, email cable@cyberportal.net if you need a need or 
can help out with a ride. 

The Econo Lodge is 2 miles from the beach. From 
the north, take 1-95 exit 42, take right turn to Route 162 
East, hotel is a half mile on the left. Several restaurants and 
a shopping mall are nearby. Those who arrive by 6 PM 
Friday may optionally meet in the parking lot to eat 
together in a recommended restaurant. 

Nearby New Haven is the home of Yale University 
and contains several museums and other tourist attractions. 
Many other attractions are along the Connecticut coast, 
plus there is good and cheap public transportation to New 
York City. Ladies will meet at 10 AM to make plans with 
Dorothy Boehm to see nearby sights. Contact Al Boehm, 
tel: 256 859-8051 or email albertboelmi@juno.com for 
further inforniation. 

Albert R Boehm 

alb ertboehm@juno . com 

I just received a letter from the sister-in-law of Frank 
Mills. She told me that Frank passed last July of a stroke. 
His wife Jo moved to Goreville, JL to live with the sister- 
in-law, Molly Zalar - Molly said we can send cards to 
Josephine Mils, 55 Lake Shore Dr. S., Goreville TL 62939 
(1-618-995-2399) 

Molly said that Jo read our Christmas Letter and 
responded to tell me that Jo's health is poor, she has breast 
& spine cancer and is taking radiation 

I will always remember Frank, he was a gentle guy 
with the ability to laugh at the antics of us younger guys 
back there in the 80's. He used that TS2068 mainly to do 
his banking using the LarKen RAMdisk with no disk 
drive. I had to write a special program for it. 

Frank was 90.5 years of age, a retiree of Motorola. A 
grand old age I'll miss him 

— ==GATOR== — Robert E. Swoger - K9WVY" 



From: Les Cotrrell 

Thu, 06 Feb 2003 18:39:45 -0500 

I have posted an eBay listing for a 2068 "superchip" at 

htrp://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=3 

400580738&category=4193 

Les Cottrell 

lcottrelljr@cfl.rr.com 

'Hi all 

In response to Johnny Red's question about 5 1/4" 80 
track drives, I have two 5 1/4" drives that are DSQD, or 
quad density drives. Radio Shack sold a box of 10 5 1/4 
diskettes for a while that were specifically made for these 
type of drives. I found that I could normally use the 
DSDD diskettes just as well and they didn't cost as much 
either. I believe these DSQD drives were found mostly on 
CPM type computers. I used them with my Timex 
AERCO FD68 drive system which allows 35, 40, 76 and 
80 track drives in 3", 3.5", 5 1/4" and 8" sizes (but not in 
that order). All drives on the AERCO FD68 can be single 
or double sided except for the 8" drive which can only be 
single sided. I've used 3" single sided (and an unusual 3" 
double sided version), 3.5" single/double sided, and 5 1/4" 
double sided drives with my FD68 system. With a little 
jumper modification to old 1.2 meg HP 5 1/4 drives, it is 
possible for these drives to work with the AERCO FD68 
system as 80 track 800 Kbytes drives. 

The AERCO FD68 system can also boot with a look- 
a-like CPM system which is called RPM. You do get 80 
columns on the screen but it is pretty slow to display on 
the Timex screen. It is very much better to use a terminal 
display and turn off the Timex screen. Then the display 
really flies. 

Keith Watson 

keithwatson@netzero.net 

TS2068 Enthusiast 

Greetings to you all and thank you for allowing me to 
join your group! I first owned a TS2068 in 1983 as a 
young'n. My dad would not buy me the ever-popular 
console gaming systems and told me that the only video 
games I was allowed to play were those I could program in 
BASIC on the TS2068. Coincidentally, I became adept in 
BASIC programming. 

I gave that system to a church in 1990, while I was 
enlisted in the Coast Guard. I recently regained interest in 
the computer while siirfing the web. 
I bought my current one on e-bay, and I've made it my 
mission to maximize my TS2068 over the next year or so. 
The hardest things to acquire will likely be a FDD system 
(preferably 3.5 disks), an adapter for a modern printer, and 
(if possible) a hard disk drive-- yes, I've my work cut out 
forme... 

I look forward to knowing more about each of you. 
If you want to know more about me, here is my rather 

pathetic website: 

http://ww ? w.geodties.coni/grey_six/jay_and_sheiri.lii 



ZXir QLive Alive! 



8 



Spring 2003 



ml?103578 1498 145 
John Simpson 

jegs_and_sherri@msn.com 

Hi Abed " ~ 

It's several weeks ago that I have received the 
Autumn 2002 issue of ZQA! I was really sad to read that 
you will stop with your nice magazine. 
I got in touch with several friendly people through ZQA! 
Though there wasn't too much about my favorite computer 
ZX81/TS1000, 1 enjoyed to read about the activities in the 
USA. Especially I likes to read the articles about Z88. Be 
sure I will miss ZQA! 

We do also have the problem getting articles for our 
ZX-TEAM-MAGAZTNe from most of our members, but 
fortunately there are some, who support us on a regular 
base. And you may have seen in the last issues, I could 
take some information from the internet too. 

So we will keep on editing our magazine. 
Unfortunately I do not have the time to translate to English 
and I didn't find someone to do this job, so everyone who 
doesn't understand the German language, will be unable to 
participate. 

Please tell me if you still want to receive the ZX- 
TEAM-MAGAZINe in future. I would be glad to send it to 
you! Goodby(t)e 

Peter Liebert-Adelt 

http://www. zx8 1 .de 

Hello Everyone.... 

I am still interested in working with Hi Soft Pascal 
programs but I am out of ideas on what kind of programs 
you need. Send me some ideas and I will try to develop 
them. 

David Solly 

k_d avid_solly@h otm ail.co m 

Helo AbedL " 

Paul Holmgren and Frank Davis have given an 
official okay for die 

IfiL Emulators €11 

published by RWAP Software of West Yorkshire, 
UK to be distributed in North America with the QL 
ROM images under certain conditions and in return 
for a small royalty. The ROMs, software, hardware 
and name of Sinclair Computing and all trademarks 
still remain the protected intellectual and copyrighted 
property of Paul Holmgren and Frank Davis, till the 

end of 2007. This should make the use of QL 
emulators for those who have not owned a legal QL 
easier to set up as long as all conditions are met. 
Frank Davis 
F WD Computing 
fdavis@iquest.net 
www.fwdcomputing.bizland.com/ 

Abed- 

I just learned from Jack Boatwright that you are 
terminating publication of ZQA. I am certainly sad to hear 
this news. 



U i mm. I would like to ask if you would 

■ please include a request for 

information in the final issue. Some 
time ago Jack sent me a LarKen 1000 floppy disk drive 
controller for the TS1000/ZX81. The device appears to be 
faulty. 

I am in need of the ROM code (in *any* format), 
schematic, docimientation, and *any other information or 
knowledge* regarding this device. Thanks for your help. 

Glen Goodwin 
acme@ao.net 

Hello Abed, 

I would be interested in articles on ZX81 emulators 
and WRX16 Hi-Res Video, especially! 
My address is: 

Mark Anderson 

319 South Grove 
Mora, MN 55051 
pfoiuiertSjmninter.net 

Hi Don! " ' ' " 

Long time, no see. I hope to find you well and still 
focus on Sinclair/Timex products. If all goes well (and it 
does), ZX91 and ANDRE*** should be back this coming 
fall with all the goodies as before plus release of new 
programs of 3 kinds Free-Ware, Shareware and Pay$- 
Ware. But my final decision is not made up yet on how to 
make them available. 

Hope to ear from you and will give you more details. 
As you see I am now playing on internet. Keep the good 
work. Best regards. 

Andre Baune 

ANDRE*** 
zx8 lab(a)progression.net 

2003-04-03 

Abed. 

There is a set of freeware QL emulators for DOS and 
Windows and Linux downloadable from; 
wwvv.inter.nl.net/hcc/A.Jaw.Venema 

These work fine except reading program files is a 
little klunky since you first have to get them into QL 
format. But there is a separate program QLtools that does 
it for you. Smoother is the low cost emulator for the MAC 
on: 

http://users.infoconex.com/daniele/q-emulator.html 
which also has low cost ($22.50) and a more versatile 
($40) emulator for Windows. There is also the high end 
emulator, QPC2v3 (EUR 99 which is about $110 US) 
available from: 

www.qbranch.demon.co.uk or http://qpc.j-m-s.com 

Also available, but more expensive, is the advanced 

QL hardware the Q-40 and Q-60 with things like Ethernet 

cards, stereo speakers, 128 MB ram, and 32 bit graphics. 

Info available from: info@q40.de 

There is also a ton of freeware programs available. 

See the above site for links. God bless, 

AlBoehm 

TS-2C3S I ill I; II I 

I want emulator for TS2068, not the Spectrum. I had 
a Spectrum deal on my TS system but rarely used it. The 



ZXir QLive Alive! 



9 



Spring 2003 



Spectrum was no way as good a machine as the TS2068. 
My concern is to save my own programs written on 
TS2068...to be honest. Still, I will check them out if I ever 
fire my TS2068s up again. Both my Dell and iMac have 
crashed this week and Dell has been sent back to 
manufacturer. Thank God for revivable Macs. 

Promise still holds -$100 for knowledge of TS2068 
emulator for Apple or Wintel. and with bad experiences 
with Dell I would prefer TS2068 to Mac emulator. I 
would simply transfer my progs over to Mac and still give 
Callum my TS stuff, books and all the rest as we talked 
about for Spring Cleaning plans. 

Ok. yeah, two disk systems I have are Zebra drive 
and LarKen drive. Both were working last time I tried 
them. 

Joan Kealv 
hikealy @ nonet org 
You can load real software from tape into Warajevo 
(maybe others, but I haven't checked) and save it onto 
your system. There are several utilities that are available to 
let you do this if the emulator you choose doesn't support 
it, but most do. PlayTZX and Taper are both the most 
higlily regarded tools to convert software from tape to 
emulator files (.tap and .tzx are exact images of a real tape, 
and can be used to make tapes from if you need to do so 
later) Warajevo v2. 51 Available from: 
ftp://ftp.worldofspectn^ 

s/warsp251.zip>ftp://ftp. worldofspectrum.org/pub/sinclair/ 
emulators/pc/dos/warsp25 1 .zip 

M.E.S.S. Available from: 
<ftp://ftp.worldofspecrnim.Org/pub/smclair/emulators/pc/w 
mdows/mess0612b.zip>ftp://ftp.woridofspectriunorg/pub/ 
sinclak/emulators/pc/windows/mess0612b.zip This can be 
used on Apple or PC platforms - the above link is for the 
Windows version, with the Macintosh one being available 
from: http://mess.emuverse.com/ 

Each of the emulators 1 mentioned are TS-2068 
emulators that run on either the PC or Mac - Warajevo is 
by far the most accurate, but the most slightly more 
difficult to configure. MESS is very straightforward and 
works for the Mac and PC platforms. There are literally 
100s of ZX Spectrum emulators, but very few TS-2068 
ones, and these are they. The only other I'm aware of is 
MultiMachine (PC Only) which is available from WoS as 
well, but you'll probably find Warajevo is better. 
All of them include ZX Spectrum emulation, and usually 
other models as well; the TC-2048, etc. Virtually 
all emulators other than these do every variation of ZX 
Spectrum, but not Timex. Those listed also do both Timex 
andZX Spectrum 'natively' without re-emulation, 
independently of each other. Hope this helps! 

Callum Davidson 
callumdavidsoni@ihotmail.co m 

I've owned various Sinclair products since about 
1983, and have fairly recently had my interest re-kindled 
in them and the early home-computer industry. I'm 
originally from tfie UK and moved to Tennessee about 5/6 
years ago so, naturally enough, I started educating myself 
about the US market as it compared to the UK one I was 
familiar with. Alongside this, I began to build up a 
collection of things I used to own, and things I always 



wanted to own but could never afford, for their "nostalgia" 
value more than anything else. As far as the UK goes, I 
know the market industry and products as well as 
(probably better by now) almost anyone else in the US - 
half because I was there, and half because of the huge 
amount of time I've spent in the past few years 
''rerninding'' myself of what it was all about through 
research, etc. 

The flip-side being that by comparison, I know 
virtually nothing about the Timex machines and the US 
industry from the same era, and it's proven to be 
surprisingly difficult to track this information down online. 
With the exception of a few (admittedly, very good) 
Thnex-specific sites, there doesn't seem to be much 
information or material readily/publicly available. This 
surprises me since there seemed to be a lot of interest in 
the machines at the time, and they are radically different to 
their UK equivalents. There are countless Spectrum 
emulators, software titles, user guides, manuals, magazine 
archives available, but hardly arothing about the Timex 
machines, and this bothers me. 

So, I joined the ZQA Mailing List shortly after it was 
set up so I could improve my knowledge of these 
machines, etc. and to learn from the people that were 
actively involved with them while I was over there, 
blissfully unaware, fiddling about with the Spectrum. I can 
contrast what they know to what I do, and vice-versa, 
which helps us all out because we each learn something 
new that can be passed along for the benefit of everybody. 
I find this very rewarding, and it gives me a "warm-and- 
fuzzy" to know that there are still people interested in 
something so old and "useless" by comparison to the PCs 
of today. That we've come this far in +/- 20 years astounds 
me, and 1 like to contrast the type of things we're taking 
for granted now with how imimaginable they were then, 
which puts eveiything into perspective to me in a fairly 
humbling way. 

Nowadays, I write code for a living and can do things 
at the push of a button that hadn't even been visualized 5 
years ago, let alone LO or 20. I have a 2-year-old Son, and 
the things he'll be doing will have their roots in what I'm 
building today. Seeing the distance we've already covered, 
and knowing that the "next generation" platforms I'm 
building now will amount to no more to him in 20 years 
than a ZX-80 does to users today is quite inspiring, and I 
can't wait to see what he has at his disposal when the time 
comes. 

Harriet, clearly to me, has a long-standing interest 
and enthusiasm for the Timex macliines, and wants to 
make sure they're not relegated to the "oh yeah, them too" 
category, and that anyone that expresses an interest or 
airiosity in them has a place to go for information. I 
suggested a few emulators a while ago that might be of use 
to her, and she emailed me a couple of days ago to say she 
may need some guidance when she starts working with 
them. I'm no expert on the emulator front but I'm 
certainly happy to lend a fresh set of eyes to any problems 
she might have with them, and can help figure out a 
solution (if there is one) if possible. I believe she has been 
unwell recently, and wants to transfer some software she 
wTote way back before clearing her storage facility of all 



ZXirQLive Alive! 



10 



Spring 2003 



the old items she has boxed iip and getting dusty, which is 
why she wanted to investigate the feasibility of using an 
emulator at all. 

I get emails all the time from people asking questions 
or looking for some piece of information they know 
they've seen but can't find anymore. I've accumulated 
quite a lot of material that I can check for references (and I 
enjoy this, because it provides me with a "excuse" to fiddle 
with old machines!) and can put people in touch with 
others that I think might be able to help when I can't. I'm 
forever mailing books, lists, tapes, etc. to people because I 
have spares and they've asked for them I just give away 
most things because I know those who are asking are 
genuinely interested in making use of whatever it is they 
need, and they're not just transient "collectors" building 
their next eBay inventory - 1 don't deal with those people 
on any terms, and can usually spot them coming a mile 
away. 

I've been trying to locate a lot of old magazines, 
catalogs, newsletters, etc. recently to build a proper list of 
references and would like to scan some of these in and 
share them (copyright issues notwithstanding) in an online 
library of sorts at some point Also, there seems to be a lot 
of people looking to find the inevitable missing issue(s) of 
their otherwise complete collections, and they're always 
the ones somebody else has a mysterious extra copy of! 
There's volumes and volumes of otherwise "lost" 
information lying at-the-back-of-the-garage all over the 
country that would be really interesting to read and refer to 
in future, so I'd like to concentrate on building some sort 
of a central archive for these things. Long-term vision, 
maybe, but it would be very worthwhile, in my opinion. 

So, that's my 2c on the whole Timex/SinclaiMhing. 
Bit of a rant, I know, but it's one of those things I get a lot 
of enjoyment from, and I like to think there's still a place 
for altruism :) 

Callum Davidson 

callumdavidson@hotmail.com 

, •— ^ — 

WN Richardson & Co 
6 Ravensmead. Chalfont-St-Peter 
Gerrards Cross 
Bucks, SL9 OMB, UK 
wnr@.compuserve. com 
Bill Richardson will have usual Z88, QL units, 
spares etc. and is looking for your redundant Spectrurns 
and parts, particularly Interface Ones and connectors, 
please. He will also bring RGB, monitors and dot matrix 
printers if asked for at £15 each, and other bits and pieces. 
Traders ads Qbranch: 

www.qbranch. demon. co.uk/showflyer.htm> 
Tony Firshman 

http://wTvw.firshman.demon.co.iik 

Hi Abed," 

The only thing I have to offer for the last issue of ZQA is 
that I will always remember my TS-1Q00 fondly and continue to 
use it today, but not very often. It has been a good friend. But 
the people I have met through the users groups are just 
wonderful, fantastic, kind people, and I will always remember 
them most fondly since they are very special friends!!! Take 
care, Joe. 

Joseph Rampolla 

jprampolla@hiazenet.net 

ZXir QLive Alive! 




In ts2068@yahoogroups.com. Hector Jorge Picone 

<dunkelj3iky@y...> wrote: 

Hi, Anybody can help me? 

F m hying to make a ^ister board for my JS2068. 

Greetings, Just a bit of Twister history. 

I designed the original "Super Twister" board for 
Zebra back in the day. Most of the electronics design was 
done by members of a user group in Long Island, I 
collected all the circuits and put them together on one 
board. I don't remember all of the details but it had 
memory decoding for a replacement ROM, a voltage 
regulator, an external reset button, some sort of video port 
and some other circuit, the purpose of which I do not 
remember. Sorry but I don't have the documentation 
anymore. 

The board was designed to fit into a VHS video case 
with cutouts for the connectors. As I recall, the 2068 was 
the same color as a silver '82 Honda Chic. I made a few 
prototype cases and painted them with a can of DupliColor 
paint. They sure looked slick but were too labor intensive 
for production. 

I also wrote an extended BASIC that was called 
WindowPrint 32/64 which Zebra sold. You can find a 
copy on the Warajevo web site somewhere. The 64 
column software was advertised to work with the OS-64 
cartridge Zebra developed, actually it was a 64 column 
driver which could replace the OS-64 cartridge. Naturally, 
the one line BASIC command to kick the 2068 into 64 
column mode was never published in the manual 

There are several PCB prototype houses now that do 
nice work, some of them even have free downloadable 
design software. It might be worth looking into if you 
want to create a new twister board. Regards, 

John B. 

"j lb320Q ! ' jlb3200@yahoo.com 

Alvin, 

I gave my Dell laptop to my grandson for med school 
and bought an Apple iBook nearly a month ago. He knew 
MS computers and I prefer Macs so any emulator must be 
able to transfer to my Mac computers. Sorry, but Callum 
Davidson was first so I am spending the $100 to send my 
TS-2068 stuff to him He had offered to pay postage and 
sliipping, but I said the reward would be used to cover it. I 
just this week sent him my tiny TS-2040 printer and last 
week a box load of the thermal paper. I shall try to figure 
out if I can make you cassette copies of my music, but I 
may have to depend on Callum to reproduce those tapes- 
he is welcome to circulate them. I confess I did some dern 
good translations for the TS2068 with chording along with 
lead plus the lyrics going on the screen as the music 
played. 

Astounding that that little computer was so fine. 
When I consider that I bought each of my TS-2068s for 
roughly $100 apiece and have spent over $1300 each for 
three Macs and a Dell.. .not counting software and all the 
extras we are constantly buying. In many ways I enjoyed 
my TS2068s more. 

Harriet J. Kealy 

hjkealy@rionet.org 

" Spring 2003 



11 



Can NASQLUG Take The Slack? 

byAlBoehm 



It is with considerable sorrow that I heard that ZQA 
would put out its last issue. All of us that enjoy using 
the T/S computers will be a little diminished. I still 
remember how my ZX-81 solved a tough math problem 
I had worked on for years and how r my kids grew up 
playing games on our TS-2068. 

Now most of my computing is on the QL. Well, 
actually most of it is on QL emulators - the QXL, 
QLAYW, Q-emuLator, and QPC2. Yes, I have 
Windows and MAC and use them when they are the 
best tools for the job at hand. However, I find for 
development work the QL far exceeds anything 
available on the PC or MAC . 

I'll give you one example. I write games for the youth 
group at church. Pretty easy and fun to do, with 
SuperBasic. The kids can run them on the QLAYW 
freeware emulator. 

In recent years, the New England Sinclair QL User 
Group has revised its operations to meet the changing 
times. One change is that we went to Virtual Meetings 
via email. This allows members who could never 
attend a meeting in New England to have a say in 
things. Some of the debates have been quite vigorous. 
M dually, most members live outside New England. 
MlSo we changed our name to North American 
Sinclair QL User Group - NASQLUG 

NASQLUG sponsors an annual QL show. Many of 
the European vendors and developers attend and demo 
the latest hardware and programs. This year the show is 
in West Haven, CT on 17 May. Last year it was near 
Washington, DC. 

FBlhe NASQLUG Journal is published quarterly. It has 
■ 6 to 8 pages of technical and news articles. The 
Journal is a semi-ezine. That is, about half the members 
elect to get a paper copy but many only obtain the 
articles via the Internet. However, all can obtain the 
articles from our web page, which means no more 
keying in those long programs from the paper copy. 
ASQLUG is a sub-group of Quanta, the large QL 
group centered in England. This affiliation has 
several advantages. The two most important are: 1. 
Quanta helps out financially with the annual US QL 
shows. 2. All the technical articles published in the 
NASQLUG Journal are also submitted to the Quanta 
editor who publishes them in the Quanta magazine if 
they appear to have broader interest . Nearly all of the 
Journal articles have been reprinted in Quanta. It is not 
required that a NASQLUG member belong also to 
Quanta although Quanta membership is encouraged. 

development is supported by NASQLUG with 
seed money grants and prizes. For example, 
ZXir QLive Alive! 



NASQLUG provided Simon Goodwin some seed 
money to develop a MIDI (Musical Interface) 
capability for the QL. He was able to devise a Keyword 
to send MIDI compatible signals out of the QL NET 
port. All of the numerous MIDI music available on the 
Internet can now be played from a QL hooked to a 
synth or MIDI keyboard. 

There is a NASQLUG web site. In fact, several of 
them! The old site: 

http://geocities.com/nesqlugl/ 
has last year's Journal articles available for viewing and 
downloading. It has links to individual member sites 
such Herb Schaaf s Math site. The link to my MIDI site 
doesn't work since Juno stopped providing web space. 
However, our new Webmaster Phoebus Dokos is 
loading eveiything on our new site: 

wvw.dokos-gr.net/~nesqlug/ 
the idea is for everyone who wants to can have a link to 
their own site. Others can send material to Phoebus to 
upload to the master site. 

ASQLUG is a non-profit organization plus we have 
learned to produce and mail the Journal at a very 
low price. The basic annual dues are $12 to include a 
paper copy of the Journal or $5 for Internet access only. 
To provide an incentive to authors and officer 
volunteers, dues are reduced by $5 for anyone that 
promises to write at least one article per year or 
volunteers and is elected as an officer. The reduced 
rates are thus: $7 for paper copy and FREE for Internet 
access only. 

All members of a household become members if one 
is a member. Children have played important roles 
even as officers. We had an article on Turtle Graphics 
to let elementary school age children do simple 
programs. Also once we found a wife that stayed in her 
motel room during one of the QL shows. Since then we 
have always provided activities for family members that 
are only marginally interested in computers. 

Our officers currently include: Director, Treasurer, 
Show committee, and Webmaster. But several 
important jobs are empty: Secretary to those without 
web access. Program Librarian, and Editor (Articles are 
now published as is without checking for errors!). 
Moreover, if anyone sees a need, for example a Grant 
Officer to vitalize and monitor grants, then they can 
volunteer and be voted into office. Indeed, I have 
ahvays desired that most members become an officer (A 
worker Bee! You only get out as much as you put in.). 

If you want to join NASQLUG, contact the Treasurer, 
Kevin O'Leary 



Spring 2003 






Box 172 
Meriden, NH 03770. 
olearyk@cyberportal.net 
For more information contact Director 



Al Boehm 

2501 Ermine Drive 
Huntsville, AL 35810 
albertboehm@jimo.com 



NESQLUG 



To: <goodolejohn@LIGHTFIRST.coin 
John, (Donaldson) 

Sorry to hear about the nursing home. Bobbie and you too 
will be in my prayers. 

The QL emulators that run on a PC are getting so good that 
rarely do I use my SuperGoldCard QL. The article below 
tells about them. With them on my PC, I feel I have the best 
of both worlds. 

NESQLUG is doing pretty well mostly because we have 
change our mode of operation. We are spread out all over 
the country. A few of us do see each other at the QL show 
(usually in the Spring) and at a overnight Fall meeting at Bill 
Cable's in New Hampshire. But most of our meetings are 
Virtual Meetings done by email every other month. 
If you would like to join NESQLUG, the fee is $5 for email 
only and $12 for paper copy of the NESQLUG Journal. 
Send to the treasurer: Kevin O'Leary 

Five QL Emulators On My PC; Which is Best? 

by Al Boehm 

Jhy would anyone have five QL emulators on one 
PC? Well first there was the QXL. At the time 
it was the only emulator on a PC. I am calling it two 
emulators since I run it with two operating systems. 
Next I bought Q-emiiLator for my MAC laptop. So 
when the PC version came out, I bought it since it was 
similar to what I w r as used to. Later I bought QPC2 
because it could do some things that Q-emuLator could 
not. Finally I downloaded the free QLAYW because I 
wanted to use it on the PCs at the church hall to let kids 
play QL games I had wrote. 

When I realized I had all these emulators on one 
machine, it looked like a good opportunity to present 
an unbiased comparison. 

iCWy deskt °P PC ^ a CYRIX 5x86 CPU running 
2iWat 120MHtz with 24M ram and a 2.5 Gbyte hard 
drive plus a SyQuest Ezflyer 230MB removable drive. 
It has an early Windows 95 OS. A hot machine in 
1996, now it is considered out of date. But a major 
reason I keep it, is that is has ISA slots that I can put 
the QXL into. Most of the new machines no longer 
have an ISA slot. 

Jt have bad eyes. So I use a 17 inch monitor which 
3lprovides a picture 12.4 inches wide. By 
comparison, the original QL monitor had a picture just 
over 9 inches wide. Plus some of my preferences are 
based on the fact that I can not see small fonts. This is 
a personal thing, but I cant help but believe that there 
are aging QLers out there with similar problems. In 



any case, I have the screen set for 800 by 600 pixels 
which affects some of the screen sizes mentioned 
below. 

The QXL 

jfXjfy QXL II has 8M ram. It runs quite well in DOS 
^Wmode. It can also run from a Windows 95 DOS 
window but more slowlv and with some limitations 

ml 

and glitches. The QXL has it's own CPU. Thus 
internal processing times are independent of the host 
PC. However the host is used for I/O and in particular 
the screen display. So some timings are affected by the 
host. 

JJfhe QXL does have NET ports which net well with 
^standard QL's, SGC's, etc. However, the QXL 
NET uses different circuitry so that the current DIY 
MIDI will not work on it. 

S\ major drawback of the QXL is that it can not 
^"▼access PC files on the hard disk. Instead, special 
QXL.WIN files are formatted on the hard disk which 
contain QL type files with their special dataspace 
headers on executable files. Many of the QL CD 
ROMs being sold contain a QXL.WIN file so that the 
QXL can access them via the PC's CD ROM reader. A 
major plus for the QXL is that it reads QL and PC 
floppy disks automatically. One bad quirk is that it will 
not detect a second PC disk after a PC disk has been 
read; a QL disk needs to be read in-betw r een to set it 
straight. 

Actuallv three QXL OS are installed on my hard 
disk SMSQ, SMSQ/E v2.83, and SMSQ/E v2.98. 
I rarely use the SMSQ OS which came free with the 
QXL. Instead I use SMSQ/E which has additional 
features such as the PE and changing screen sizes on 
the fly. However, there was a major change between 
SMSQ/E v2.83 and v2.98; namely enhanced color 
drivers. This is why I call the QXL two different 
emulators for comparison below. 
'Jjffor me and my QXL setup, the enhanced color 
drivers were a step backwards. Through some 
type of incompatibility, the enhanced colors do not 
work with my QXL. They do work OK with QPC2 on 
the same machine!?!? Also the enhanced color drivers 
slow r down screen writing quite a bit as detailed below. 
Worst for me and my bad eyes, the enhanced color 
drivers provide the same small font for QL. EGA. 
VGA, or SVGA screen options. 
The 512 QL window is only 7.6 inches wide for v2.98 



ZXirQLive Alive! 



13 



Spring 2003 




but 10 inches for v2.83.. Thus I have QXL 2.83 and 
QXL 2.98 as separate emulators in the comparisons 
below. 

Software Emulators In General 

Q-emuLator 5 QPC2, and QLAYW all act like 
Windows programs. You start them like a Windows 
program and can switch back and forth between them 
and other Window programs merely by clicking the 
mouse. Q-emuLator and QPC2 allow text saved in the 
scrap area to be transferred to the paste area of 
Windows and vice versa. With a little finagling, they 
can access the Windows files on the hard disk or CD. 
Each can read QXL.WIN files but only QPC2 can 
write to a QXL.WIN file. 

'jSfrhsy all do a good job of running QL programs 
^'although they each have some limitations. They 
each can BEEP through the PC's speaker and can 
access the parallel and serial ports, but none have a 
NET port. They each have a provision for using the 
PC mouse input. Their speed depends on the host PC. 
On the newer PC models, it is blazing fast, but each 
has a way of slowing things down for playing games. 
Q-emuLator v 2.1 

taniele Terdina mote Q-emuLator first as a MAC 
based emulator. Then a Windows 95 based 
emulator It requires a file containing a QL ROM. I 
use a JSU ROM by permission of Frank Davis who 
owns the North America copyright. Amstrad which 
owns the copyright for the rest of the world has given 
permission for non-commercial use. It also comes with 
an older Minerva ROM which I understand is freeware. 
1 use TK2 since Tony Tebby has given permission for 
use in emulators. Q-emuLator can not run SMSQ/E 
although it handles the PE extensions without any 
trouble. 

|j£|~emuLator has only an original QL 512 by 256 
window. However, it can display the window in 
two different sizes. One is 7.7 inches wide on my 12 
inch wide screen and the other is 10 inches. This 
additional width is of great importance to me and my 
eyes. Daniele advises me this would be even wider if I 
had my PC set to 1024 by 768. 

#ne of the unique features of Q-emuLator is that it 
you can change win assignments on the fly. For 
example, WIN 1 can be changed from meaning the 
directory C:\QL\docs to meaning floppy drive a: QPC, 
QLAYW, and the QXL have WIN definitions assigned 
at startup and can not be changed except by rebooting. 
Jjjxecutable files run OK when copied from QL 
>^disks into standard window 7 directories. Daniele 
has some chicanery here that is beyond me but greatly 
appreciated. The Q-emuLator Manual is remarkably 
readable. 

-emuLator was $60 but recently has been reduced 
to $40. Also Daniele plans a $22.50 version that 



only emulates an unexpanded QL Q-emuLator can be 
obtained from: http://users.infoconex.coin/daniele/q- 
emulator.html. 

QPC2 v3.03 [VER$(1) says 2d99] 
/tjijarcel Kiigus wrote QPC2 to ran smoothly in the 
^■^♦Windows environment. It is a top notch program 
as the timings below show 7 . Nevertheless it is not 
without its shortcomings. 

JJfhe most important limitation to me is in the 
^screens. QL, EGA, VGA, and SVGA are all the 
same small font size as on the QXL 2.98. This could 
be a plus for someone who likes to have several small 
windows open at the same time. For example, running 
QPC2 with a small QL window to provide answers to 
put into a small PC window along side it. 
/MJPC2 runs in SMSQ/E only. Most of the time I 
HIT admire the extra capability of SMSQ/E. But 
every now and then I wish I could shut it off when 
there is an incompatibility with older programs. For 
example, until recently the Turbo compiler would not 
run on SMSQ/E and even now I can't get programs 
Turbo compiled on SMSQ/E to run on other systems. 
Perhaps George Gwilt has already got this sorted out, 
and I just haven't gotten the word. In any case, I still, 
on occasion, run into incompatibilities. 
2Vfote, I am not complaining about the additional 
capabilities of SMSQ/E which I use all the time; 
it's just that I wish QPC2 had a capability to run QDOS 
when desired. 

I have only had QPC2 v3.03 since the Oxon Hill 
Show. So I haven't had time to delve into all its added 
attractions. QPC2 v3.03 is available from J-M-S for 
EUR 99.90 or QBranch for 65 pounds. 

QLAYW 0.9c 
3|an Venema wrote QLAYW as a freeware Windows 
"J program. There are also QLAY versions for MS- 
DOS and Linux. Since QLAYW is freeware, I can 
send it to others who can rim my QL programs on their 
PCs. 

'JjTor me, the best attribute of QLAYW is that the QL 
<3*i 5 12 screen fits all the way across my monitor - 
12.3 inches. Only with the Aurora on my other system 
am I able to get such a large easy to see screen. 
Moreover, the screen can be adjusted to any smaller 
size by using the mouse. There is no noticeable 
aliasing of pixels and fonts - this is really quite 
remarkable. On the other hand, only the original 512 
by 256 screen is supported. 

/j|JLAYW T boots up noticeably quicker than the other 
two software emulators. So if I just want a QL to 
make a quick calculation, it's my choice. 
One bug is that the QL pointer occasionally gets 
separated from the PC mouse pointer which is 
disconcerting. Since I rarely use the pointer (I do use 
the PE!) on the QL, this is not a problem for me. 



ZXir QLive Alive! 



14 



Spring 2003 



Y[ found the manuals hard to follow mainly because 
Jfthey bounced back and forth between the DOS, 
Linux, and Windows versions. The Windows 
quickstart text once I found it was easy to follow, 
^fhe poorest part of QLAYW is the way it handles 
VJ^files. Files must first be read in by an off-line 
program - QLtools or QLayt - to make a special 
directory (qlay.dir) which keeps track of header info 
such as dataspace for executable programs. This is not 
much different than the QXL.WIN files except that the 
QXL can handle floppies directly. I had so much 
trouble understanding how to do this that I wrote my 
own reminder which I include: 

How to make files available to QLAYW 
Make sure QLAYW is not running. 
Choose a directory to put the QLAYW win files in. 
Copy Qltools.exe into this target directory. 
Open DOS from Windows and navigate to target 
directory. 

Have files on QL floppy disk in drive a: 
Type: QLtools a: -q 

Start QLAYW selecting the target directory for a win 
drive. 

JJfhe target directory will contain ail the files that 
^•■Kvere on the disk. The first time QLtools is used it 
makes the file called qlay.dir which has header info for 
the files. Fiutlier uses of QLtools adds files to the 
directory and updates qlay.dir Additional file 
manipulation can be done with qltools.exe and 
qlayt.exe. I haven't had much experience with 
QLAYW. Most programs seem to work OK. QD with 
the PE works OK. Quill works OK. However, 
Xchange would not nm - 1 guess it had to do with the 
RAMdisk that Xchange uses. 

QLAYW and the other versions (including source!) are 
available on: 

http:/A^w\^inter.nl.net/hcc/A.Jaw.Venema 
Math Speed 

1ft use a simple double loop to time 1 million math 
^operations. First I run it with just a simple 

replacement to get the overhead time: 

100 b=23:c=49: REMark arbitrary constants 

1.10 StartTime=DATE 

120 FOR 1=1 TO 1000 

130 FOR J=l TO 1000 

140 a=b 

150 END FOR J 

160 END FOR I 

170 OverHead=DATE-StartT.ime 

JVfext I change line 140 to a=b+c to get addition 
time after subtracting OverHead. Then change line 
140 to a=b*c to get multiplication time after 
subtracting OverHead. This timer was rim with 
SBasic/SuperBasic and as a Turbo compiled program. 
Times are in seconds. 

SuperBasic/SBasic 
OverHead Additions Multiplication 



V£A.L» VZ.oJ* 


1 A 
14 


i n 
lu 


1 4 

14 


AVI .-OQO 


i 1 


o 
O 


12 


v^-eniuijaior 


1 14Z 


Zjd 


Zyj 


yrLZ 


OZ 


1A 
J4 


11 
55 


OT 4YW 


1ZUU 


250 


307 






Turbo Compiled 


V,/AJ_f \Z.o3 


i n 

1U 


6 


12 




i n 


6 


11 


v£-emuJLator 


fj 


46 


125 




DZ 


24 


28 


QLAYW 


70 


39 


143 



The most notable difference is how fast SBasic is 
compared to SuperBasic. 

Jjfhe QXL times are not a true comparison since they 
^depend solely on the QXL CPU not the host PC. 
Apparently Marcel has done some fine optimization to 
get those fast number cnmching times. 

Scroll Speed 
"TSfo time screen operations, I used the original QL 
^512 by 256 MODE 4 screen on all emulators. I 
scrolled in Quill through the MIDIPlayer manual, a 
5382 word, 539 line document. Also I scrolled in ED 
the MIDIPlayer bas program of 797 lines. The results 
in seconds were: 

Quill 539 lines ED 797 lines 
QXL 2.83 17 38 

QXL 2.98 43 95 

Q-emuLator 28 37 
QPC2 37 63 

QLAYW 76 145 

J think you can see why I prefer the earlier v2.83 on 
the QXL. I guess the enhanced color drivers are 
what slow QPC2 down with respect to Q-emuLator. 
However, it was in MODE 4 and used none of the 
fancy colors. 

Conclusions 

f\ 11 of the emulators are really quite usable. They 
^▼all have small quirks and limitations. All required 
about an hour of configuring, tinkering, and 
reading the manual to get them running. Although 
QLAYW r is not the equal of the other emulators in 
many categories, it has a smooth feel to it and is easy 
on my eyes. Moreover, for my intended use for it 
running QL games on other PCs - it is the best. I can 
configure it for a particular game and put it on a disk 
so that a Windows user thinks it is a native PC game. 

J[ still favor the QXL and use it the most. However, 
■KQXLs are becoming rare, and so are the PCs with 
ISA slots to hold them. I am very thankful to the 
software developers that brought about these emulators 
to make my fun more interesting and my work easier. 
I hope this article aids the competitive spirit to make 
the emulators even better. God bless, 

Albert R Boehm 
albertboehm@juno. co 



ZXir QLive Alive! 



15 



Spring 2003 



tEimtx € 



ar 1 




bv Galium Davidson 



jlT'he number of ZX Spectrum emulators available 
Vi/must be running into the hundreds, with dozens 
more being produced each year. Given the huge 
popularity of the Sinclair machines throughout Europe, 
this isn't really a surprise. What is more surprising, 
however, is that mere are very few emulators available 
that support the TS-2068. 

^iT'his may be due in part to the relative rarity of the 
original machines, a limited awareness of their 
unique features by members of the wider Sinclair 
community, and a comparative shortage of original 
documentation being available online that can be used 
as a complete reference while developing the emulator 
itself. While this is certainly improving, the Timex 
machines are nowhere near as well publicized as their 
Sinclair counterparts. 

sjfT ortunately, the quality of what is available is very 
*J* high indeed, and emulator authors appear to be 
increasingly interested in the Timex machines and how 
they differ from their Sinclair counterparts. This is good 
news, and I hope we'll see more, and better, emulators 
released in the next few months that provide support for 
the TS-2068. 

Until then, those of us that can't wait should find one of 
the following emulators suitable for our "everyday" 
needs* 

PC (MS-DOS) : Warajevo v2.51 

7J71U ara J evo * s > by a clear margin, the most complete 
^M^t-and accurate TS-2068 emulator available. 
Unfortunately, it's also the oldest and can be a little 
difficult to use unless you do so regularly enough to 
become familiar with it. 

each key feature of the TS-2068 is supported 
directly, with several "plug-ins" being available to 
supplement the core functionality. Note, however, that 
third-party- peripheral emulation is a little lacking. 
Emulation of Disk Interfaces is limited, as is Printer 
support. 

jjjn reality, these issues don't necessarily represent a 
^c/ major problem for most users; original cassette 
software can be transferred directly from tape, through 
the soundcard fitted to your PC, and loaded into the 
emulator. From there, it can be saved in a variety of 
emulator-neutral file formats and used directly. 
Transferring software from disk is more difficult, and 
loading from cartridge is not possible. Each of these 
problems can be worked around with a little tune and 
creative thinking, so should not be seen as a major 




barrier. 

[arajevo is designed to run under MS-DOS, but 
kan be used with Windows. I have had no 
difficulty in running it under Windows XP Professional, 
for example, without the need to adjust any settings 
directly, or forcing the program to run in compatibility 
mode. 

^fT'he documentation included with the emulator is very 
Vl^extensive, and covers every feature in great detail. In 
addition, a lot of technical information is provided that 
describes the way in which the emulation is achieved. The 
,dck file format was developed to allow "virtual" cartridges to 
be loaded - this format is fully documented, and is the 
standard for all TS/TC-2068 emulators with cartridge 
support. 

PC (Windows) 

3Jf you are prepared to trade features for convenience, 
-clor are interested in more than just the Timex 
machines, I have found M.E.S.S (Multi Emulator Super 
System) provides a good compromise. 
The TS-2068 is emulated well, with support for 
standard tape and cartridge files (in .dck format). The 
source code for M.E.S.S is freely available, and can be 
modified to suit your own requirements if needed. 

ince M.E.S.S is an emulation framework, literally 
hundreds of machines can be emulated by simply 
"plugging-in" the appropriate ROM image. No ROMs 
are included with the distribution, although these are 
readily available (see below). Any other supported 
systems can be emulated by simply placing the ROM 
file in the 'Bios' folder and choosing that system from 
the application window. 

Unix / Linux 

'JtT'here are no dedicated emulators available for Unix / 
Linux users that specifically support the TS-2068, 
but all is not lost. The latest version of Fuse, v0.6, 
emulates the TC-2048 and TC-2068, as introduced to 
European markets by Timex Portugal. These machines, 
while not identical to the TS-2068, have some 
similarities and may work well for you. 

r s a momentary diversion, the TC-2048 is similar to 
►the original ZX Spectrum, but includes the 
additional screen modes found in the TS-2068, and a 
slightly enhanced version of Sinclair BASIC. Note that 
there is only one Joystick port on the TC-2048, and 
several internal differences in the two designs that are 
more significant. There is no cartridge port, for 
example, so .dck files cannot be used. I have found this 
model to be slightly more compatible with the ZX 




ZXir QLive Alive! 



16 



Spring 2003 



Spectrum than tk TS-2068, providing access to many 
of the software tin , eleased for the Sinclair machine: 
games, utilities, tic. ^ iddition, many titles that depend 
on die additional featur , of the Timex machines (high 
resolut m screen modes in particular) run without any 
problems, and BASIC is very well supported. 

he TC-2068 is, at first glance, the same as a TS- 
2068. As a general rule, the internal differences 
between the two designs have no obvious effect on the 
emulator, and I have had no problems with any software 
incompatibilities, etc. so far. 

ne thing to consider, however, is that there will be 
timing differences between the TS and TC models 
that may need to be accommodated if you are 
developing your own software that depends on 
particular events occurring at fixed intervals. Similarly, 
simply because the differences in design do not appear 
to outwardly affect the emulator does not mean that 
they are of no importance! However, TC-2068 support 
will suffice until true TS-2068 support is included. 
Now, back to Fuse .... 

ne of the most appealing features of Fuse is that the 
full source code is available. Therefore, if the 
emulator doesn't work the way you want it to, or is 
missing a feature you feel you need, you can make 
changes to the source, recompile it, and make your own 
custom version to suit your particular needs. Not an 
insignificant task, admittedly, but certainly worth 
noting. 

Apple Macintosh (OSX) 

use has been ported to the Macintosh platform 
(OSX only) and is feature-identical to the Unix / 
Linux version. Similarly, a version of M.E.S.S is also 
available, which includes the features described earlier, 
use is certainly the most accurate of the options 
available, but provides only "TC" emulation, not 
"TS", albeit in addition to a range of ZX Spectrum 
models. The same caveats still apply, but should not 
prevent experimentation! 

Summary 

ach of these emulators offer a similar set of 
features; which one you choose will largely depend 
on your current Operating System, and personal 
preferences. 

he relatively limited number of emulators available 
on each platform, and the fact that they are all 
available at no cost, means that you can download 
several and evaluate their features in context of your 
particular requirements. 

Tf t is worth bearing in mind that, thanks to the huge 
*j number of ZX Spectrum emulators available, and 
the relative ease with which support for the European 
Timex machines can be added to them by authors, that 
having one of these available as an additional option 



can prove worthwhile. Normally, unless I know that a 
particular piece of software makes use of Tim ex-only 
features, I'll try- running it using Spectaculator v5.0 - 
tins is a superb product that stands apart from other 
emulators, in both features and accuracy, and I 
encourage any PC users to download a copy and try it 
for themselves. TS-2068 support may be added in 
future, but is not currently available. Regardless, I have 
found that many programs will work unmodified, with 
the obvious exceptions. 

f you have programs that make extensive use of 
Timex-specific features, try them on the TC-2048 or 
TC-2068 if these options are available in your emulator. 
On the PC, I find vbSpec vl.80 provides good TC-2048 
support, and most Timex software seems to wx>rk well. 
Only in rare circumstances, or if I need to work with 
cartridge-sourced software (.dck files), do I find I need 
to use Warajevo at all. 

acintosh and Unix / Linux users are somewhat 
more limited in their options. In essence, if neither 
Fuse nor M.E.S.S work to your liking, tracking dowii an 
alternative that does is likely to be quite difficult. 
Hopefully, this will be a rare occurrence, and there will 
be more widespread support for these systems in future. 

Conclusions 

he Timex emulation scene is relatively healthy, 
with several emulators being available on each of 
the most common platforms that will meet most users' 
needs, most of the time. Fortunately, most emulator 
authors like a challenge, and seem quite prepared to 
consider requests for additional functionality. They will 
likely add TS-2068 emulation to their products if people 
seem to want it, so get typing! 

qually, if you find that none of the current offerings 
work as you need them to, a short email to their 
developers should bring results that ultimately are of 
benefit to us all. 

References 

he emulators listed in this article, plus thousands of 
original Timex/Sinclair programs are freely 
available from a variety of sources. Most emulators 
have full documentation included, and a small selection 
of software to get you started. 

he following sites provide a wealth of information, 
utilities and software that you may find useful: 
Emulators, Software, Documentation, Utilities, 
etc. http ://www. worldofspectrum.org/ 

http://wv\^v.vvorldofspectrum.org/emulators.html 
http ://www. worldofspectrum. org/archi ve . html 
http.7/vvwvv.worldofspectrum.org/warajevo/index.html 
Reference information, file format specifications, etc: 

http://www. sinclairfaq. com/ 
Emulators: 
http://wvy%v.spectaculator.com/ 
















ZXir QLive Alive! 



17 



Spring 2003 



http ://www. srcf. ucam.org/~pak2 1 /spectrum/fuse, html 

http://wwwmess.org/ 

http://www.mufo.org/vbspee/ 
ROM Images: 

ht^://www.srcf.ucam.org/~pak21/spectmm/roms.htitil 

General Timex Reference: 

http:/y^w^^outla\\Ttetxom/----jboatno4/welcome.htm 



http ://www. timexsinclair. org/2 068/ 
http ://timex. j ohrmyred. org/ 

^[finally, anyone wishing to contact me is 
*P welcome to do so. 
My email address is: 

callumdavidson(S),hotmail.com 



C Programming and the Timex/Sinclair 2068 



by Alvin Albrecht 



t took nearly 30 years but the de facto standard 
programming language of the software industry has 
finally made it to the humble Timex/Sinclair. It has 
been a long time since I have been this excited about 
anything in the T/S world and actually being able to 
write programs in C for the TS-2068 over the past few 
months has brought a warm grin to my face. What 
makes it possible is the Z88DK Small C Cross Compiler 
("http://z88dk. sourceforge.net"). Z88DK supports a 
nearly ANSI-C implementation of the language and 
comes with many of the standard C libraries built-in for 
a variety of Z80 machines, including the Spectrum and 
ZX81. The level of support for each platform varies 
depending on the interest paid by the platform's users. 
The Spectrum has seen some of the most support and 
boasts a fairly complete set of standard libraries. 
Y H ^his is not the first time a popular high-level 
language lias been made available for Sinclair 
machines. David Solly has previously written 
articles about programming the TS-2068 using HiSoft 
Pascal. Indeed, HiSoft also sold a C compiler for the 
Spectrum (HiSoft C). The problem with these 
implementations is that both the compiler and source 
code had to fit into 48K of memory. This led to 
compromises, the most important one being that the 
compiler only implemented subsets of the actual 
language. Having to split up large programs into many 
small pieces that could be compiled in memory and then 
hand linking all the pieces together also made 
compiling any serious program a serious hassle. 
Z88DK is a cross compiler, meaning it actually runs on 
a third computer (like a PC) and generates programs for 
the TS-2068. Since the source code is entered on the 
PC and compiled there, Z88DK has the necessary 
available memory to be as fully featured as desired and 
can compile source programs of any size with little 
hassle. There is still the matter of transferring the 
finished product to the TS-2068 itself but that is also 
straightforward with the right tools, 
r ^or the iminitiated, C was originally developed by 
Dermis Ritchie in the early 70s to write the first 
Unix operating system on the DEC PDP-11. It 



was intentionally made a small language and as far as 
high-level languages go, it is as low-level as they get 
(Forth would be the only example of a lower level 
language that I can think of). This last point does not 
mean C is a hard language to pick up like assembly 
language, but that it deals with the kinds of objects that 
the bare CPU deals with: bits, characters, numbers and 
addresses. For these reasons C inherits many of the 
advantages of both high level and low level languages: 
it is easy to learn, C programs can be written quickly 
and the compiled result is fast and compact. The fact 
that C is such a small language manifests itself when it 
is realized that nothing much useful can be done with it 
without additional libraries. Libraries are vendor or 
user supplied collections of subroutines. Without these 
libraries there would be no way to print a character, 
read the keyboard or draw a line. The C language 
provides the structure of the program and the libraries 
provide the essence. 

Ctook off like wildfire in the mid 70s and like 
amthing that grows out of control, pretty soon 
many variations of C not quite compatible with 
each other arose. The solution was a standardization 
that occurred in 1983 with the adoption of ANSI-C. 
ANSI-C formalized various language constructs and 
clarified many (but not all) implementation issues for 
compiler writers. Also part of ANSI-C is a 
standardized collection of libraries (the "standard i/o 
library") that grants C programs basic i/o functionality 
(character output, character input, etc.) and access to 
useful utility subroutines (such as conversion from 
strings to integers, allocating memory, etc.). With 
compilers written to adhere to the standard made 
available for all computer platforms, significant C 
programs could be written with cross platform 
compatibility. 

Since ANSI-C was introduced the language has evolved 
into C++, now the standard among desktop and larger 
computer software. C++' adds language constructs that 
support object-oriented, generic and functional 
programming styles. C, like Basic, is an imperative or 
procedural language where programs are written as step 



ZXir QLive Alive! 



18 



Spring 2003 




by step instructions. Unlike C, C++ is a large language 
and takes many months (some would say years!) to 
master. Because of its size and complexity it is an 
inappropriate language to program with on small 
computer systems. 

K // 88DK supports a nearly complete subset of 
/f ANSI-C and supplies most of the standard 
// «A library functions expected by C programmers. I 
have felt little restriction in writing C programs with 
Z88DK, retaining the typical style I use when writing 
programs for modern systems. The small nature of the 
underlying machine means you do have to be more 
aware of memory constraints, speed issues (i.e. efficient 
algorithms are important?) and data type sizes (ints are 
only 16 bits). It is also helpful to know 7 a little about 
how r the C is compiled into assembly language in order 
to write efficient C on the T/S. Z88DK also supports 
embedding Z80 assembler into C programs. 

hat are the advantages of using C on the TS- 
2068? The biggest advantage is speed. 
There is simply no way to write anything 
taster without resorting to assembly language. With C 
you will also have access to many structured 
programming constructs that are lacking in Sinclair 
Basic, like while loops and functions with local 
variables, that make the programming experience easier 
and more expressive. Z88DK's libraries also supply 
many functions that have no Basic equivalent. For 
example there are functions for printing formatted 
output, reading formatted input, searching strings and 
classifying characters as numbers / letters / punctuation. 
Non-standard library additions allow drawing of lines, 
filling screen areas and manipulating graphic sprites. 

Cis not only a significant step up for Basic 
programmers, it is also a significant tool for 
assembly language programmers. Complete 
programs can be written very quickly with excellent 
performance. If the performance needs to be improved, 
critical sections of the code can be rewritten seamlessly 
in assembler. Typically 90% of the time a program 
executes 10% of the code. Only having to rewrite that 
10% of code in assembler to squeeze out the last 
vestiges of speed can reduce development time from 
months to weeks. There is also another secret: most of 
the library routines are written directly in assembler, 
meaning the C program is mainly used to hold together 
calls to already optimized assembly language 
subroutines. This is why C programs on the TS-2068 
can be so quick. 

I have played cheerleader long enough now: how- 
does one get started? The best reference for 
learning C is The C Programming Language by 
Kernighan and Ritchie. I have the second edition, 
which is refreshingly compact having just 200 pages 
full of examples explaining all the features of C. Most 




computer books I own near 1000 pages of text and have 
little content; the reverse is true of this one. The 
authors do stress that the book is not meant as an 
introduction to programming but as a presentation of 
the C language itself. You do not need to buy a book to 
learn C — your local library' will have many books to 
choose from and the internet is full of introductory 
tutorials on C. If ZQ A manages to survive past Abed's 
service to the community- I would likely volunteer to 
write an introduction to C in this newsletter 

With some sort of C reference in hand, the next 
step is to get hold of the Z88DK compiler. 
Z88DK is distributed in both binary and 
source code form. Binary distributions include an EXE 
for Win32 console with other distributions for the 
Amiga, Linux and Unix systems. Visit 
"http://sourceforge.net/project/show r riles.php?group id= 
29 17" to reach the Z88DK download page. Grab the 
latest version (1.5) by clicking on the appropriate link. 
Windows users should grab the Win32 version. The 
following discussion pertains to installation for 
Windows users. 

ith the zip file download, extract all the files 
in the archive to some directory (I suggest 
"C:\z88dk"). Create a file "init.bat" 
containing the following text and save it in "C:\z88dk": 
SET PATO=c:\z88dk\bm\;%PATH% 
SETZ80 OZFILES=c:\z88dkVLIB\ 
SET ZCCCFG=c:\z88dk\LIB\CONFIG\ 
This batch file will set up the environment for Z88DK 
when you are ready to compile your C programs. 

also suggest creating a "work" directory in 
"C:\z88dk" to contain your C programs. You can 
write your C programs using any text editor such as 
Notepad in Windows. When you are ready to compile, 
open up a dosbox and change directories to "C:\z88dk". 
Run "init.bat" to set up the environment, then change to 
your work directory where your C program is saved. 
Compile it with the following: 

zee +zx -vn myprog.c -o myprog.bin -lndos -1m -lsplib2 
Where: 

+zx - tells z88dk to use the Spectrum's standard 
libraries 

-vn - tells z88dk we are not interested in verbose 
messages 

myprog.c is the name of the C program(s) to compile. 
This can be a list of files if your program is split across 
many files. 

-o myprog.bin - specifies that the output machine code 
program should be named "myprog.bin" 
-lndos - links in the dummy i/o stubs for the Spectrum 
(essential). The Spectrum does not support all the i/o 
facilities expected by C. 

-lm - links in the floating point math library (optional) 
-splib2 - links in the Sprite Pack library (optional) 



ZXir QLive Alive! 



19 



Spring 2003 



Z88DK will create a machine code program assembled 
to am from address 32768 by default. Z88DK will 
automatically attach machine code subroutines from the 
libraries listed in the compile command as they are 
needed. The math library ("-lm") is needed if your 
program manipulates floating point numbers. Integer 
operations do not require the math library to be linked. 
The Sprite Pack library ("-lsplib2") is a non-standard 
library that contains a collection of machine code 
routines that I have written over the years. It does not 
come with Z88DK - you must download it from my 
web page at 

f 'http://justme895 .tripod.com/main.htm" . 
y )f ^he Sprite Pack zip file contains the complete 
source of the library and can be customized for 
- the various video modes of the TS-2068, among 
other things, by editing the "SPconfig.def ' file prior to 
compilation. The header file "spritepack.h" contains the 
function prototypes for all the functions available from 
Sprite Pack. Compilation of the library creates the 
"splib2.1ib" file. The zip file comes with a precompiled 
version of the library using the default settings in 
"SPconfig.def. Copy "splib2.1ib" ' to 

"C:\z88dk\lib\clibs" and "spritepack.h" to 
"C:\z88dk\include" to get access to the library. Sprite 
Pack contains many library functions that support 
sprites, dynamic memory allocation, IM2 interrupts, 
keyboard / joystick / mouse scanning and a host of other 
fimctionality which makes writing exciting programs 
for the TS-2Q68 much easier. The best way to learn 
how ? to use it is to go through the examples in the 
"examples" directory of Sprite Pack. The w r eb page will 
also have a tutorial in the near fixture. 

We have assumed that you made no mistakes 
with your C program in order to get the 
resulting binary file. If you did make some 
mistakes you will learn about them through error 
messages. Z88DK compiles C programs in a two step 
process: first the C is translated into assembler and then 
the assembler is compiled into machine code. If you've 
made a mistake you are likely to hear about it twice. To 
save some headache and deal with the C errors only, 
compile your programs with "zee -a -vn myprog.c" at 
first. This command asks to translate the C to 
assembler and then stop there. Then only the C errors 
will be reported. 

nee you have a binary file ("myprog.bin") the 
'next step is to run it. The most convenient 
means to test your programs is to run it on an 
emulator on your development machine. I typically use 
the "vbSpec" emulator for Windows available from: 
"http://www. worldofspectrum.org" because it supports 
loading binaries directly into memory and it has a 
Timex TC2048 mode that allows programs that use the 
advanced video modes of the TS-2068 to rim properly 




(recall Sprite Pack will generate programs for all the 
TS-2068's video modes). VbSpec's load binaries option 
asks for a filename and a memory address to load the 
binary (enter 32768). With the file in memorv it can be 
run with "RANDOMIZE USR 32768". 
p^JP^o transfer the program to a real TS-2068 it must 
first be converted to tap format, which is an 
electronic representation of the contents of a 
tape. Z88DK has a tool that will do this for you. Run 
,f \z88dk\support\zx\bin2tap myprog.bin 32768" to 
create the "myprog.tap" tape file. This file can be 
played out of the PC's soimdcard and recorder on tape 
with the "Taper" utility (again available from World of 
Spectrum). Load this program from tape into your TS- 
2068 as you would any other program and then 
"RAND OMIZE USR 32768" to execiuethe program. 
PTP^he one gotcha to all this is that the Z88DK 
libraries target the Spectrum and not the TS- 
2068. This almost doesn't matter, except for the 
few cases where the Z88DK libraries make calls into 
the Spectrum's ROM. For those few cases, the 
compiled program may need a Spectrum emulator to 
run properly on the TS-2068. Most programs generated 
will not require the emulator, fortunately. The Z88DK 
folks are just waiting for one of us to create a TS-2068 
specific library to add to their collection. 
y ){ ^his has been a brief introduction to the Z88DK 
compiler; there is still much to know but you 
have enough information to get going. It is 
important to know that Z88DK is being actively 
developed and as such has a few^ bugs (though very 7 
few!) and is being expanded to be more ANSI-C 
compliant. Between official releases, the latest bits of 
the compiler can be retrieved from the CVS repository 
at source forge and from: 
http://www r .algonet.se/%7Edemusgr/z88dk.htm 
You should do the necessary update to fix a few bugs 
that have been corrected since version 1.5. If you don't 
know what CVS is, don't worry ~ that's the subject of 
another article for another time, 
f N xperienced C programmers: With the latest 
W updates to Z88DK there is only three noticeable 
L-^/deficiencies that I am aware of. One is that 
function pointers cannot be prototyped. I solve this 
problem by declaring all function pointers as void* 
type. The second is that complicated types cannot by 
typedefd. E.g.: it is okay to "typedef unsigned char 
uchar;" but it is not okay to "typedef struct {...} 
mystruct;" This also means pointers cannot be 
typedefd as in "typedef void* pvoid,". The third is the 
lack of support for multidimensional arrays. 

I?or more info, be sure to read the z88dk 
documentation in "C:\z88dk\doc", particularly the 
"zeehtm" file. 



1 



ZXir QLive Alive! 



20 



Spring 2003 



UBPIiU® IT 



TS Items (all prices include shipping cost). These are 
all complete with instructions, unless noted. 

Items From RMG 

> TS-2068 States & Capitals (Timex 
cartridge) $7.00 (only 4 left) 

> TS-2068 Spelling 1 (Timex cassette) $4.00 

> TS-2040/Alphacom 32 printer paper 
$3.00/roll; 3 rolls/$7.50; 5 rolls/$10.00 

> TS-1016 RAM pack $5.00 

> TS-1000 User Manual $5.00 

> The Ins and Outs of the Timex 1000 & ZX- 
81 $5.00 (book) 

TS-2068 BASICs and Beyond $5.00 (book) 
Computer Interfacing Techniques in 
Science $5.00 (book) 



> 



❖ 



❖ 



❖ 



Pljlhe following TS-1000 individual software prices 
-uL may seem high, but shipping for one is $1.92 
First Class. A larger quantity would lower the 
effective individual price significantly by reducing the 
shipping cost, i.e.. the price for one lot of any 6 below 
is $7.50. There is a significant quantity of these 
(except Gulp (3) & Super Math (2)). 
TS-1000 Chess (Timex) $2.50 
TS-1000 Loan/Mortgage Amortizer (Timex) 
$2.50 

TS-1000 Super Math (Timex) $2.50 
TS-1000 States & Capitals (Timex) $2.50 
TS-1000 Red Alert (Softsync) $2.50 
TS-1000 Alien Invasion (Softsync) $2.50 
TS-1000 2K Games Pack (Softsync) $2.50 
TS-1000 Gulp (Mindware) $2.50 
o that I can track these through my organizational 
nightmare, please indicate in the Subject line of 
your email, "ZQA! Last Issue => RMG Items". 

Magazines (each issue = $3) 
SyncWare News: V2N1 through V3N5 (V2N4 has 
the address label cut out). 
Time Designs Mag: V1N3, V1N4, V1N5, V1N6 
Timex Sinclair User: #7 (last issue) 
SYNC: Special Issue #2, V1N3, V2N4, V2N5, 
V3N2 W \ . 

SQ (Syntax Quarterly):V2Nl 
Ramblings V1N2 through V1N5 

All are in pretty good condition, with the noted 
exception. There are scans of every one of these on 
the web site if you want to look at them 

From my private collection 

• Non-working Sinclair QL (for parts?) $9.50 
(computer only) 




» I ' 



ZXir QLive Alive! 



21 



• Tandy 1000 EX, 640K RAM, internal (5-1/4") & 
external (3-1/2") disk drives, modem, 

• CGA monitor, software manuals (very heavy, 
shipping would be expensive!) $25.00/or trade 

The following are for trade oniy 

• Australian Telecom Computerphone (QL 
clone)(no manuals, 220V power) 

From Brazil 

• CP-200 Computer (1000 clone by Prologica) 16K 
RAM, full keyboard, manual, 220V 

• CP-200s Computer ( 1 000 clone by Prologica) 
16K RAM, full keyboard (this is new!) 220V 

• TK-82c Computer (ZX80/MicroAce clone by 
Microdigital) 8K ROM, 2K RAM, 240v power 
supply, in original box with software 

From China 

• Power 3000 Computer ( 1 000 clone) 2K RAM, 
16K RAM pack, power supply 

From Russia 
» ZX Spectrum clone 48K RAM 

Items I would trade for (or buy) 

o 1959 Chevrolet El Camino 

o Zebra/Timex FDD disk drive system: extra 

modules, manuals, software 
o CP/M Software 

o TS-1510 Cartridge Player & cartridges 

o TS-2068 Pinball cartridge & box 

o TS-2068 third party peripherals (disk 

interface, i/o boards, graphic boards, memory, 

etc., etc.) 

o TS-1000 third party peripherals (see above) 

o Sinclair ZX Interface 1 & microdrives 

o TS-2068 twister boards 

o TS-2068 cartridges (Timex or third party) 

o TS Books, magazines, etc. 

o TS Software 

lso, any TS item no longer needed would be 
dllmgly accepted for entrance into "The 
TIMEXsinclair Showcase", the history website of 
Timex computers. Hardware, software, books, 
documents, magazines, scraps of paper, ... anything is 
worth while. Nothing is EVER thrown out! 

lot of information has been added to the website 
recently (it's only taken 4 years to do a 
significant update). Right now ambition is high, so 
check in once in a while to see what's new! We may 
even get around to finishing the Spectrum Emulator 
cartridges started by Alvin Albrecht (and sat on by 
me) back in late 1999. They still need to have a 
capacitor soldered onto the boards and then tested. 
We've had 2 computer crashes in the past 18 months 
and have lost all the ema il s regarding t his project (and 




everything else archived, as well). Also a scan or 
picture of something you're doing (or something that's 
missing) would be a welcome addition to the site. 
Anyone having an idea for the site, or if anyone would 
like to help, let me know. 

I will be retiring from my present position at the 
end of April and beginning a construction 
management consulting service, working out of my 



home. 

JACK BOATWRIGHT 

67325 FRYREAR RD 
BEND OR 97701 
Website: wwv.outlawnet.com/~jboatno4/index.html 
Email: jboamo4@outlawnet.com (personal) or 
jbcs@outlawnet.com (business) 
Telephone: 541-389-735 



Present and Past Members 



PAUL M ANDERSON 






2226 DALEY DR 


HOWARD CHEGWIDDEN 


DOMINO CUBES Z88 




0 QTPPWFM QT 
iL o I CrnCIN O 1 


OCT 7 TH awc 4 c th CI p 
OOd. t nvC tO rLrv 




DOVER NJ 07801 


NEW YORK, NY 10001 


GERALD ANSON 






2226 W SUNNYSiDE DR 


JAMES P CURRY 


DOUGLAS L DUNBAR 




*\% PI If 1 MAM M/F APT4 


AC.-] C CTU OTDCCT [Sj\A/ 




ROCHESTER NY 14615 


ALBUQUERQUE NM 87107 


ALVIN RALBRECHT 






1532 W57TH AVE 


ROBERT CURNUTT 


JACK DOHANY 


VANCOUVER, BC 


10400 TRUXTON RD 


627 BERA AVE 


CANADA V6P 1T2 


ADELPHI MD 20783-1118 


REDWOOD CITY CA 94061 


ROBERT L BARNETT 


ANDREW DANSBY 


DENNIS DONAHUE 


13726 RIVER FOREST DR SE 


700-205 SW16TH AVE 


25951 SUPERIOR 


FT MYERS FL 33905-1 820 


GAINEVILLE FL 32601 


TAYLOR Ml 48180 


DAVE BENNETT 


JOHN DONALDSON 


MARK DORINSON 


1275 TIMBER VIEW DR 


835 FOXWOOD CIR 


PO BOX 351 


MECHANICSBURG PA 17055 


GENEVA IL 60134 


FRANKFORT IL 60423 


M H BINSTOCK 


BILL CABLE 


DAN ELLIOTT 


1150 WINDERMERE DR 


PR 3 BOX 92 


COMPUTER CLASSICS 


PITTSBURG PA 15218-1144 


CORNISH NH 03745 


RR 1 BOX 117 






CABOOL MO 65689 


JACK BOATWRIGHT 


GEORGE CHAMBERS 


JOAO ENCARNADO 


27325 FRYREAR RD 


14 RICHOME CT 


BEND OR 97701 


SCARBOROUGH ON M1K2Y1 


RUA DO CASTELO N°24 R/C 




CANADA 


ESQUERDO PIRESCOXE 


AL BOEHM 




2695-247 ST a IRIA DE AZOIA 


2501 ERMINE DR. 


LES COTTRELL 


PORTUGAL 


HUNTSVILLE, AL 35810 


108 RIVER HTS DR 






COCOA FL 32922-6830-14 


RUTH FEGLEY 


J A BOWERS 




6000 IVYDENE TER APT 1E 


D 417 MCKNIGHT C!R 


JAIME A CRUZ-FIGUEROA 


BALTIMORE MD 21209-3547 


PITTSBURGH PA 15237-3538 


880 KRAMER RD 






LILLINGTON NC 27546 


MIKt rfcLtKoKi 


WES BRZOZOWSKI 




1284 BRUSHWOOD AVE 


337 JANICE ST 


CALLUM DAVIDSON 


CINCINNATI OH 45224 


ENDICOTT NY 13760 


3119 WINBERRY DRIVE 






FRANKLIN, TN 37064-6230 


CHARLIE FOX 


ALEX BURR 




7603 E FIRESTONE BLVD 129 


2025 O'DONNELL DR 


FRANK DAVIS 


DOWNEY CA 90241 


LAS CRUCES NM 88001 


513 E MAIN ST 






PERU IN 46970 


LOUIS FLORIT 


JEFF BURRELL 




5445 SW 150 PLACE 


4955 EMERSON AVE N 


WILLIAM DES LAURIERS 


MIAMI, FL 33185 


MINNEAPOLIS MN 55430 


9926 KRAMER CT 






INIANAPOLIS IN 46236-1647 


JOHN FRANKE 


ZXir QLive Alive! 


22 


Spring 2003 



23 PARKWOOD DR 201 


11141 EDGEMERETER 


FORSYTH IL 62535-8904 


YORKTOWN VA 23693-4819 


ROSCOE IL61073 








MEL E LA VERNE 


ROBERT GILBERT 


RICHARD A JELEN 


j ft a a— a i ir*v t y-s. /a. - » »"f - i V 1 

103 ENDICOTT LN 


12A NATHAN RD 


11443 ISLAND RD 


/Ai & \ S ft. | f*"ft rf-V |A<A ft | A AA> AA A AB 

OAK RIDGE TN 37830 


WALTHAM MA 02154 


GRAFTON OH 44044 








f*x a \ zip** i r~" r~" /"*v i i 

DAVID LEECH 


I—* a r*** "TP* I CI \T*\ IK f r~N Ik ! 

R ARTHUR GINDIN 


DAVID JOHNSON 


BYTE-BACK 


821 STRALEYAVE 9 


3517 DUNEDIN DR 102 


536 LONG TER 


PRINCETON WV 24740 


CHESAPEAKE VA 23321 


LEESVILLE SC 29070 


GLEN GOODWIN 


TERRY N JONES 


GARY LESSENBERRY 


7723 AVONWOOD CT 


HC 65 BOX 2690 


126 N CHAPEL ST 


ORLANDO FL 32810 


SPRINGFIELD WV 26763 


WAUKEGAN IL 60085-4120 


j i l'"S. *»ft v*— * \ A tt"" ft I 

ROD GOWEN 


JON J KACZOR 


JAA. AAA —A— AAA AAA | 1 f" 1*1 P* F^T A J"**"™! "T" 

PETER LIEBERT-ADELT 


14784 S QUAIL GROVE CIR 


d it*" f\ 1 B III 1 J ft ft B ^v—r" I A * f I~" 

4568 WILLIAMSTON AVE 


LUETZOWSTRASSE 3 


jAa (>. IM -Alt Aft. a 1 \ JC J—\ f~A — , — — . V 1— A» J A 

OREGON CITY OR 97045-8843 


BROOKLYN OH 44144 


D-38102 BRAUNSCHWEIG 






GERMANY 


FERDINAND GUNTHER 


HARRIET JOAN KEALY 




J VS. Aft J*ft ( 3 K 1 * I 

1307 SHAW ST 


PO BOX 1439 


NESQLUG NEWS 


MOSES LAKE WA 98837-3133 


BRACKETTVILLE TX 78832 


r*~ i~"v i/it, i/s /*s i ■"-■•ft / 

ED KINGSLEY 






16 HIGHLAND AVENUE 


• j- »— n t jft i -r 1 < * r~v lift n n I*t* 

KENNETH R HARBIT 


1 I r" ft 1*T**5 ft f 1 v I—" ft 

QUENTIN KENT 


y~V All 1 | /*fti AAA f*ft ji /*\ /-!/*'* 

SAUGUS MA 01906 


983 E KENOSHA AVE 


PO BOX 363 




1a a pa a»a ft ■ aav ja a <»*■. *ft. *>l jai >tft J —j 

FRESNO CA 93720-2175 


ALLENTOWN PA 18105 


r"\ II 1 AAA r**> f~*\ i /N*T*T 

BILL MARRIOTT 






1 1613 NE 97TH LN 


«au «a-v VMM MB f AA- lift (AAtAAAl f 1 JM 

ROBERT D HARTUNG 


KEITH ELECTRONICS 


KIRKLAND WA 98033 


2416 N COUNTY LINE RD E 


224 NORTH GROVE ST 




HUNTERTOWN IN 46748 


LOCK HAVEN, PA. 17745 


rft i I * * a <a^ > |AA» j x |>-\/ 

BILL MCKELVEY 






612 MERCER AVE 


CY HERRE 


EARL L KIELGASS 


SPRING LAKE HTS NJ 07762 


666 S BLUFF ST 802 


2015 E DUKE DR 




S BELOIT IL 61080-2166 


TEMPE AZ 85283-2413 


t 1 I A f A ft /^v ft • t /-». lift r*" 1 

JOHN MCMICHAEL 






1710 PALMER DR 


«m miii- _aa ««. am 7A» 1 -A 4 > » • fit t >»*», g ' 'ft 

FREDERICK R HILL SR 


WAYNE KNAUST 


LARAMIE WY 82070 


136 LEXINGTON ST 


2 PEAR TREE CT 




WOBURN MA 01 801 


— . — » J— t. »■ — »— •"— r~V M ft a /ft A A JfS. warn art 

ST PETERS MO 63376 


DEAN B MIKOLAJCZYK 






4714 ARBOR DRIVh # 207 


LEON HOWELL 


JEFFREY A KUHLMANN 


ROLLING MEADOWS IL 60008 


6150 MONUMENT DR #2 


CMR/416 BOX D 




GRANTS PASS OR 97526 


APO AE 09140 


HARRY E MILLER W1DRD 






PO BOX 62 


PAUL HOLMGREN 


i i in i i * ft n i /r\/\ (*"** ^**v ir*n 

WILLIAM KROSSNER 


BERLIN MA 01503 


5231 WILTON WOOD CT 


t**-l V**t f**A, jfft, *v r A A Jt 

PO BOX 3047 




INDIANAPOLIS IN 46254 


S**A- 1 ■ ■ 11 '■ *■! 1 1 ft K ft 1 *A* A* Jai «*a yft «*ft jr "• 

DULUTH MN 55803-3047 


SEYMOUR H MILLER 






1 09-14 ASCAN AVE 1 L 


GLENN HUFSTEDLER 


BOB KWATER 


r-AnCPT l III j o KIN/ 4 H 07C 

FOREST HILLS NY 113/0 


4405 WINDSWEPT WY 


1641 BLEDSOE DR 




LOVES PARK IL 61 1 11-4429 


M _ ■ , 1 | |_ Ak AV AV I . A 1 I J A> A A JA* I J— | (W A 

BELLBROOK OH 45305-1350 


JOSE MORENO 






18/1 N bLAUto UK Ar! o 


ROD HUMPHREYS 


PHILLIP KWITKOWSK1 


N MIAMI BEACH FL 33162 


10984 COLLINGS PL 


2106 DOVER LN 




DELTA B C V4C 7E6 


^A AH AA» lift ■ ) f — '"■ AV * I ^ft JAV > —J . 

ST CHARLES IL 60174 


GREGORY M NEWKIRK 


CANADA 




6321 KNIGHT AVE 




DAVID E LASSOV 


i amp dcapu <^a nnans ocm n 


JOHN J IMPELLIZZERI 


2590 N JORDAN DR 




45294 UNIVERSAL CT 


TUCSON AZ 85745-1 132 


JOHN OLICabK 


UTICA Ml 48317-4941 




THE J OLIGER CO 




DONALD LAMBERT 


11601 WHIDBEY DR 


WARREN JACKSON 


738 GUNNAR LN 


CUMBERLAND IN 46229 


ZXir QLive Alive! 


23 


Spring 2003 



KEVIN O'LEARY 
BOX 172 

MERiDEN NH 03770 

DON OVIATT 
5 MATTHEW CT 
ARNOLD MO 63010-5126 

GILLIAM Y PARRISH 
11392 264 5 H ST 
BEGGS OK 74421 

NAZIR PASHTOON 
1114 CATHEDRAL LN 
MEMPHIS, TN 38103 

JOHN B PEGRAM 
1126 STRADELLA RD 
LOS ANGLES CA 90077 

LUKE PERRY 

3409 NE 62 ND AVE #187 

VANCOUVER WA 98661 

LEON PHELPS 
PO BOX 116 
KANEVILLE IL 60144 

EDWIN N PHILLIPS 
540 MARILEA CT 
ORANGE CITY FL 32763 

JOHN PORTERFIELD 
5555 S BLACKSTONE #1 
CHICAGO IL 60637 

HARVEY RAIT 
5 PERI LN 

VALLEY STREAM NY 11581 

JOE RAMPOLLA 
8 MAGNOLIA LN 
HANOVER PA 1733 

WiLF RIGTER 
12388 88 AVE 
SURREY BCV3W7R7 
CANADA 

JOHN RISH 

HOME ELECTRONICS SERVICE 

5222 KAZEN DR 

SAN ANTONIO TX 78219 

ALBERT F RODRIGUEZ 
AFR SOFTWARE 
1605 PENNSYLVANIA AVE 204 
MIAMI BEACH FL 33139 

BILL RUSSELL 



RUSSELL ELECTRONICS 

RR1 BOX 539 

CENTER HALL PA 16828 

LARRY SAUTER 

7747 W BRYN MAWR AVE 

CHICAGO IL 60631 

HUGH WSCRIVEN 
235 E OXFORD ST 
CHULA VISTA CA 91911 

ROBERT G SCHIMKE 
1005 WEST WIND CSR 
PLACENTIA CA 92670-7043 

LEE THORESEN 
3065 E HICKORY LN 
CRETE IL 60417 

NEAL SCHULTZ 
PO BOX 101 
BUTLER Wl 53007 

JOHN J SHEPARD III 
281 130 iH ST 
OGDEN IA 50212 

ROBERT SHADE 
3210 N BROAD ST 
PHILADELPHIA PA 19140-5008 

LOUIS A SIMON 

34 CROWTHER AVE 

BRIDGEPORT CT 06605-2504 

THOMAS SIMON 
615 SCHOOL AVE 
CUYAHOGA FALLS OH 44221 

FRANCINE SKLAR 
HURLEYVILLE RD PO BOX 53 
LOCH SHELDRAKE NY 12759 

DAVID SOLLY 

1545 ALTA VISTA DR 1402 

OTTAWA ONTARIO K1G 3P4 

CANADA 

DANE L STEGMAN 
26 MARSHALL AVE 
AKRON NY 14001-1016 

MARK STUEBER 

7244 MECHANICSVILLE TPK 

MECHANICSVILLE VA 231 1 1 

SUNSET ELECTRONICS 

2254 TARAVAL ST 

SAN FRANCISCO CA 941 16 



TIMOTHY SWENSON 
2455 MEDALLION DR 
UNION CITY CA 94587-1914 

WALTER M SWENTKO MD 
2311 30TH AVES 
MINNEAPOLIS MN 55406 

ALEXANDER SWEITZER 
RD 1 BOX 207 
FAYETTE CITY PA 15438 

ROBERT SWOGER 
61 3 PARKSIDE CIR 
STREAMWOOD IL 60107-1647 

TEJ COMPUTER PRODUCTS 
2405 GLENDALE BLVD 208 
LOS ANGLES CA 90039 

DON WALTERMAN 
331 DRACE 
ROCHESTER Ml 48307 

BARRY WASHINGTON 
7044 CINDY LN 
ANNANDALE VA 22003 

DOUG WAGONER 
E4825 ST ANTHONY LN 
POST FALLS ID 83854-8812 

DON WALTERMAN 
331 DRACE 
ROCHESTER Ml 48307 

STUART W WALTON 
31 PLEASANT ST 
ROWLEY MA 01969-0913 

WATCHARA CHANTANG 
880 E FREMONT AVE #609 
SUNNYVALE CA 94087 

KEITH WATSON 
41634 AMBERLY DR 
MT CLEMENS Ml 48038 

BASIL WENTWORTH 
1413ELLISTON DR 
BLOOMINGTON IN 47401 

RUSSELL D WILES 

826 S WEST AVE 

SIOUX FALLS SD 57104-4641 

BOB WILSON JR 
PO BOX 25323 
PORTLAND OR 97298 

WESLEY J ZAPOTOCHNA 
PO BOX 1 

ROSELLE PARK NJ 07204 



ZXir QLive Alive! 



24 



Spring 2003 



Ri Fes* lliall-Eaftauatf! Fstiari FIeeA Fill 

Alvin Albrecht 



ecursion has always held a certain fascination for me 
because it seemed that it made very complex problems 
solvable with a simple, almost magical step. I have written 
about recursion before in a back issue of ZQA! so I won't 
be rehashing that material here, but a brief review is in 
order before we tackle the subject of flood fills. 

A Review of Recursion 

So what exactly is recursion? In simplest terms a 
recursive algorithm is one that calls itself. One class 
of recursive algorithms breaks a complicated problem into 
smaller, simpler pieces and then repeatedly applies itself to 
those pieces, breaking them down even further. 
Eventually, if everything goes well, you will wind up with 
many small problems that can be trivially solved. An 
example of a recursive algorithm of tins class is a recursive 
solution to the Towers of Hanoi problem or the Quicksort 
sorting algorithm. Another class of recursive algorithms 
makes use of recursive backtracking -- a complex problem 
is solved by trying to solve it one step at a time. When a 
step is taken that cannot lead to a solution, the algorithm 
backs off and tries another step. Recursive algorithms in 
this class include solutions to the Eight Queens problem 
and the Knight's Tour problem. You can find recursive 
solutions to the Towers of Hanoi and Knight's Tour written 
in BASIC in a back issue of ZQA!. 

or those of us without back issues of ZQA! handy, let's 
investigate the one recursive algorithm that everyone 
sees in Computer Science 101 ~ the computation of a 
factorial. N! (N factorial) is defined as (N)x(N-l)x(N- 
2)x. ..xl with N being a positive integer. 5! = 5x4x3x2x1 
= 120, for example. 0! is defined as 1. A recursive 
solution might look like this: 

int factorial (int. n) 
{ 

if (n <= 1) 

re turn 1 ; 
return n*f actorial. (n-1) ; 

} 

ait a minute, that's not a BASIC subroutine, that's a 
C function! Sinclair BASIC does not directly 
support recursion so a BASIC version of the above would 
need a bunch of artifacts decorating it which would only 
obscure the point I want to make. Now that a decent C 
compiler is available for our T/S machines, I don't feel too 
guilty about sticking with the C. We make a call, asking to 
compute the factorial of N. If N <= 1 the answer is 1 
(ignoring the case that N is negative which should throw 
an error). Otherwise the problem is too difficult to solve 
so it is broken into a smaller one: N times the factorial of 
(N-1). 

That was easy, but it might be initially surprising to 
learn that this is a poor method for calculating 
factorials. To understand why, we'll need to pay closer 
attention to what is involved in a recursive call. The 
factorial function, as written above, needs to remember 



two things: the number N and where it was called from so 
that it can return there later. Compiling the above for a 
TS-2068 using the z88dk C compiler would reserve two 
bytes to store N and two bytes for the return address, for a 
total of four bytes. So the initial call to compute 5! would 
require four bytes to be reserved. But then factorial(5) 
would try to return "4*faetorial(4)", causing another call to 
be made to factorial with N=4, requiring another four 
bytes. Factorial(4) would make a call to factorial(3), 
requiring a further four bytes, etc. In other words, to find 
the answer to factorial(5), the computer would make calls 
to factorial(5), factorial(4), factorial(3), factorial(2) and 
faetorial(l). Factorial(I) returns 1 as the answer, 
factorial(2) returns 2*1 as the answer, factorial(3) returns 
3*2 as the answer, factorial(4) returns 4*6 and factorial(5) 
returns 5*24. We say that factorial(5) has a recursion 
depth of 5 because a maximum of five instances of 
factorial will exist at any one time during its computation. 
With each instance needing four bytes to remember its 
value of N and return address, factorial(5) requires 5*4=20 
bytes of memory to compute the result. More generally we 
can say that the recursion depth of factorial(N) is N and 
4*N bytes are required to compute the result. 

Even on our small 64K machines, that doesn't seem to be 
a lot of memory and really it isn't. ITiings get worse if 
you try 7 to compute something like 69! which would seem 
to require 276 bytes in the recursive solution. I say "seem 
to" because we would need a new large variable to hold 
the result in each recursion step — 69! requires 41 bytes to 
hold its value precisely! Switching to a floating point 
representation would reduce that to four bytes (at the 
expense of precision), compared to the two bytes we've 
assumed (the result in each step is held in the HL register 
pair, a consequence of how the z88dk C compiler does 
things). With the way our subroutine is written now we 
couldn't compute anvthing more than 8! and therefore 
memory 7 usage is never really an issue. Other recursive 
algorithms may have a recursion depth in the thousands 
with dozens of bytes needed for each instance. Then the 
matter of memory is significant, and, indeed, you will see 
one such example shortly. 

ninother problem with the factorial recursive solution in 
[Hour case is runtime. It takes time to set up calls and 
return from them ~ these actions translate directly into 
pushes and pops on the z80's stack. Compare this 
recursive solution to the "regular" iterative solution below: 

int factorial (int n) 

{ 

int fact, i; 
fact = .1 ; 

for (i=2; i<=n; i++) 

fact = fact*i; 
return fact; 

} 






ZXir QLive Alive! 



25 



Spring 2003 



e need two bytes for "tact", two bytes for "i", two 
bytes for "N" and two bytes for the return address = 
8 bytes total no matter what "N" is. There are no calls to 
set up, just a for loop. This version will be faster and use 
up a small, fixed and predictable amount of memory. It is 
superior to the recursive solution in every way. 

So what is the conclusion of all this discussion? You 
must use recursion with care. It can be a panacea to 
solve many very difficult problems, but you must be fully 
aware of how much memory will be required and the 
rantime necessary in comparison to an equivalent iterative 
solution. The Towers of Hanoi solution in a back issue of 
ZQA! has a maximum recursion depth of 64 (for 64 disks) 
and the Knight's Tom has a recursion depth of 64 (the 
number of squares on a chess board), very manageable 
numbers. You can see in both of those BASIC solutions 
that an array of those sizes was allocated to remember the 
state in each recursive step. 

A Recursive Flood Fill Algorithm 

So what has all this got to do with flood filling? It turns 
out that the obvious approach to filling an arbitrary 
region involves a recursive solution. And the recursive 
solution is a bad one. 

■ n comp.sys. Sinclair, Geoff Wcarmouth shared a BASIC 

■ subroutine from an early '80s type-in magazine that 
would fill an arbitrary area on screen bounded by a solid 
pixel boundary. Here it is: 

5 REM AUTHOR UNKNOWN 
10 CIRCLE 128,88,4 

20 LET x=100 : LET y = 100 : REM START 
POINT 

30 GO SUB 1000 : STOP 
1000 PLOT x,y 

1010 IF NOT POINT (x+1, y) THEN LET x=x+l. : 
GO SUB 1000 : LET x=x-l 

1020 IF NOT POINT (x-1, y) THEN LET x=x- 1 : 
GO SUB 1000 : LET x=x+l 

1030 IF NOT POINT (x,y+l) THEN LET y=y+l : 
GO SUB 1000 : LET y=y-l 

1040 IF NOT POINT (x, y-1) THEN LET y=y-l : 
GO SUB 1000 : LET y=y+l 
1050 RETURN 

The main subroutine begins at line 1000 and the 
algorithm used is a recursive one (did you spot the 
"GOSUB 1000" statements in the subroutine itself?) 
Filling an arbitrary region is not a trivial problem so a 
recursive approach is taken to whittle away all the 
complexity. The fill subroutine above plots the current 
point (the PLOT on line 1000) and then tries to move in all 
four directions away from the point. Before each move, it 
checks to see if the point is already black, indicating a 
boundary. If not, it considers it a valid move and tries to 
fill from that point by calling itself with the new pixel 
coordinate in (x,y). 

Earlier I mentioned that Sinclair BASIC does not 
directly support recursion. The reason it doesn't can be 
seen in this fill program Each run through the subroutine 
at 1000 expects to have its own private copy of (x,y). The 
value of (x,y) at 1010 must be the same value at line 1020, 
1030 and 1040 in order for the program to work. But there 
are one or more "GOSUB 1000" calls in the middle, which 



themselves require new values of (x,y) and which will 
themselves change (x,y). Sinclair BASIC has only one 
copy of these variables which must be shared by each 
recursive call. A recursive C call would give each 
"GOSUB" a private copy of (x,y) on the stack independent 
of all other "GOSUBs". ' Not so* in Sinclair BASIC, So the 
problem is, after each "GOSUB 1000" in the fill 
siibroutine, how do we make sure that our own (x,y) has 
not changed? In the above code, the solution is simple. 
We promise that when "GOSUB 1000" returns, the value 
of (x,y) is not changed from what it was when "GOSUB 
1000" was executed. In line 1010, for example, x is 
increased by one before a call to "GOSUB 1000". Because 
of our promise (the jargon calls such a promise an 
"invariant") we know that when the GOSUB returns, x will 
be one larger than what it was at the beginning of line 
1010. So to get x back to where it was, decrease by one 
and everything will be fine for the next line. Before the 
routine returns in line 1050 we know that (x,y) has not 
changed from its initial state in line 1000. That's the 
subroutine keeping its promise. 

The kind of fill algorithm this program uses is formally 
called a flood fill because the fill "floods away" from 
the initial point in all directions. Other fill algorithms 
exist, but this one is both easy to understand and capable 
of filling any arbitrary region without restrictions. Earlier 
I hinted that a recursive solution to the flood fill problem is 
a bad one. I'll leave that thought here and come back to it 
later when we've looked at a couple of machine code 
implementations of the algorithm. For now, realize that 
each "GOSUB" requires the TS-2068 to remember a return 
line number (two bytes) and then consider what the 
recursion depth might be for a 256x192 resolution blank 
screen (hint - you wouldn't be far off if y ou just multiplied 
256 and 192 together!). 

ff you typed in the BASIC program and ran it you'd 
realize that it is mighty slow. Any useful fill utility will 
need to be written in machine code. To do that, we will 
need to review the structure of the TS-2068's display file. 

Display File Organization 

The TS-2068's display file is where all the screen 
information is stored. The SCLD chip constructs the 
TV display by reading the information stored there. The 
display file is termed "memory-mapped" because the 
storage exists in the z80's memory space, from address 
16384 to 22527 (not counting the colour attributes for each 
character). If you poke values into those addresses you 
will see the display change. In the TS-2068's other display 
modes (dual screen, hi -colour, hi-res) more areas of 
memory are used to hold the display. In tins article, we'll 
only concern ourselves with the default 256x192 mode. 
P| pixel display occupying 16384 to 22527 reserves 6144 
iH bytes to store all the screen information. The TS-2068 
has a resolution of 256*192 = 49152 pixels. How do we 
cram information about 49152 pixels into 6144 bytes? 
Well, each pixel can be represented by one bit - either one 
or zero, on or off. Cramming 8 pixels into a byte, we'd 
need 256* 1 92/8 - 6 144 bytes. Problem solved! 




ZXir QLive Alive! 



26 



Spring 2003 



[J| simple way to organize the display might have pixels 
(So..? for the top line of the display stored at address 
16384, pixels 8.. 15 at address 16385,'... pixels 248-255 
stored at address 16415. The next pixel line would follow 
with pixels 0.. 7 of line 1 at address 16416, and so forth for 
all 192 lines on the screen. This is indeed how the TV 
draws its display, left to right, top to bottom. But the 
display organization was chosen to optimize the printing of 
characters so it's not done in this simple manner. To see 
evidence of this, try this short program: 

10 FOR z=16384 TO 22527 
20 POKE z,255 
30 NEXT z 

If you rim this program you will witness how the display 
file is organized. On the largest scale you will notice 
that the display is divided into three parts (called blocks). 
First the top block is filled- then the second and finally the 
third. Each block is further divided into eight character 
lines. Each of these lines is divided into eight scan lines. 
The first scan line for all character lines in a block is filled, 
followed by the second scan line for all character lines, all 
the way to the final eighth scan line. Each scan line itself 
is composed of 32 horizontal bytes with each byte holding 
eight pixels. 

This organization sounds complicated but it really isn't 
that bad if some thought is applied to it. By paying 
attention to how the display is built up in increasing byte 
order (reread the paragraph above), we can construct a 
screen address given block, character line, scan line and 
column as follows: 

FIG URE 1. Scr een Address O rganization 



0 


1 


0 


H 


B 


S 


S 


s 


L 


L 


L 


C 


C 


c 


c 


c 



Where: 

BB = screen block, 0..2 

SSS = scan line, 0..7 

LLL = character line, 0. .7 

CCCCC = horizontal byte / character, 0..31 
ij ■ bile observing the BASIC program, you'll notice 
BJLithat the horizontal column changes the fastest. 
There are 32 columns, requiring 5 bits to represent those. 
They increase the fastest so they appear in the bottom 5 
bits of the 16-bit address. The next fastest tiring that 
changes is the character line. There are 8 lines in each 
block, rarairing 3 bits to represent them. These 3 bits 
appear next to the column bits. Next, in order of fastest 
changing, are the scan lines (8 of them reqiiiring 3 bits) 
followed by the block (3 of them requiring 2 bits). The 
display starts at address 16384 (0x4000) so we add that to 
our 16-bit address. This is responsible for the lone T you 
see in figure 1. 

The character position row = 10, column = 12 is located 
in block 1 (the second block since it holds the second 
third of the display, rows 8.. 15), line 2 (the third character 
line in this block ~ rows 8, 9, 10), scan lines 0 (top) 
through 7 (bottom) for the full character square, and 
column 12. This leads to a screen address that looks like: 





1 


0 


0 


1 


s 


s 


s 


0 


] 


0 


0 1 


1 


0 


0 



With various values of SSS: 

SSS 0 12 3 

Screen 484C 494C 4A4C 4B4C 

Address 18508 18764 19020 19276 



POKE 
POKE 
POKE 
POKE 
POKE 
POKE 
POKE 



To print a letter 'A' at (10,14), poke the appropriate values 
into memory at these addresses: 

POKE 18508, BIN 00000000 
18764,BIN 00111100 
19020, BIN 01000010 
19276, BIN 01000010 
19532, BIN 0111111.0 
19788, BIN 01000010 
20044, BIN 01000010 
20300, BIN 00000000 

n|t this point you may realize why UDGs and printed 
lm characters are 8x8 pixels in size. There are 8 vertical 
scan lines in each character line and there are 8 pixels 
packed into a byte. But you may not realize why this 
particular display file organization speeds up character 
printing. If you back up and look at the screen addresses 
computed above, you'll notice that each scan line is 
separated by 256 bytes (you could also see this from figure 
I). In assembly language, an address is held in a register 
pair, like HL. Adding 256 to an address is a quick matter 
of incrementing the most significant register, in this case H 
with the "INC H" instruction. That's all it takes! Moving 
horizontally to the right one character position involves 
adding one to the screen address, which can be done just as 
quickly with "INC L". You can't get any faster than that. 
In fact, tins display file organization was patented by 
Sinclair's Richard Altwasser back in 1982 (visit http://. . . to 
see the patent). 

That's all fine and good but we still haven't managed to 
easily map a pixel coordinate to a screen address. 
Here's how we do it: 



FIGURE 2. 
Addresses 



Mapping Pixel Coordinates to Screen 



c c 



T B B L 



Y 
17 L 



The thought process that led to figure 2 is similar to the 
previous one. The X coordinate is more or less 
obvious: there are 32 columns horizontally (5 bits) with 
each column contaming 8 pixels (reqiiiring 3 bits). The 
pixel position within a byte (0..7) changes fastest as we 
move horizontally so it appears as " in " in the least 
significant bits of X. For the Y coordinate, the fastest 
changing item as we move from the top of the screen to the 
bottom is the scan line, followed by the character line, 
followed by the block. 

piiven an X coordinate in the range 0-255 and a Y 
LB coordinate in the range 0-192, convert them to binary 
as in figure 2 and reassemble the bits as in figure 1. For 
example, pixel coordinate (x.y) = (133,67) in binary is 
(1000 0101, 0100 0011) with CCCCCM0000, BB=01, 
LLL=000, SSS=011 according to figure 2. Moving the 
bits around to the form in figure 1 gives an address of 
"0100 1011 0001 0000" or 19216 in decimal. The bits 
"TTT" in the X coordinate do not appear in figure 1. They 
identify which bit within the screen byte corresponds to the 
individual pixel. "0" corresponds to the leftmost bit and 
"7" corresponds to the rightmost: in this case it's 5. To plot 

4 the pixel $133,67) wg could simply "POKE 19216.BIN 

4<OJ@00100!J.D4C 4E4C 4F4C 

19532 19788 20044 20300 



ZXir QLive Alive! 



27 



Spring 2003 



If this had to be done by hand for each pixel, it would get 
tedious quickly. Here's a short machine code routine 
that follows this procedure: 

Get Screen Address 

Returns the screen address and pixel 
mask corresponding 

to a given pixel coordinate. 



enter: 



a = h = y coord 
1 = x coord 



de 



exit, 
mask 

uses : af, b, 
SPGetScrnAddr 
and $07 
or $40 
Id d, a ; 
Id a, h ; 
rra 
rra 

rra ; 

and $18 

or d ; 

Id d, a ; 
address done 

Id a, 1 ; 

and $07 

Id b,a 
pixel? 

Id a, $80 

jr z, no rotate 
right pixel, so skip 
. rot loop 

rra ; 
place B times 

djnz rot loop 
.norotate 



screen address, b = pixel 



de, hi 



A 
A 
D 
A 



A 
A 
A 
D 

A 
A 



A = 



ooooosss 

01.000SSS 
01000SSS 

Y coord = BBLLLSSS 



???BBLLL 
000BB000 
010BBSSS 
010BBSSS 



top 8 bits of 



X coord = CCCCCTTT 
00000TTT 

B = 00000TTT - which 



10000000 
; if B= 



=0, A is the 



rotate the pixel right one 



B = pixel, mask 



oooccccc 

Y coord = BBLLLSSS 

LLLSSS?? 
LLLOOO00 
LLLCCCCC 
LLLCCCCC 

= 010BBSS LLLCCCCC, 



Id b, a 
srl 1 
srl 1 

srl 1 ; L 

id a,h ; A 

rla 

rla ; A 

and $e0 ; A 
or 1 ; A 

Id e,a ; E 

ret ; DE = 010BBSS LLLCCCCC, the 

screen address ! 

The subroutine is called with A=H=Y coordinate and 
L=X coordinate and we get the screen address in DE 
and the pixel mask in B on the way out, If we ORed B 
into (DE), we could plot the pixel. If we ANDed the 
complement of B into (DE), we could unplot the pixel and 
if we ANDed B with (DE) we could test whether the pixel 
was set 

This subroutine is great for calculating a screen address 
corresponding to a pixel position from scratch, but 
you'll notice that it is rather lengthy and therefore slow, in 
a relative sense. Frequently you'll be plotting a pixel and 
then plotting many more nearby, possibly a single pixel 
away. For example, in the process of drawing a line, the 
initial point is plotted and then succeeding points above, 
below, to the left or right are plotted. We could handle the 



drawing of the line as plotting many individual pixel 
points, calling the above subroutine to compute the screen 
address for every pixel, but that would be much slower 
than working directly on the screen address to move up, 
down, left and right from a current pixel position. 

Let's investigate further to substantiate that claim 
Given a screen address in HL and a pixel mask in B, 
how would one move left one pixel? Here's the necessary 
code: 

; hi = screen address, B = pixel mask 
. left 

rlc b 

ret nc 

dec .1 

ret 

The pixel mask is rotated left one bit This will be a 
valid pixel position unless B was already at the 
leftmost pixel position in the screen byte (i.e. B=1000 
0000). The "RLC B" instruction will set the carry flag in 
that case and leave B=0000 0001. We use the no carry 
flag to return early if the new screen address and mask is 
valid, otherwise we update the column position one 
character to the left (the "CCCCC" portion of the screen 
address in figure 1). The value of B at this point is 0000 
0001, correctly masking the rightmost pixel in the new 
screen byte to the left of the old one. These four 
instructions are clearly quicker than rerunning the screen 
address subroutine. The right pixel movement is similar, 
substituting "rrc b" for "rlc b" and "inc 1" for "dec 1". 
Notice that these subroutines don't check if we run off the 
edge of the screen on the left or right side. 
To move up a pixel, we need to move up a scan line 
(decrease "SSS" in figure 2). If we wrap past the first scan 
line (0), we need to decrease the character line. If we 
move past the first character line (0), we need to decrease 
the block. Here is the necessary code: 
; hi = screen address 
. SPPixelUp 

Id a,h ; A=H=010BBSSS 

dec h ; decrease SSS 

and $07 / if SSS was not 

originally 000 

ret nz ; we're done 

Id a, $08 ; otherwise SSS=111 

(correct ) 

add a,h ; and we fix BB in H (one 

was subtracted) 
Id. h, a 

Id a,l ; A=X coord=LLLCCCCC 

sub $20 ; decrease LLL 

Id l,a 

ret nc ; if no carry, LLL was 

not originally 000 , okay 

Id a,h ; otherwise LLL=111 now, 

that ' s okay 

sub $08 ; but need to decrease 

screen block 

Id h,a 

ret 

This subroutine derives a lot of speed by minimizing the 
number of instructions executed in the most common 
cases. For example, 7 out of 8 times, only the first four 
instructions will be executed. 7 out 64 times, the first 1 1 
instructions will execute and the rest of the time (1 out of 



ZXirQLive Alive! 



28 



Spring 2003 



64) all the instructions will execute. This makes the 
subroutine much quicker than one would initially guess by 
looking at the size of the code. The PixelDown subroutine 
is similar but is not shown here. All these pixel movement 
routines are reprinted in full in the floodfill listings 
elsewhere in this article. 

That's enough information to have a first crack at a 
machine code version of the BASIC flood fill routine. 

Machine Code Flood Fills 

Figure 3 contains a direct conversion of the BASIC flood 
fill we saw earlier. No optimization has been done but it 
has been improved slightly to check for moving across the 
screen boundary . Type in the associated BASIC listing to 
see it in action. 

■ B je have managed to speed things up considerably by 
UU moving to machine code, but there are still a couple 
of improvements that can be made. First we compute 
screen addresses for every single point plotted Since we 
always move up, down, left or right from the current pixel 
we could speed things up by avoiding this computation as 
discussed earlier. The other optimization we can make is 
to plot a Ml 8 pixels at a time rather than one. What? 
Recall that each screen byte holds eight pixels. Why fiddle 
with it eight times to plot eight pixels in it when we could 
plot all 8 pixels at once with a single write of a whole 
byte? 

The secret to plotting multiple pixels at once is the 
bytefill subroutine. It operates directly on a screen 
address and pixel mask, exactly what we will have 
available now that we have decided not to compute the 
screen address for every single pixel plotted. 
; hi = screen address 



; b = incoming pixel mask 


.Bytefill 






Id a,b 


r 


get pixel mask 


xor (hi) 




; zero out incoming 


pixels that 






and b 




; run into set pixels in 


display- 






ret z 


t 


if no pixels left, ret 


.bfioop 






Id b, a 


r 


b = incoming pixels 


rra 


r 


expand incoming pixels 


Id c, a 


! 


to the right and left 


Id a,b 


r 


within byte 


add a, a 






or c 






or b 




; a = incoming pixels 


wiggled 






Id c, a 


* 


save in c 


xor (hi) 




; zero out pixels that 


run into 






and c 


> 


set pixels on display 


cp b 




; have pixels changed 


from last loop? 






jp nz, bfioop 


keep going until 


incoming does not 


change 


or (hi) 






Id (hi), a 


7 


fill byte on screen 


scf 




; indicate that this was 


a viable step 






ret 







SHytefill is called with a screen address in HL and a pixel 
SJmask containing all the "mcoining" pixels. The 
incoming pixels are those pixels from where the flood fill 
grows in the current screen byte. Previously the flood fill 
always grew from a single point but not anymore. The 
origin of the incoming byte will be clear while perusing 
the second flood fill listing in figure 4. 

The Bytefill routine takes the inconiing pixels and 
"wiggles" them to the left and right trying to grow 
tliem into blank spaces within the screen byte. It does this 
until no more growth is possible within the screen byte. It 
then plots all those pixels and returns. 
Putting these ideas into action produces figure 4, a byte-at- 
a-tinie flood fill routine. Type in the BASIC listing to see 
it in action. This routine is blazing fast; you will not see 
anything quicker. But, and this is a big but, there is a 
major flaw in the recursive algorithm that it shares with all 
the previous fills we have seen so far: the recursion depth 
is huge. 

Consider a flood fill from the bottom left corner of a 
blank screen. According to figure 4, the first tiling that 
is done is the fill of the entire screen byte in the bottom left 
corner Then a move to the right is made and its byte is 
filled in a recursive call to "fill". Followed by another 
right move and fill, then another, until we hit the right edge 
of the screen. A right move is not possible from the right 
edge of the screen so a left move is tried from there. That 
is unsuccessful because it was just filled. An up 
movement from the right edge is tried, successfully. Now 
we are at the right edge, one pixel up from the bottom of 
the screen. The filler fills in the byte and tries a right 
movement. That's not possible so it successfully tries a left 
movement. If this is carried on you'll notice that, from the 
bottom left corner of a blank screen, the screen is filled 
alternately from the left to the right and then from the right 
to the left as the fill line moves one pixel higher for each 
scan line filled. You may have noticed that not a single 
return instruction is executed during the entire screen fill. 
That is a problem. Each call to fill puts at least 2 bytes on 
the stack to remember the return address. Since no returns 
are made for all screen bytes on the screen, there are 6144 
calls made to fill without a single return. That's a 
recursion depth of 6144! Since at least 2 bytes are saved 
on the stack for each recursive call, at least 12288 bytes 
are needed to complete the fill. The situation can be much 
worse, however. In the worst case movement (up or 
down) 6 bytes are saved on a recursive call (two for be, 
two for M and two for the return address). We may need 
up to 36864 bytes to fill the screen! The truth is 
somewhere in the middle. Notice mat by moving from a 
pixel fill to a byte fill we have reduced the depth of 
recursion by a factor of eight. Still this amount of memory 
usage is unacceptable for most applications. How can you 
use a flood fill in your own programs if it's going to need 
most of the available memory to complete? 

This recursive fill is an example of a depth-first 
algorithm. It fills an area by going as deep as possible 
into the area (one call begets another call begets another, 
etc. without rettrrning). The result is a recursion depth that 



ZXir QLive Alive! 



29 



Spring 2003 



is proportional to the area of trie screen to be filled. We 
can rescue the situation by considering another algorithmic 
approach, known as a breadth-first algorithm. Instead of 
going as deep as possible into an area, try going wide first. 
This sounds like a lot of metaphysical talk of questionable 
value, but the terms "depth-first" and "breadth-ffrst" are 
bonafide jargon that is used to describe the solution 
behaviour of many kinds of algorithms. 
□I breadth-first approach to a flood fill would, instead of 
IB going as far into a screen as possible, try to fill all 
points in the immediate area first. From a starting point 
all pixels to the immediate left, right, top and bottom are 
filled. Then for all those adjacent pixels, their immediate 
neighbours are filled etc. The savings comes from a key 
observation: once the immediate neighbours of a pixel are 
filled, there is no need to remember (come back to) the 
current pixel. Its information can be forgotten. This was 
not possible in the previous depth-first approaches. As 
will be seen later, the breadth-first approach will have a 
"recursion depth" proportional to the circumference of the 
area being filled, a significant savings. 

Figure 3. Pixel Coordinate Flood Fill 

; Flood Fill Version 1 

; H = Y coord 0..191, L = X coord 0..255 
.flood! 

push hi ; save (x,y) 

coordinate 

Id a,h ; Get.ScrnAddr 

requires A=H 

call SPGetScrn&ddr ; compute screen 

address 

pop hi ; restore (x,y) in 

HL 

id a, (de) ; byte on screen 

and b ; check if this 

pixel is set 

ret nz ; if so, hit 

boundary so ret 

Id a, (de) ; get. screen byte 

or b ; set. this pixel 

Id (de),a ; plot it on screen 

. right 

inc 1 ; move pixel coord 

right 

call, nz, floodl ; if no wrap 255-->0 

dec 1 ; restore x coord 

.left 

dec .1. ; move pixel coord 

left 

Id a,l 
inc a 

call nz, floodl ; if no wrap 0->255 

inc 1. ; restore x coord 

.up 

dec h ; move pixel coord 

up 

Id a,h 
inc a 

call nz, floodl ; if no wrap 0-~>255 

inc h ; restore y coord 

. down 

inc h ; move pixel coord 

down 

Id a,h 



; if less than 192 
; restore y coord 



cp 192 

call c, floodl 
dec h 
ret 

Figure 4. Byte- At- A- Time Flood Fill 

; h - y coord, 1 = x coord 
. f lood2 
Id a,h 

call SPGetScrnAddr ; b = pixel mask 
ex de,hl ; hi = screen 

addr es s 

.fill 

call Bytefill ; wiggle around 

incoming pixel mask 

ret nc ; if incoming 

pixels hit boundary, ret 
. up 

push hi ; save screen 

address 

call SPPixelUp ; move up one 

pixel 

jr c, offscreen! 

push be ; save pixel mask 

call, fill ; try to fill from 

new screen position 

pop be / moving up, pixel 

mask remains same 
. offscreen! 

pop hi 
. down 

push hi 

call SPP.ixel.Down 

jr c, offscreeri2 

push be 

call, fill 

pop be 
. of f screen2 

pop hi 
. right 

bit 0,b ; if first pixel 

in mask set, try right 
jr z, left 

inc 1 ; move right one 

byte 

Id a,l 
and $lf 

jr z, offscreen3 

push be ; save current, 

pixel mask 

Id b,$80 ; new incoming 

mask = leftmost pixel set 

call fill / fill from new 

screen position 

pop be 
. of f screen3 

dec 1 
.left. 

bit 7,b 

ret z 

Id a,l 

and $lf 

ret z 

dec 1 

Id b,$01 

call fill 
ret 



ZXir QLive Alive! 



30 



Spring 2003 



QL, Spectrum, ZX-81 and Z88 

www. members, tripod. com/hes_computing/hes 1 .html 
E-Mail 7460 1 . 1 53 5@compuserve. com 
Phone 210 661-4376 

Heme Electronics Service 

John R. Rish 

oZzJ. Kazen ur. 
San Antonio TX 78219 USA 


VaCL. Hacker's Journal 


Supporting All QL Programmers 


Timothy Swenson, Editor 

2455 Medallion Dr. 
Union City, CA 94587-1914 
swensontc@geocities.com 

I ILip.// WWW.yCUotUC2>.U\JI I l/OlluUI 1 V alley/ ~ 11 ICo; ^JijKJ'J'i 


The John Oliger Co. 

11601 Widbey Dr. 
Cumberland IN 46229 
The John Oliger Floppy Disk System 
FOR THE TS-2068 

j oliger@mindspring . com 


Peter Liebert-Adelt 
LUETZOW STR 3 
D-38102 BRAUNSCHWEIG 
GERMANY 

Email: p.liebert@t-online.de 

http://home.t-online.de/home/p.liebert/zx-team.htm 


NASQLUG 


North American £ 

Ai Boehm 

2501 Ermine Drive 
Huntsviile, AL 35810 
aibertboehm@juno.com 


Sinclair QL User Group 

Kevin O'Leary 

Box 172 
Meriden, NH 03770. 
olearyk@cyberportal.net 


Software for the Timex\Sinclair Computer 

~\AC VT<iA Arri^riran Firnrpss: Phnnp 7 1 7-748- ! 747 

Keith Electronics 

224 North Grove St 
Lock Haven, PA. 17745 


ARCHIVE Based QL Software 

Bill Cable 

Wood & Wind Computing 

RR3 BOX 92 
Cornish NH 03745 USA 
Phone (603) 675-2218 


Surplus T/S 

invuniQrj,:..;" 


JOHN J SHEPARD 111 
281 130 th ST 
OGDEN IA 50212 
< jshepard@wccta.net > 

Mostly Q L & TS-2068 


limine Cubes 

Hardware & Software 
352 7 th Ave. 15 th Fir. 
New York, NY 10001 
Phone 212 631-7563 
Domino. cubes@exceisior. net 


JACK BOATWRIGHT 
67325 FRYREAR RD 
BEND OR 97701 
< jboatno4@outlawnet.com > 

Mostly 2X81/TS-1000& TS-2068 



ZXirQLive Alive! 31 Spring 2003 




TSIOOO ZXSi 



3- Color Keyboard 
Symbols with 
Conversion 
instructions 



• .issue TS 1000-2X8 J keyboard symbols in 
Biac:<, Rod end Blue. -Opaqaft background. 
Wilt Ji* all standard -su-e fceys. Adhesive 
backing for ra«y application, 

» Sinopie liHistraled instructions wili show you 
how !o convert a cheap (afccut surplus 
Keyboard to a :\i i i - sijf TS 1000/2X8 1 console ■ 
".. ..as n.rsy 3s stringing wlru on a fense. 

* Oq seiwSDoa'taier selecting a surplus key- 
board. 



Soavs tor the pro 
Computer. 



Schematic Diagram of 



MULE Electronics 

Dept 3 lO 

L.rcoif! B!vrj 
Vm'hos, Ga« ! forms 30281 
"Add $1.50 F&H , fTailfornla r.?si-j?n».s stiff S. 5s 
tax. Musw-ba-sk guarantee, oi coursr . 



SAVE 
' 0NLY 



r SPEECH 
V§§\SY NTHESn 
\ZXST 
\TIMEX 
\VIC20 
APPLE I r 

[♦UK ! LJMITkD VocasulaoyTT ^J 39 

♦ AMPLIFIER 4 SPEAKER 1 »J"- T , 

\SMARTY 
EARS! 

(SPEECH 
[INPUT 

I FQfl ftSOVS 

UBTJC 

COMPUTE OS 
j S OTHERS CAU? 

MtjSlC*^ I **»»»»os<ii« «!«>«*««!» 
^ ; sua.? !Hi!6i) »auAW»«T£EO 



apescM 

p»eecH3ru«TiaiM j 



ISYfvTHESSS 
|ST£REQ+16I_INE CONTROL POF 
I clay SPart Music, Ei>f cr.omwffi ect 

1 I/O »0«T TO CQNTfllJL fflMQT,'""" 
1 M gW . M CuqiTr.tAfl»tft, 



OIBCU B0. i?S ON PUS* IHFOfMIAnO* CABD 



; audio vikon 1 8P f 5j ttK CH iv s *^*;* 1 

1279 -N «0«H«N0)t t »? 5 BJJ l'F'r 4( rtff-- A - 
15JS- ANKJ It* IIBT3J gBOaaiT J| 



Full Size Keyboard 
Conversion 




retail 

SeWffa? Us MajhteaUws 
41 Keys with FbM Silt Space 8a r ' AHowi Twrctt TyfifiQ 
Sim* Key Layouts a* Sineiair • Tw C«tor Kayttp* 
Keys**** Caw Hoi* Be* Keyboard iad Cwnputtr 
Commjftai and fir*?hi« S*al!»4 Out a* Kaytops 
fair Cutout Jar Any dm or ExiwiHiw Nod*t*« 
16R Piggyback SAM Modwi* f s w h $43 95 

- SUNTRQNWS CO,. 

,r,w 213-144-1,43 



J Oi kshS Cheek w M 0. le 

P. » Ben 19*7 H»wl*!iffi« CA 90250 



THE PEOPLE'S 
COMPUTER 
SUPPLY 




?Ctv4ii»"r« unci** run* i <* » kxmm n iwnum * tot ««» 

BCn-7 l«» 1.00H* «06v T»* S» OU» *B OW * Ut WHAT 

TOUCAN «JAii?IKJWr1«Tw( K>atip 



«.£«OTtCH«H»B«CT> 

3 :(!«m«mO»a« 

* HKiH«t«)lU»IO«W»««;> ■»>" 

4 mam 'au ra rau wum* sTy»ft? 5^5'f«i w«*fM 
DISK CONJROL CARD 41 W 95 

■wtAUOMti *0»xtOM*Mii»W«»li0« r«! '1mC» S»«<t.A» Z* W »' 

VIJA -.STU (itO« AUtfl 

MMOMAl mien 

mo*) «nttn 



fot«.9f 0.44>rt «w»Atf«M SO 
U 4 0*4*.. Add » 



THt PtOPUSCOMpVJTtR HJPftif 
P 0 Sot 4M Sidney Htb-osku WAS 

AfRCO factory Authorized Disk Drive 
Systems Distributor 



4» 



COMPOSE 
YOURSELF 

MUSIC for the 
TlMEX-SINCLAtR computer 



you» totoryami ane <e!>«mw !ti««9»^i «•«« nt "if 



INTBOOyqiNO 



MOZART 



* A :.-<>r,f!tft;« CMinwi«;fcn«Mk'« i«::»i*git 
» !.+:■ !* :*» senate 

* a«9S Ml 'X TStOW «K>a!*uU«^ 

* r.i^v.* 3,7d>itc« ef RAM p>c* »iff*ei »r wiuk 



yours for a song 



"RK3QN 



$79.91 



5?S AVJ!»<t!A »». JA JVATA CiEPT Oi 




CWCUS ftp- %Z9 Ot» FBE«|«FQRMATK)N CARD 



■■MWMIIWW HJ>» rwannr-WHW'W* U*HVl 



R.t.S.T. Inc. ANNOUNCES 

SPEECH 
SYNTHESIZER 



SALE 




■act mm | hb^b i ■ 

now ^ \^m\^ j ^hH| 

S|ioe<:h Syn«h<>'.is M,mu.4 '-IS V Ai Ut * HH 



Apple 41, H* 
TRS80 Models i. Ill 
Commodore 84, VIC 20 
2X8Q/81 and TS100O 
Regularly $89.95 Now Only $$9,9$ 

p!u5 S4 00 5H.-HOEA 

Complete of Slarter Kits Available 

toQuite acout our compS«e 
Of TALKING Software Programs, 

II ■■ II — M ■ W Wi — 1 



ZXir QLh^e Alive! 



i-ZODUs FS FOR 

TIMEX-Sinciair 

NEW MO-2 OsfiECT CONMECT 

MODEM s *!i ^ 

with New SMART, Mam.; Dmvbii 
SOFTWARE 1 included FRCC 
* Send & ftecp<ws Vrogrtjtria by PWM 

■ Copy lr*3riT(»:i«r >'•)<> Memorv * Review 
It Ssvft H On r«?B S"wl fCAlfro-" 

» Usb Time* 2040 P'^fO* Of Ar>v «S-? » Pn*mt 

■ P»nfe* W r^onKH 

» Mo F»»a M-enuiy B«|u»«t, 8ol VWfi 5*K 
?-i*;r»orv Yo=i Can Sws'ir Up Tu &.t I- &3«enx 

P»mt«r Interface $59 '' K't 565 * A$s 
SB-1 ConlrOt fctofftiis 8 riwavs 8 TTI Inpjfs 563 " 



" UM 64 64K Memory 
BaUary Backup, Prow.Rtim Sac*ci H*n«t B» ffcs 

EjiCIuS' »» Fe»!u«s Cosy i»h» T.m*» floro »nIo It'* 0-8K 
Area o! R»m a S* S- npetW* Mit « F»AM 
MOD1FV it to *v ! yoti'r necefc Ado n*f<» oofmanoi- 
$n& -- iCi- S t- ? 9 AAseme;»a 

QerHRKSanana Printer Qrs&n>nu>a w> otAn $S» " 
See IfSatssrtg £aae Ail m this maqa»n«> 



BYTE-BACK CO. ftl H? BfOC e 

Imw^HC 2SC.7C C*. COD vtSA M-C AM tXP 

Ph., S03=532-Set2 Ai»l K 95 »=J*mg !f * M orSKS 
(t) day mooey b«* guarante* pius 90-day warranly 



* AiJV AS f 



t ca*» «MFoa«UTtOH 



32 



mm 



HAVING LOADING 
PROBLEMS ? 




GET A Z-DUBBIR 



CHARGE OR COD ORDERS CALL 

1-800-227-3800 

ASK FOR OPERATOR 2 iS 



BY SEATTLE. W.A 9B111 

CAii OH WRITE FOR DEALER INTOKMMSON 



Spring 2003 



Sinclair I 




It A Cl 1 1 A.J 




Anderson, Paul 


pandersni@peakpeak.com 




Kaczor, Jon 


jazkaczoitijjaol.com 


Anson. Gerald 


jerryaiS:aztec.asu,edu 




Kahale, Abed 


akahale{®iuno. com 


Barker Robin 


robin^di-ren. demon.co.uk 




Kealy, Harriet Joan 


lijkealy(@rionet.org 


Bennett, Dave 


dave975@att.net 




Kenny, Larry 


larkenO.stomi.ca 


Bill MeKelvev 


mckelve\"w@delphi. com 




Kingsley, Ed 


edk4@aol.com 


Boehm. A! 


aibertboehm® j uno.. com 




Knvszek, Theodore 


thirteenmOTworidnet.att.net 


Boehm, Bill 


boehm(3?plh, af, mil 




Kondrac, Mike 


mkandrac^aol . com 


Barrel!, Jeff 


jburrelliSiendoeardial , com 




Konig. Urs 


urs. koenig@agrodata.ch 


Cable, Bill 


cabie(©cyberportal.nei 




Kwitkowski, Phillip 


pkwitkowski(£|liotmail com 


Carpio, Juan 


jiianchuscar(?4vahoo,coin 




LamberL Doniild 


dslambert Caieimilrnsn. com 


Castro Antonio 


cast rox^portoweb , com . br 




Lancaster, Garry 


dharkhig(S;delphi .com 


Calotti ChristODlie r 


kd4ace;'SicoiiiDuserve. com 




Lanciault, Francois 


francois ,.lanciault@energies..al.stom. ca 


Chambers Geonze 


afchanihiffnallicom com 




La Verne, Melvin 


nilaveoieOusit. net 


Chantane Watchara 


w chanians'S'altbi com 




Lebowitz, Dave 


dkl(Sidpliv.com 


Collins Bili 


bcollinsvlfijliome. ifx.net 




Lessenberry, Gmy 


gl743rSlaol.com 


Cot troll Les 


iacoflrell^cfl rr com 




Lieberl-Adelt Peter 


peter(itzx81.de 


Cmz-Figueroa . Jaime 


cruTfi iii ier@ aol com 




Lieberi-Adelt Peter 


p. liebertOt-online.de 


Danshv Andrew 

x — r C4.A S.sJtZ > n .e SsJiiVt^ 'w 


adansbv<v?)atlan! ic ne! 




Mallov. Bob 


74776 . 23420compuserve.com 


Davidson Oil ! urn 


caliumdavidson^Jiotmail com 




Matthias, Jaap 


mjaapOatari -computer.de 


Davis Frank 


fdaviSi&iouesl net 




McBri ne, William 


wmcbrinefS-covad . net 


Del he/ Carlo 


carky$sDase nl 




MeKelvev, William 


mckelvevwOdeiphi.com 


Donaldson John 


goodolejoluKia^avenew .com 




Merz, Jochen 


jmerzOt-online.de 


Dorinson Mark 


74200 2 ^ 7i® comousen ; e com 




Mikoiajczyk, Dean 


deanm974930aol.com 


Dunbar Douglas 


dldunbar^nrodi sv net 




Miller, Seymour 


seymi lOdelphi . com 


DuPhv fame 1 ? 


duoiiv -Woine! ine com 




Muth, Bob 


bobkeeper 1 Oaoi . com 


Fnoamado ?oao 


encarnado^/Metcabo nt 




Hachbaur, Fred 


fnachbaiirOinetscape.net 


England William 


wen 2lai id*?/ iname com 




Norton. Qws 


gnortonOrsacc.net 


FepJev Ruth 


ruth feslev'/'/'Worldnei att net 




Norton, Gary 


gnortonOworld.std.com 


Fens? Al 


al fen«#iimo com 




O'Leary, Kevin 


olean4iOcyberportal.net 


Fink Mike 


domino cube^-'CKcelsior net 




Panish, Gil 


gil. parrishOahanet . org 


Pink fyfikp 


domino cubes^i nointblank com 




Payne, Josh 


joshpayneObigfoot.com 


Firshmars 'Tniv 


tonvj^firshman demon co uk 




Pazmino, John 


john. pazininoO)moondog.com 


Florit Louis 


florit^unixville com 




Perry, Luke 


doidvlOiuno.com 


Frank e John 


i m frankef&Jarc nasa hov 




Pern-', Russ Jr 


slapdashO^nteraci . coin 


Gan per Garv 


a.'.in«era//7idma ore 




Rampolla, Joe 


jprampollaOhiazenet.net 


Ff ilhrrt Rohcrl 


weena^netzero net 




Rigter, Wilf 


wi If rigt erOpowertechlabs . com 


Gillesnif' Dono 


aa43 1 !®cleveland freenet edu 




Rish, John 


7460 1 . 1 53 50compuserve.com 


Oirnius William 


eirnius w^bls gov 




Saiiter, Lam 


sauter4 1 7380msn.com 


Goodwi n Glen 


f Ienatacmert7 ; aol com 




Shepard, Jay 


jshepardOwccta.net 


Go wen Rod 


aw7^3 ? ©oslh or* 5 




Simon, Thomas 


73177.33 30compuserve . com 


H ;ihpf I v Di i n can 


dimcan^iwlitarv com 




Skapinski. Thomas 


tskapinsOiuuo.com 


TTarhil Ken 


krh0 V//)cvin frespo com 




Solly, David 


k david sollvOhotinail.com 


Harris Paul 

& .i<iA I A_5-, i. ***** 


nlli.wfrsH 'f9 co nk 




Slegman, Dan 


danesteg(Sy uno. com 


14 a rti 1 1\ 0 R aH 


revrdhinSnel <?cane net 




Swenson, Tim 


swensontOilanset . com 


M^ndprl i oht Mi kf* 


mikehend^microsofl com 




Swentko. Wally 


wswentkoOrnaroon.tc.umn.edu 


,fc I vi A "wj, V..- 1? 


cvherreS aol com 




Swoger, Robert 


r swogerOaoi. com 




naulhoimi?/dndv net 




Taylor, Jeff 


jetavIorOinidrobotics.ca 


Hnrt/)n Will 


wi 1 Ihort^aol com 




TEJ Computer 


tejOjps.net 




rodh ; ?/ ; Dacificcoasi net 




Tlioresen, Jeff 


74200.257Ocompuserve.com 


Impellizerri, Jolm 


jimpellizerri(a!compuser\ ? e. com 




Waidmaa Stephen 


brogineOhotmail . com 


Jaap, Matthias 


matthiasjaap@liiis.hh.schule.de 




Walterman. Don 


waltermOix , netcom . com 


Jonas. Mike 


mjonas® bbn.com 




Watson, Keith 


keith watsonOjuno.com 


Jones, Dilwyn 


dilwyn jonesftMi . softnet.co.uk 




Webster, Robert 


rwebs 1 O^etzero . net 


Jones, Terry 


ijoness® iname.com 




Zimmerman, George 


gzimmer9280aol . com 



ZXirQLive Alive! 



33 



Spring 2003 



Z($ 3k! X09X to 2003 



VOLUME 1 NUMBER 1 5 


Spring 1991 


{ZX-91 10 Years Later No. 5 


Andre Baune 


SNUG is Dead! - Long Live T/SNUG 


Bob Swoaer 


New Commands JLO SAFE V2.6 


John Oliger 


From The Chairman's Disk - SNUG! 


Don Lambert 


VOLUME 2 NUMBER 4 Winter 1992 


Oliger Proposes Detente With LarKen 


Don Lambert 


± rrom ine Jbditor s UesK - LogiCaio.l 


Bob Swoger 


Stepping Rate Fix (Disk drives) 


Swoger & L. Kenny 


Input/Output - Marvin Johnson and Joseph 


Bob Swoger 


VOLUME 1 NUMBER 2 Summer 1991 


Kuuipoiia 


Input/Output - Censorship. Mailing, N/L 
Exchange, Mile High, Bill Ferrebee 


Bob Swoger 


50 TPS (Prog, for the 2068 & Spectrum) 


Don Lambert 


VOLUME 3 NUMBER 1 S 


pring 1993 


Reviews - QL Survivor's Source Book 


Dyi & Frank Davis 


Input/Output - D. Bern 7 (Master Scribe). T. 


J Bob Swoger 


Reviews - International QL Report 


BobDyl 


Simon and D. Lassov 


T/SNUG, QUANTA, andPD-QL Software 


AlFeng 


Compound Interest and hivesting 


Don Lambert 


Converted TS-1 016 RAM That Works 


Anthony Farrell 


Changing a REM statement in ZX-81 BASIC 


Bill Harmer' 


Cassette LOAD/SAVE Problems Solved I 


Don Lambert 


Use Some Hitching Bits as a Flagman 


Bill Harmer 


Solar System Review - Computers/Tech. 


Joan Kealv 


VOLUME 3 NUMBER 2 Summer 1993 


VOLUME 1 NUMBER 3 Fall 1991 


SPDOS for RAMEX Mellina K (Disk drive) Don Lambert 


Input-Output - Gill Parrish, Louis Eisen, Joan 
Kealv. Bill Ferrebee and Rod Humnhrevs 


Bob Swoger 


RecordKeeping 


Abed Kahale 


input uuipui - i vrranam, n. Kaatke. vv. 


rioitor 


xvcviewb - j ivieg r nnter rsuiier irom 
Technologic Systems 


- 

Bob Swoger 


Knaust Keep'em Coming - G. Newkirk, D. 
jciuoii, s\. iviaudiis, r. rienn, j\. oweiizei, w 


How To Replace TS-1 000 Parts Cheap 


Gill Parrish 


aishjcd, s\. oyici, aim v-uiucii. 


Cassette LOAD/SAVE Problems Solved II 


Don T ,amhpTt 




/-viex isurr 


QLUSTer LITE 


Al Feng 


Disk T ife 


i cu .icusen 


VOLUME 1 NUMBER 4 V\ 


Hnter 1992 


Disk T ife 


euwihu snow 


Input/Output - G. Chambers, W Harmer, R . 
Wisti, H. Scriven, B. Allen and R. Madaris 


Bob Swoger 


VOLUME 3 NUMBER 3 


Fall 1993 


Spectnmi AUTOSTART 


Don Lambert 


Cassette LOAD/SAVE Problems Solved ffl 


Don Lambert 


Re-Inking, Ribbon Resuscitation 


John Wase 


Clean Screen Please TS-2068 


Bob Swoger 


js.eep em L-oming - j. rviuumann, u. v^nattm, 


Editor 


A Short History of The Z-88 


Dave Bennett 


u. oicgiiidiL Lj. oiniori 


Transfer MS-DOS Files to the TS-2068 


George Chambers 


iuc.\pcui>lvc /,-oo r cUalicl lu ocnal v^-onveriei 


Jay aiieparu Lil 


QL Directory to Printer PDS DOC 


Butch Wienberg 


Did You KnoW? (LarKen Tips) 


Les Cottrell 


ZX-91 10 Years Later No.l & No.2 


Andre Baune 


labURlu JD I\llilUCl LlllCliuvC H_'ir 1 ) 


5>\\oger / 1j jvenny 


VOLUME 2 NUMBER 1 S 


Dring 1992 


Index Highlights - Articles 


Editor 


Input/Output - W, Jackson, M. Kendoll, R 
Shade, I. Zachev arid J. Shepard 


Bob Swoger 


Public Domain Library Listmgs 


Editor' 


VOLUME 3 NUMBER 4 W 


inter 1993 


Cassette LOAD/SAVE Problems Solved IV 


Don Lambert r 


Input/Output - Help - J Payne, W. Horner, TV 
& Monitors, G. Parrish 


Editor 


An Updated ZX-81 


Don Lambert 


Bench Marking Hie ZX- 81 


Edward Snow 


Keep'em Coming - D. Lassov, F Sklar, G. 
Simmons, Q. Kent. 




Driving Your Tax Threshold 


Joan Kealy 


TAX-I-QL TIP 


Al Fens | 

. — ■.iy' — . „ 


MEMOTECH MEMOPAK 64K 


MEMOTECH 


ZX-91 10 Years Later No. 3 


Andre Baune 


TS-2068 Talks to a PC bv Modem 


Abed Kahale 


VOLUME 2 NUMBER 2 Summer 1992 






Quanta-Gate? 


Al Feng 


Tandy CM-1 1 Monitor 


William Horner 


Input/Output - K. Krack, G. Hufstedler, F . 
Sklar, C. Fox , A. Baune D. Lambert. J. 
Rampolla, C. Kereluck, P. Anderson, D. Leech 
and D. Lebiwitz 


Bob Swoger 


MSDOS to LarKen & MSCRTPT 


Les Cottrell 




D.U.S. Disk Utilit\' Software 


Don Lamber t 




Turbo Switch for the ZX-8 i 


Tony WTliing 




Using 16K MEMOTECH MEMOPAK 


Don Lambert 


Cassette LOAD/SAVE- Problems Solved V 


Don Lambert 


Public Domain Library Update 


Editor 


Modem Time 1 st MTERM II 


Bob Swoger 


VOLUME 4 NUMBER 1 Sp 


iring 1994 


Refining ZCOMM (MODEMing) 


Joseph Rampolla 


Input/Output - D. Lassov, L. Howell, D. 
Williamson, G. Ray, D.Smith, 


Editor 


TS-2068 to Z-88 Transfer Via Modem 


Dave Bennett 


ZX-91 10 Years Later No.4 


Andre Baune ■ 


W Knaust, R Jelen, R. Shade, G. Pamsh, R. 
Gowen, SUGWNY 


Bob Swoger 


VOLUME 2 NUMBER 3 Fall 195 


)2 


Input/Output - A, Albrecht, D. Bennett, H. 
Polley, M, Binstock, J. Caldwell, B.. Madaris, 
G. Parrish, and J. Rampolla 


Bob Swoger 


Oliger UtiUties 


Don Lambert 




QL Date Gate! - DBEASY - 


Al Feng 




^ogiCall Review 


Abed Kahale 


BYTE-BACK MD-68 Modem 


Bob Swoger 


TS-2068 - CMOS On Board 


Richard Jelen 


Miner al Oil & The Printer Ribbon 


Abed Kahale 


Ni-Cad Charger 


Richard Jelen 


Mineral Oil & The Edge Connector 


Bob Swoger 


TJM4CHTNE and the FDD 


James Brezina 


Resetting Track 0 on Disk Drives 


Don Lambert 


QL Video Output Circuit 


Richard Jelen 


Writing More Efficientlv 


Bill Harmer 

— . . — i* 


QL Woes 


Nazir Pashioon 



Moving Ramtop in ZX-81 TS-1000 


Anthony Oresteen 


Lassov. W T ire Guage 




ZX-81 POKEs and Calls 


Anthony Oresteen 


CAMESF Stringy Floppy 


Donald Lambert 


Frastrated PC Users Flood the Help Lines 


Joan Kealy 


A Word to the Wise 


Tim Swenson 


D.U.S. Cheat Sheet 


Abed Kaliale 


Memories Mean a Lot 


Abed Kahale 


Why the Oliger Disk I/F with JLO SAFE is the 
Best for Your' TS-2068 


John Oliger 


QXL Notes -Sequel 


AlFeng 


MDFR BAS vl.05 MDIR C 


Al Feng 


CW Decoder Circuit 


Bob Swoger 


Lil'Amp Rides Again 


Les Cottrell 


VOLUME 4 NUMBER 2 Summer 1994 


Ql Corner 


Bob Gilder 


Input/Output - R. Men. E. Snow, R. Gilbert, 
G. Ray, R. Bamett 




The Musical PC8300 


Gilliam Panish 


QLuMSi -Recent Changes 


AlFeng 


R. Hartung, R. Gowen, D. Lassov 


Editor 


Daisy Be Good HI 


David Lassov 


LarKen Disk Interface Circuit 


Les Cottrell 


Waging in the TSRoom 


Donald Lambert 


QLuMSi v.4.30 


AlFeng 


QL Hacker's Journal 


Tim Swenson 


QLUSTer Upgrade 


Al Feng 


VOLUME 5 NUMBER 3 


Fail 1995 


Relocating Machine Code - TS-2068 


James Brezina 


Input/Output - R. Haitung, P. Robinson, A. 


Editor 


PARTS Inventory 


Richard Jelen 


Albrecht, W. Haimer, D. Lambert, M. 


Did You Trv This? 


David Lassov 


Binstock, F Henn, M.van der Zwan, L. Moll, 


SNUG Notice 


Abed Kahale 


J. Dohany. 


T/SNUG QL Piiblic Domain Library 


Paul Holmgren 


ZEUS Assembler 


Alvin Albrecht 


VOLUME 4 NUMBER 3 


Fall 1994 


Towers of Hanoi 


Alvin Albrecht 


Input/Output - W, Bizozowski, E. Phillips, A 
Binstock, R. Shade, 


Editor 


Digitizing & Sythesizing the 2068 Sound 


Alvin Albrecht 


TTSUC 


Robert Swoger 


Smith's Chart. 


Edwin Phillips 


Daisv Be Good FV 


David Lassov 


Computus Interruptus - 1 


Wes Brzozowski 


QL Hacker's Journal 


Tim Swenson 


Batteries for the Z88 
SNUG 


Don Lambert 


Some Are QXL Notes 


Al Feng 


Windows by Shade 3 


Robert Shade 


Adjust DATABASE Please 


Al Feng 


VOLUME 5 NUMBER 4 \N 


inter 1995 


Information SuperHighway - Modems 


Abed Kaliale 


Input/Output- ZX-TEAMP.. Liebert-Adelt, F 
Henn, J. Moreno, D. Lassov, K. Posey, S. 
Dwyer, J. Clark, L. Cottrell, ZX81 LCD 
Screen. 


Editor 


Complex ASCII Rotation 


Tim Swenson 


Z-SFO RS-232 Serial Interface 


Abed Kahale 


To PRINT or not to LPRINT 


Jim Brezina 


VOLUME 4 NUMBER 4 Winter 1994 


Better Late than Never 


Abed Kahale 


Input/Output - B. Dyl, D. Lassov, D 
Bennett, W. Brzozowski, T. Simon R Gowen, 
NESQLUG, SNUG, W. Mossberg 


Editor 


PC Power Supply for your QL 


AlFeng 


QXL Totes 


Al Feng 


Daisy Be Good V 


David Lassov 


1994 UPDATE! 


Frank Davis 


QHJ Freeware 


Tim Swenson 


A Surprise Box of Tricks - Z88 


Flugli Howie 


IBM Keyboard Interface for 1000/2068 


Jack Dohany 


Z88 and its Power of Recovery 


Hugh Howie 


50 Something 


Abed Kahale 


JLO with LKDOS Cartridge 


Bob Swoger 


VOLUME 6 NUMBER 1 S 


5ring 1996 


SINCLAIR Rides the INTERNET 


John Paznihio 


Input/Output - Inter. ZX -81 Magazine, H. 
Scriven, P. Liebert-Adelt, G. Panish, D. 
Lassov, F. Davis, J. Cruz-Figueroa, ZX-Team 
Magazine, QL Public Domain Library - S. 
Johnson, J Moreno, TTSUC Library - G. 
Chamber, J Dohany - JKI keyboard, L. 
Cottrell. F. Sklar. SCC BBS. 


Editor 


Christmas Return Labels 


Bob Swoger 


DaisvBeGood - 1 


David Lassov 


Windows by Shade - 1 


Robert Shade 


Z88 Batteries 


Mort Binstock 


ZQA! 1991-94 Index to Articles 


Editor 


VOLUME 5 NUMBER 1 S 


)ring 1995 I 


Input/Output - Carlos Delhez, Robert Gilbert, 
Larry Crawford, Rod Gowen, Fred Henn, Greg 
Bridgewater, SNUG News, William Krossner. 




IKI Keyboard Interface (ZX-8 1 , 2068) 


Jack Dohany 


Editor 


ZX--81 Hi-Res? 


T. Swenson- Internet 




UDG s ZX-81 


T. Swenson- Internet 


Zebra FDD 


Donald Lambert 


DBEasy - 1.6 Review (QL) 


Al Feng 


Windows bv Shade 


Robert Shade 


fmprovmg Sector COPYing Program (QL) 


Al Fena 


i -~ 

QL Hacker's Journal 


Tim Swenson 


Daisy Be Good - VI (2068) 


David Lassov 


QXL Notes 


Al Fena 


VOLUME 6 NUMBER 2 Summer 1996 


Z88 - My Memory Surprise 


Hugh Howie 


Input/Output - D. Johnson, K. Harbit, P. 
Liebert-Adelt, SJPD, GATOR, UPDATE!, J. 
Moreno SCC BBS, J. Kealy, K. Harbit, J. 
Shepard. 


Editor 


Z88 - Power to You 


Hugh Howie 

— SsT. m 


Computus Interraputs 2 


Wes Brzozowski 


TS Bulletin & BASIC N-L 


William Haimer j 


Daisy Be Good H 


David Lassov ■ 


Expand the ZX-81 Memory to 32K 


ZX-TEAM 


VOLUME 5 NUMBER 2 Sui 


Timer 1995 


DBEasy's EASY OUT Custom (QL) 


AlFeng 


Input/Output - Les Cottrell, Tim Swenson, 
Robert Gilbert Francine Sklar, Harry Miller, 
David Lassov, Joan Kealy, Bill Cable, Gilliam 
Parrish, Ferdinand Gunther, Carl Jones, David 




Windows by Shade - IV (2068) 


Robert Shade 




Enata - Sector COPYing (QL) 


Editor 


Editor 


QL Hacker s Journal (QL) 


Tim Swenson 




Telecommunication (2068) 


David Lassov 





-L/aVlU L&SSOV 


A.QO Kevisitea 


Don Lambert 


The Web WWW 


Abed Kahale 


u i ou jsjiow ; - mternet 


Al Feng 


VOLUME 6 NUMBER 3 Fall 1996 


iviore Kjii yrt 


Robert Hartung 


Input' Output - D. Lassov, K, Watson, J. 
Kaczor, F. Davis, J. Pegrani, A. Feng, J. Kealy, 
vj. ramsn. LtAiok, intemet virus, tl. Kaacler, 
ZX-81 Hi-Res, J. faylor. J. Moreno SCC BBS. 


Editor 


yrt * iiic ivii5Siiig i^hlr. 


Al reng 


miemei to ijarjs.en 


Les cottrell 


Sequential Paragraph 


David Lassov 


Menu Magic 


David Lassov 


io rrank & Carol Davis 


GATOR 


TeleCom Menu 


David Lassov 


JJ1SK JJOCIor (ZUOo ) 


George Chamber 


ZEBRA on the Net 




vjMUoAiL. cnronicies (QJ_.j 


AIT -1 - 

Al Feng 


VOLUME 7 NUMBER 4 Winter 1997 


i_ogiv-aii L,ogic (2Uoa) 


GAIOR 


Input/Output - RMG Project. SmartWatch - 


Editor- 


QL Hacker's Journal (QL) 


Tim Swenson 


David Lassov. E-Mail from Frank Davis, 


rew u serai Zoa CL1 Koutrnes 


T"X T~> it 

Dave Bennett 


Recent QL FreeW T are - Tim Swenson 


Ai Keyooara Jntertace ZX-81 


Kai Fischer 


More On QPC 


Robert Hartung 


Windows by bnade - V (2068) 


Robert Sliade 


QLATter 


AlFeng 


Daisy Be Good VET (2068) 


David Lassov 


Sex for the ZX-81 


Wilt Rigter 


Surfing-the-Net with Sinclair 


RAMTOP 


VAL Fimction 


David Lassov 


TTSUC LarKen Disk Library 


| Editor 


How to Hack on the Spectnmi 


Les Cottrell 


VOLUME 6 NUMBER 4 W 


inter 1996 


Lunch Hour Activity 


Les Cottrell 


Input/Output - RMG - R. Gowen, A. Tursucu, 
H. Howie, L. Cottrell, GATOR, T. Swenson, 
D. Lassov. S. Johnson. D. Lambert, J. Merz. P. 
KwitkowsKi, A. Kaliale. F. Davis. 


Editor 


. — , — , „ a — ., ™_ 

VOLUME 8 NUMBER 1 S 


pring 1998 


Input/Output - RAM Storage - David Lassov, 
OS64 Manual, Garbage Gobbler David Lassov 


Editor- 


RMG Project - Earl Kielglass, Robert Schimke. 
John Pegram, Gil Parrish, Hugh Scriven, 


Donating 
Members 


"X Jf a T\1_ "ft" "XT' ."a. 7 1 " 

Meet Phillip Kwitkowski 


Bob Swoger 


flow to be Chic (2068/Specy) 


Gil Pamsh 


Francme Sklar, Harry Miller, Bob Bamett, 


QXL Ghosts (QL) 


Al Feng 


Thoresen, Donnson, Joan Kealy. 


Daisy be Good - IX (2068) 


David Lassov 


s~\T TT 1 ? T 1 

QL Hacker s Journal 


iim Swenson 


Disk Drive Dress-Up 


Les Cottrell 


VOLUME 7 NUMBER 1 S 


Dring 1997 


Telcomnranication a la TS-2068 


David Lassov 


Input/ Output - Did i ou Knou : by Les 

y^~S j j 1 1 y"~\T n 1 

Cottrell, QL Show 


T~* J "a 

Editor- 


SeekQL 2.09 - Part 1 (QL) 


Al Feng 


ZX-81 Video Display System - Part 1 


Wilt Rigter 


TT* A T\ /"\ i 

IRA Pay -Out 


Don Lambert 


VOLUME 7 NUMBER 1 S 


Dring 1997 


LarKen Disk System 


Gil Parrish 


Input/Output - Did You Know? by Les 
Cottrell, QL Show 


Editor 


HJI Anoimces New FreeWare 


Tim Swenson 


Aurora - The QL Graphic Card 




IRA Pay-Out 


Don Lambert 


QL Hacker's Journal 


Tim Swenson 


LarKen Disk System 


Gil Pamsh 


Surfing the Net Willi the 2068 


David Lassov 


HJI Anonnces New FieeWare 


Tim Swenson 


Parallel I/O Modification 


Al Feng 


Aurora - The QL Grapluc Card 




QLUTter BAS 


AI Feng 


QL Hacker s Journal 


Tmi Swenson 


Daisy Be Good X 


David Lassov 


Suiting the Net With the 2068 


David Lassov 


ZX-81 Video Display H 


Wilt Regter 


Parallel I/O Modification 


Al Feng 


TS-2068 Modem Compatible Serial I/F 


Les Cottrell 


QLUTter_BAS 


Al Feng 

stc L 


SeekQL 2.09 Part 2 


Al Feng 


Daisy Be Good X 


David Lassov 


VOLUME 7 NUMBER 2 Summer 1997 


ZX-81 Video Display U 


Wilt Regter 


Input/Output - WJDJUP CAD #3, 24-pin 
Printer Driver- - Al Feng, TS-1 500 - Gil 
Parrish, Battery Backup for the Z88 - Don 
Lambert. 


Editor 


TS-2068 Modem Compatible Serial I/F 


Les Cottrell 


SeekQL 2.09 Part 2 


Al Feng 


VOLUME 7 NUMBER 2 Summer 1997 


Input/Output - WJJDJUP CAD #3, 24-pin 
Printer Driver - Al Feng, TS-1 500 - Gil 
Parrish, Battery Backup for the Z88 -- Don 
Lambert. 


Editor 


QHJ -Off The Net 


Tim Swenson 




More Net Surfn - 2068 


Davisd Lassov 




msomnia Over the Z88 


Don Lambert 




Civilization ZX-81 Game 


ZX-Team Magazine 


QHJ- Off The Net 


Tim Swenson 


Daisv Be Good XI 


David Lassov 


More Net Surfn- 2068 


Davisd Lassov 


Running Hie QPC 


Robert Hartung 


Insomnia Over the Z88 


Don Lambert 


Hack the ZX Spectrum 


Les Cottrell 


Civilization ZX-81 Game 


ZX-Team Magazine 


VOLUME 7 NUMBER 3 


-al! 1997 


Daisv Be Good XI 


David Lassov 


Input/Output - Qpc, Ramtop Ts-2068 - Bob 
Swoger, Larken Graphic Adventure - Les 
CottrelL DownLOAD from SOL BBS - Bob 
Swoger 


Editor- 


Running The QPC 


Robert Hartung 


Hack the ZX Spectrum 


Les Cottrell 


VOLUME 7 NUMBER 3 FALL 1997 


Input/Output - Qpc, Ramtop Ts-2068 - Bob 
Swoger, Larken Graphic Adventure - Les 
CottrelL DownLOAD from SOL BBS - Bob 
Swoger 


Editor 


Z88 Revisited 


Don Lambert 




D' You Know? Internet 


Al Feng 




More On QPC 


Robert Hartung 




QPC - Hie Missing Link 


AlFeng 



m Ura AHvaI 





T f»<; CnttrfM 


Pfcfram frpralfl Ansrvn Coast Sinclair 




Sequential Paragraph 


David Lassov 


Show' - Tim Swenson, David Lassov, 




David T ,assov 


GOODBYE Sinclair - Frank Davis 


FOP OVER 


Al Feng 


I eleuom ivienii 


lAiVlu Xjtib&Uv 


LarKen/PASCAL 


David Solly 


ZJiisXA on me iNei 




LarKen/HiSoft 


David Solly 


VOLUME 7 NUMBER 4 ft 


inter 1997 


Speed Comparison 


David Solly 


Input/Output - RMG Project SmartWatch - 
David Lassov, E-Mail from Frank Davis, 
Recent QL FreeWare - Tim Swenson 


Editor 


V^JU XiawACl b JUlliiia.1 — 




VOMUME9 NUMBER 1 S 


pring 1999 


More On QPC 


Robert Hartung 


Input/Output - QL-East Coast, NESQLUG - 
EdKingsley, Jose Moreno, David Solly, Peter 
Liebert-Adelt, Clive Reveals ZX-2000 - Jack 
Boatwright Jeff Burrell, Don Oviatt Earl 
Kielglass, Bill Mckelvey, Bill Marriott, Frank 
Davis, Memotech - Peter. Luke Perrv. Conrad 
Perfett. Keith Watson. Mark McCann. SOLD - 
Frank Davis, Timex - Sallv Jagello. Bob 
Hartung - QL News, Fred Henn, Home 
Electronics Service - John Rish. 


Editor 


QLATter 


Al Feng 


SexfortheZX-81 


Wilt Rieter 

.— 


VAL Function 


David Lassov 


Flow to Hack on the Spectrum 


Les Cottrell 


Lunch Hour Activity 


Les Cottrell 


VOLUME 8 NUMBER 1 S 


pring 1998 


Input/Output - RAM Storage - David Lassov, 
OS64 Manual, Garbage Gobbler - David 
Lassov, Al Feng. Jack Boatwright, Fred Henn, 
Dave Bennett, Rod Gowen, J Shepard, 
GATOR, Bill Cable, George Chambers, Dave 
Lebowitz, Doug Gellispie, KenHarbit. Andrew 
Dansby, Peter Liebert 


Editor 


TS-2068 Talks to a PC bv Modem 


Abed Kahale 


QL Flacker' s Journal #30 


Timothy Swenson 


CHR$ Emulation - HiSoft Pascal 


David Solly 


How to Hack on the Spectrum 


Les Cottrell 


VOLUME 9 NUMBER 2 S 


sring 1999 


RMG Project - Earl Kielglass, Robert Scbimke, 
John Pegram, Gil Par risk Hugli Scriven. 
Francme Sklar, Harry Miller ; Robert Batnett, 
Thoresen, Dorinson, Joan Kealy. 


Donating 
Members 


Input/Output - David Solly (Larry Kenny), 
Glen Goodwin, Jack Boatwright Boatwright 
(Sir Clive Sinclair), Fred Henn (CTM), Don 
Oviatt Rod Gowen. 


Editor- 


QL Hacker s Journal - If 


i im swenson 


QL Today Notes 


Robert Hartung 


VOLUME 8 NUMBER 2 SU 


VIMER 1998 


Font Loader - HiSoft Pascal 


David Solly 


mput/Output -- RMG, Jack Boatwright Joan 
Kealy, Jochen Merz, Alvin Albrecht Andrew 
Dansby, Rod Gowen, Vacuum Tubes, Russ 
Peny, Jay Shepard, GATOR, Termax, Bill 
McKelvey, George Chambers, Frank Davis, 
Tim Swenson, Al Feng, David Lassov, Rod 
Gowen 


Editor 


West Coast Sinclair Show- 


Tim Swensen 


Jet Printer Ink 


Editor 


TS-2068 Internal ROM By-Pass 


William Pedersen 


How to Hack on the Spectrum VI 


Les Cottrell 


VOLUME 9 NUMBER 3 


Fall 1999 


Input/Output — Joan Kealy, Dane Stegman, 


Editor 


Timex- Sinclair inventory 


JaOK oOalvVIlgill 


Stephen Waldman, Richard Burt, William 


QLay .85 


j\i reng 


McBrme - TS-2068 Users 2068@unixville 
.com, Joe Rampolla, 


QrC Update 


rvODci L i iiii tiing 


QL Hacker s Journal 


Tim Swensen 


Review 


vjii r arnsn 


TS-2068 ROM ByPass 


William Pedersen 


burl n trie Net 


iyaVIU L/dSSOY 


Function for UDGs HiSoft 


David Solly 


How to Hack the ZX Spectrum -3 


ijes coureii 


How to Hack on the Spectrum VI 


Les Cottrell 


MaxCom 


David Lassov 


VOLUME 9 NUMBER 4 W 


inter 1999 


RMG List 


Rod Gowen 




Editor 


Internet Glossary 


Editor 


Input/Output - Joe Rampolla, Antonio Castro, 


ZQA! Index 1997-1998 




Jack Boatwright Boatwright, Jim Mack, 
William Girnius, Larry Kenny, Rod Gowen, Al 


VOLUME 8 NUMBER 3 FALL 1998 


Feng, Mike Kondrac, Sinclair Zl Radio, Visit 


Input'TOutput - QPC - Hartung, LarKen Boards 
- GATOR, Rod Gowen, David Lassov, Jay 
Shepard, Louis Florit Josh Payne, Jack 
Boatwright HP 500C Printer fire, Puzzle - Gil 
Parrish. 


Editor 


to Larry Kenny's Page, Hie Train, Douglas 
Dunbar, Dean Mikolajczyk, Alvin Albrecht, J. 
Shepard, Joan Kealy, Robert Gilbert, David 
Lassov, Donald Lambert Luke Perry, Johon 
Kasza. Frank Davis. Jeff Burrell, Dane 


QL Hacker's Journal 


Tim Swenson 


Stegman. 


ZipaDee BAS 


AlFeng 


Changing Scren Attrb. HiSoft 


David Solly 


QLABer Update 


Al Feng 


Z80 Workshop 


E. A. Parr 


QLATer 


Al Feng 


VOLUME 10 NUMBER 1 S 


aring 2000 


How to Hack on the ZX Spectrum - 4 


Les Cottrell 


f Input/Output --Paul Anderson. Jack 


Editor 


RMG Inventory 


Jack Boatwright 


Boatwright. Dane Stegman, Joan Kealv, Andy 


VOMUME8 NUMBER 4 \N 


inter 1998 


Barber, Bill Matins, Don Lambert, David 
Lassov, Fred Henn, Jeff Burrell, Joe Rampolla, 
Earl Kielglass, Harry Miller , Luke Perry-, John 
Ohger, 


Input/Output - Puzzle solved - Peter Liebert- 
Adelt, GATOR, Les Cottrell, Jack Boatwright, 
David Solly, Inventory List - Jay Shepard, 
Louis Florit Frank Davis, Sinclair Show, John 


Editor 


Fun With Hardware I 


Jeff Burr ell 



QL Hacker's Journal 


Tim Swenson 


Creating TS-2068 Fonts 


I 


Diskette Menu Program 


David Solly 


Emulators 


j Warajavo 


ZX MicroDiive 


David Sollv 


Z88 Source Book 




TS-1000I/O Board 


Joe Rampola 


VOLUME 11 NUMBER 4 Winter 2001 


VOLUME 10 NUMBER 2 Summer 2000 


Input/output — Dean Mikolajczk, Peter 


Editor 


Input/Output - Joe Rampolla, Neil, John 
Pegram, Al Feng, Davis Leech, Jack 
Boatwright Jeff Burrell, Rod Go-wen, Dane 
Stegman, Robert Webster, Tom Parks, Robert 
Swoger, Hugh Scriven, Fred Herm, Bill Cable, 
Keith Watson, Don Lambert, Jay Shepard, Juan 
Caprio, CATUG Members, QL Users E-Mail 
(Quanta) 


Editor- 


Liebert, Robert Webster, David Solly, 
MSCRIPT, TS-2068 Disk Drive, David 
Hartman, Dane Stegman, Burke Mawby. 


Another Monitor Adapter 


Les Cottrell 


Making Cassette Tapes 


Don Lambert 


Z88 Source Book - 2 




VOLUME 12 NUMBER 1 S 


pring 2002 


Input/output — Luke perry 7 - Mike Ingall, Earl 


Editor 


7-Bit ASCII Filter for LarKen Disk I/O 


David Sollv 


. Kielglass, Paul Holmgren, QL Show 


How to Hack on the Spectrum 


Les Cottrell 


Z88 Source Book -3 




Memory Improves with Age 


William Pederson 


QL Hacker's Journal 


Tim Swenson 


VOLUME 10 NUMBER 3 


Fait 2000 


The TS-2068 SCLD 


Victor Acuna 


hiputfOutput - Luke perry. Rod Gowen, 
Darreli Hamilton, Frank Mills, David Lassov, 
Leon Howell, Dave Bennett, Wilf Rigter, 
David Solly 


Editor 


VOLUME 12 NUMBER2 Summer 2002 


Input/Output — Ruth Fegley, Jack Boatwright, 
Ed Kingsley, Al Feng, Bob Hartung, Don 
Lambert, Louis Fiorit Bob Swoger. Tonv 
Firshman. 


Editor 


ZX-81 Video Display System 


Wilf Rigter 


Z80 LCD 


Wilf Rigter 


QPC2 for Windows 


Robert Hartung 


VOLUME 10 NUMBER 4 Winter 2000 


Tasword to Mscript 


David Solly 


Input/output — Don LambertPeter Liebert- 
Adelt, Robert Gilbert, Jeff Burrell, Joe 
Rampolla, Al Feng, Robert Swoger, Louis 
Fiorit David Solly, Keith Watson, Jonny Red, 
Alvin Albrecht, John Donaldson, Luke Perry, 


Editor 


Sinclair ASCII to IBM 


David Solly 


Internet File Format On The QL 


Tnnothy Swenson 


Z-88 Source Book sec. 4 




VOLUME 12 NUMBER 3 AUTUMN 2002 


Input/Output — Hector Picone, Don Lambert, 
Bjorn, James Cole, Scott Rossell. Joan Kealy, 
Tonv Firshman, Ruth Feslev. David Solly. 


Editor 


QL Hacher's Journal 


Tim Swenson 


Fourth 


Glen Haydon 


TS - ZX Spectrum 


David Solly 


SupeiBASIC 


Al Boehm 


EZ80 Micro Computer 


Wilf Rigter 


LarKen Disk Dri ve Manual 


Larry Kenny 


Z88 


Dave Bennett 


VOLUME 12 NUMBER 4 WINTER 2003 


VOLUME 11 NUMBER 1 S 


oring 2001 


Input/Output — Jack Boatwright Loic 
Daneels, David Solly, Luke Perry, Louis Fiorit, 
WTlliam McBrine, Les Cottrell, Bob Hartung, 
Jim Ditton, Keith Watson, Don Lambert Bob 
Swoger, Galium Davidson, Edwin Krampitz, 
Jonny Red, 


Editor 


Input/Output — Paul Anderson, John Gaylor, 
Stephen Beals, Peter Liebert William 
McBrine, Luke Perry, Louis Florif, Johnny 
Red, J.. Shepard, Tim Swenson, John 
Donaldson, Robert Swoger, Dane Stegman, 
David Solly, Joan Kealy JLO PD 


Editor 


TS-2068 Cassette Meter 


Don Lambert 


Setting Caps Lock 


David Solly- 


Z-88 Source Book Conclusion 




Graphics HiSoft 


David Solly 


12 th Anniversary NUMBER 4 


Spring 2003 


Flasht Listings 


David Solly 


ZQA! Signing Off 


Robert Swoger 
Abed Kaliale 


VOLUME 11 NUMBER 2 Summer 2001 


Input/Output — David Solly, Tim Swenson, J, 
Shepard, Don Lambert, Dean Mikolajczk, Jack 
Boatwright, Louis Fiorit, Peter Liebert, Paul 
Harris, Luke Perry. JLO PD. 


Editor 


1991 ZQA! 


Robert Swoger 




From the Chairman's Desk 


Donald Lambert 




Input/Output — Al Boehm, Les Cottrell, Keith 
Watson, Bob Swoger, John Simpson, Peter- 
Liebert-Adelt Glen Goodwin, Mark Anderson, 
Andre Baune. David Solly. Joan Kealv. Callum 
Davidson, Tony Fh shman, Josef R ampolla. 


Editor 


MSCRIPT Command Sitmmary 


David Solly- 


The Rings of Saturn 


David Solly 


Our Past is Dying 


David Solly 


LarKen Tape Backup. 


George Chambers 


Can NASQLUG Take Up The Slack 


Al Boehm 


VOLUME 11 NUMBER 3 


r all 2001 


NESQLUG 


Al Boehm 


Input/Output— Will Knight, Joan Kealy, Tim 
Swenson, John Donaldson, Leon Howell, Don 
Lambert, J Shepard, Jose Moreno, Paul Harris, 
Peter Liebert, Jeff Burrell, Dave Bennett, 
Richard Tryon, Uwe Schonewolf, ZX-96, 
Union City' Man. 


Editor 


Timex Emulation 


Callum Davidson 




C Programming 


Alvin Albrecht 




A Fast Pattern Flood Fill 


Alvin Albrecht 




Members Addresses 






ZQA! Index 






Back copies mailed for $250 each: - 

A. KAHALE 
432 WEST OAKS TRL 
WOODSTOCK GA 30188-7358 


Structured SuperBasic 




Trials and Tribulations 


Don Lambert 


True Type Fonts 


David Solly 


Spectrum Fonts 


Darko Stanicic