Skip to main content

Full text of "Sinc Link"

See other formats





NOV  -  DEC  '9 1  VOL.  9  NO.6 




Club  Stuff 





Bob's  Notebook  (2068) 



Printer  I/f's  &  Driver  Software   2  (2068) 



QLips   -  More  on  the  GOLD  (QL) 



ZX  Resources  -  Transferring  Files 


13,  14 

Superbasic  Tutorial  Part  3  &  4   ( QL ) 



One  Sided  Disks  Do  Not  Exist  Part  2 


16   -  18 

Reader  Writes  (2068) 



GOLD  CARD  Update  &  Update  Update  (QL) 



DISCAN   -   Larken  Utility  (2068) 



Montreal  Renegade   -  General  Interest 



More  QLips   (QL)   &  Error  Correction  (2068) 



Code   Transfer    ( ZX8 1 /TS 1000 ) 



Font  Demo  (2068) 






QL  Quicky,   Ad  &  Funnies 



Tape  &  Disk  Utilities  (2068) 



Holiday  Greetings 


NOV  -  DEC  *9 1  VOL.  9  NO.6 

AS  PART  OF  THE  $20.00  ANNUAL 
FOR  $12.00. 




THE     CLUB     MEETS     ON     THE  FIRST 
INSTITUTE,    730  EGLINTON  AVE.    W.  f 
TORONTO.    START  TIME:    7:00  PM. 


Attention:  SINC-LINK  EDITOR 
CLUB,  14         RICHOME  COURT, 




(  Out-of-town  members  ) 

(Area  Code  416) 
RENE  BRUNEAU   (  531-9749  ) 
BILL  LAWSON   (  444-8772  ) 
GEORGE  CHAMBERS   (  751-7559  ) 
LOUIS  LAFERRIERE   (  820-3725  ) 
HUGH  HOWIE   (  634-4929  ) 
JEFF  TAYLOR   (   244-8583  ) 
(  416-751-7559  ) 





I've  been  disturbed  by  what  I've  read  in  the  editorials  of 
some  of  the  out-of-town  newsletters.  Seems  some  people  have  been 
setting  out  a  figure  of  what  they  feel  to  be  the  minimum 
percentage  of  Timex-Sinclair  content  to  still  qualify  as  a  TS 
newsletter,  others  have  been  publishing  TS  newsletters  with  no 
TS  content,  some  claim  that  there  simply  isn't  any  new  software 
or  hardware  to  report  about  and  still  others  are  actually 
bad-mouth img  particular  publications. 


The  Timex-Sinclair  world  is  simply  not  large  enough  to  allow 
such  squabbling  to  continue.  There  are  few  enough  publications 
and  newsletters  available  now  and  if  these  editors  continue  in 
this  fashion  there  will  a  lot  fewer  very  quickly.  If  you  don't 
like  what  you  read  or  see  in  a  newsletter,  write  a  letter  to  the 
editor  of  that  newsletter  or  cancel  your  subscription.  DON'T  use 
your  newsletter  as  a  weapon  against  the  few  remaining  TS 
publications.  The  last  thing  we  need  is  bad  blood  between 
groups . 

The  reason  clubs,  groups  and  newsletters  exist  is  to  exchange 
ideas  and  information.  Have  we  forgotten  that?  I  hope  not.  Here 
in  the  Toronto  group,  we  are  lucky  to  blessed  with  some 
excellent  programmers,  prolific  writers,  active  out-of-town 
members  and  a  core  of  people  who  try  to  make  a  difference,  who 
try  to  help.  If  any  of  these  qualities  is  missing  from  your  club 
maybe  you  should  take  a  look  at  what  you  need  to  improve  things. 
Criticism  isn't  one  of  them. 

The  TS  world  is  shrinking,   let's  not  hurry  the  process. 

Club  Executive 

By  the  time  you  read  this,  a  new  club  executive  will  have  been 
formed.  Most  of  the  faces  are  the  same  except  that  we  have  a  new 
activities  director  in  Lou  Laferriere.  He'll  be  bugging  everyone 
for  ideas  and  requests  to  demonstrate  at  the  club  meetings.  The 
tape  librarians'  names  have  been  removed  from  the  newsletter 
blurb  because  of  lack  of  requests.  Don't  forget  that  we  have 
extensive  ZX81/TS1000  and  TS2068  tape  and  paper  libraries  as 
well  as  our  disk  library.  Just  ask. 

That's  all  for  now... 





Uhen    z   tell   someone    that    I  have   a    computer,    often  the 
reaction    is   a   narrowing   of    the   eyes,    a    look,   of  puzzlement 
crossing    the    face   and    the    inevitable   question,    "Just  what   do  you 
use    it    for?"   or    "Uhat   do   you   do  ujith    it-?"-    Often    I  say,    "Oh,  I 
Just  mess   about  with   it."  But   sometimes    the   question  seems  to 
call    for   a  more   serious    response   and,    not  wanting    to    bore  the 
questioner,    I   count   off   six  categories: 

1)  Programming    (the   hobby   part) ; 

2)  Uord   Processing    (the    typewriter  part); 

3)  Data   Processing    (the    filing  part); 
4.)  Spreadsheets    (the   accounting  part)  ; 

5)  Graphics    (the  picture  part); 

6)  Entertainment  and  Education    (games   and   such)  . 
If   pressed,    I  am  ready    to  expand  a  bit: 


This    is  my   key  activity  with    the  TS2068  and   involves  mostly 
BR5IC  programming  with   some    compiling   using  Timachine   and  a 
modicum  of  machine    language  work,    nil    this    is    the    fun   part,  the 
learning  experience,    for  me.    I  probably  would   buy  another 
computer   if   I   thought   I  could   have   as  much  enjoyment  writing 
programs   and  generally   controlling   the   system.   Usually   the  first 
thing    X  do  when    I  get   hold   of   a   BASIC  program  written    by  someone 
else    is   change   it.   Not    because   it   is  wrong,    but    because   I  like 
to  make   it   suit  my  needs  better. 

Included   in    this   category,   would   be   all    those   "utilities"  for 
the   2068  such   as    copy   programs,    repair   and    recover    files  for 
disks   as  well   as   disk   doctor    collections,    niso  machine  code 
disassemblers   and  assemblers   and    the   recording   of    file  names  and 
locations    in   an   index  file. 

I  enjoy   passing   on    the    fruits   of    these   endeavours    to  others 
which   is  what    I  have   been  doing    for   several   years    in  writing 
this   column.    I  also    like   exchanging   ideas  with  other  club 
members  all   over  North  America  via    letter   and  disk.   Uithout  the 
club  as   a   catalyst,    I  gravely  doubt    that   I  would  have  used  the 
computer  as  much   as    I  have  done. 

But   putting    this  messing   about    to   one   side,    I  get    to    the  proper 
reason    for  having  a   computer:    using  programs  written   by  others 
including   commercial   products   and   by  myself    to  do   some   of  the 
more  serious  things: 


Much   of    this    involves  writing    these    columns    but    I  do   all  my 
letter  writing   this  way,    too.    I  have   developed  terrible 
handwriting   over    the   years    to    the   point    that    I  even   use  the 
computer    to   address   envelopes.    I  don't   use    fancy  self-adhesive 
labels.    Just   plain   paper  which    I  stick   onto    the   envelope  with  a 
glue-stick.   Sometimes    I  put    the  address    for   a    letter   at    the  tail 
end   of    the    text    file   and    issue    commands    to   print    it    in  large 
letters.   Other   times    I  use  my   address    file,    (more  on  that 
later).  The   result   of   all   this   is    that   the    recipient    can   read  my 
messages  more  easily   and  hopefully    the    large   type    for  the 
address    label  will   help    the   post   office   get    the    letter  to 
destination    faster   and  with  more  certainty. 

My    favourite  program   for  word   processing   is   Mscript   due    to  its 
greater    flexibility   over  Tasword    (for   example,    I    like    to    be  able 
to   alter   the    line    length   as    I  switch    from  Pica    to  Elite  or 
Condensed   pitch).    But    I  still   prefer  Tasword    for    lists  of 
information   because    it    is  easier   to  do  an  alphabetical  sort. 
Many    lists  arise  out   of   the  use  of   the   computer,   such  as  my  file 
of   disk  names;    but  others    in  my   collection    include   the  contents 
of   the    freezer   in   the   garage   and  of   the    larder   in    the  basement. 

Tasword   is   also   better  when   the  data   is    to   be  displayed  on 
screen  or   printer  using    the   LKDOS   command    <PRINT  USR   lee:  PRINT 
(or   LPRIMT)    "name".    Mscript    files  need   a   Line  Feed  at    the   end  of 
each    line   to  ensure    the   display  does  not    break   up  words   at  the 
end   of    lines.    R  useful   addition    to  my    collection    is   a  utility 
that  will   convert  Mscript    files   to  Tasword   and  vice  versa. 


Mostly,    I  use  Pro/Fi le    for  my  data  storage   and  handling.  For 
example,  my  address    "book"    is   used  a    lot.    it    keeps  addresses 
along  with  all   sorts   of  miscellaneous   info.   Under   an   address  for 
an    insurance   company    I   keep    the  policy   numbers,   my  OHIP  number 
under    the   OHIP  address.    I   keep  my   address    file    in  my  RAMDISK 
because    I  use    it   quite    frequently.    Most   of    the   other  files 


relate    to    the   computer   hobby,    such   as    the   Sinc-Linfc    file  used 
for   searching    for    topics    in   old  issues. 

But   other    collections   of   data   often    require   other  specialized 
programs   and    I  have   a    few  pet   ones   such   as    budget,    income  tax, 
bank,   accounts,    auto  maintenance,    short  wave    listening    logs  and 
da  te boo  k  . 

The   Larken   Random  Sequential    file  program  gets  used  only  when 
the   amount   of   data   exceeds    the    limits   of   Profile-    I  have   used  it 
for   storing  my   ROM  disassembly    con   55   tracks!},    but   searching  is 
rather    tedious   as    it   scans    tracks   one    by  one. 

Finally,    there    is   a    bank-switching    file   used    to   store  huge 
amounts   of   data   and   quickly   sort,    search   and   display  selected 
portions.   Here   is  where   I   keep  my  audio  music   collection  and, 
someday,  my   slide  collection. 


Despite    its    inherent    limitations,    Uu-Calc    is    the  winner. 
Omnicalc    is   used   sparingly   and   only  when   Uu-Calc  will   not   do  the 
job,   mostly  when    the   numbers   are    too    large,    or    formulae  must  be 
more    complex    than   Uu-Calc    can  handle. 

My  spreadsheets   include:    Gas   and  Hydro   usage  where   average  use 
per   day,    etc,    are    readily    calculated,    and   Car   Hi leage  which 
gives  miles   per  gallon   and    litres  per   100   kilometers,  etc. 
Uu-Calc  was    recently   used    to   do   some    calculations    for  conversion 
of   RRSPs    to   RRIFs    Cyes,    I  have    reached    that   age!) . 

This   application    required   several    recalculations  (reiterations) 
to   give   a    final   and    correct  spreadsheet. 

I  also   have   a   sheet    for    capital   expenses    (big    ticket    items  that 
I  no    longer   put    in  my    budget    file);    income   and   realty    tax  data 
for   years    back;    income    for    the   year    from  various  sources. 


This    includes   Pixel   Print   Plus   and   Professional    (aka  Desktop 
Publishing)    which   are  mostly   used    for    fancying   up  my    columns  for 
Sine-Link.   Fancy    labels    for  my   5.25   inch   disks   are   done  using 
the   SCREEN  saves   via  Pixel   Print  Professional.   The    latter  was 
also  used   to   create   keyboard  overlays    for  various  programs  such 
as   Hscript    and   Artist    II,    not    to  mention   Pixel   Print  Plus 
i  tse  If. 

I  have   also   used  flrt   Uorx,    Art   Studio   and   other   design  programs 
to  make   some   graphics    that   are    then   printed    in   regular,   wide  or 
giant   size  on   the  wide   printer.    I  recently   drew  some  aircraft 
used   in    the  Gulf   Uar    but    they  were   hard    to   perfect   using    the  joy 
stick.    Perhaps   a  mouse  would  have  worked  better. 

As    I  am  also   a   shortwave    listener,    I  have   a   program   to  produce 
graphs   depicting    the  maximum  usable    frequencies   on   any   given  day 
between   any    two   points   on    the   earth's   surface   under  certain 
sunspot  conditions. 


To  me,    entertainment  means    "games".    I'm  not    into   games  much  but 
I  have   a    collection   of   a    few    favourites,    some   via   Spectrum  and 
other   on    the   2068.   The    card   games   are   not    bad,    cribbage  being 
among    the    better   ones.    Scrabble    is   very   good    but    the  dictionary 
is    I imi  ted . 

Some  programs  that  fall  in  the  general  classification  of  science 
and  education  are:  calendar  making,  calculating  days  between  two 
dates,    financial  packages   and   statistical  analysis. 

Many   of    the  programs  mentioned   above   are   creations   of  club 
members  who   have   put    in   hundreds   of   hours    in  what    is    truly  a 
labour   of    love  and  who  have  passed    the   results    to  our  librarian 
for   distribution   to  others   at   no   charge    (ie,    in   the  public 
domain).    I  doubt    that    there    is   a    club  anywhere    for   any  computer 
that  has   as  many  people  making   these    types   of   contributions.  To 
all,    let's   give   a  hearty   thank  you  and  heartfelt  wishes    for  more 

0  f    the   same . 

1  am  sure  other   readers  have   their  own    lists  of  what    they   do  on 
their   computers    (things    like  midi   or   sound   creation).    I  have  yet 
to  make  much   use   of  LKDOS  windows   but   I  do   have   a   graph  program 
that  makes   use  of   the   LKDOS  shading  patterns.   There    is    really  no 
limit   to  what  one   can   do  with   this  machine,   given   its  memory 
size.    Perhaps    this   summary  will   have   egged   others    to   pass  on 
different  uses   they  have   discovered   and  invented. 

Bob  Mitchell   20  Ui  Id   Briarway   Ui  I  lowda  le   Ont   M2J  2L2    SEP  11991 


A  Primer  by  George  Chambers  -  Part  2  -   T ASM AN 

In  the  first  article  of  this  series  we  went  over  the  general 
features  of  the  several  printer  driver  softwares.    In  this  article  I  shall 
cover  the  features  of  the  Tasman  drivers  in  greater  detail,    including  a 
number  of  short  model  programs  to  demonstrate  the  type  of  Basic 
programm ing  which  can  manage  the  software. 

Note  that   in  these  articles  I  tend  to  use  the  words  driver,  software, 
and  code  i nterchangeab I y.    In  every  case  these  terms  refer  to  the  software 
code  that   is  used  to  translate  the  computer  i n format  ion  being  output  to 
the  printer,    into  signals  that  the  printer  responds  to  correct  I y. 

There  are  two  vintages  of  the  Tasman  printer  interface  hardware.  The 
initial    Tasman  hardware  had  an   incompatibility  with  some  add-on  units.  A 
second  vintage,    ident  if  ied  as  Tasman  B,   was  introduced  to  cope  with  this 
incompatibility.    It   is  not  clear  to  me  whether  the  new  version  was 
designed  to  overcome  problems  with  Spectrum  add-ons,    TS206S  add-ons,  or 
possibly  both. 

In  any  event,   the  initial   Tasman  hardware   is  i ncompat i b I e  with  the 
Larken  disk  system.   When   installed,   although  the  printer  operation  is 
sat  is  factory,    the  Tasman  interface  prevents  the  Larken  system  from 
operat  ing.   Larken  disk  CRC  errors  result. 

I  think  that  in  order  to  make  this  article  complete  in  itself  I  shall 
have  to  repeat  some  of  the  material  from  the  last  article.  Please  excuse 

Before  we  get   into  a  detailed  descript ion  of  various  Tasman  printer 
drivers,    I  should  briefly  identify  the  appl icat ion  of  each.    The  main 
driver  is  "tasincode".    It  contains  a  great  number  of  features,   and  would 
be  the  one  normal  I y  used.   However  since  it  occupies  upper  memory,   and  may 
conflict  with  programs  which  also  occupy  this  memory  space,    Tasman  have 
provided  several  shorter  versions  which  are  placed  in  the  20U0  printer 
buffer  area.  Each  short  version  has  a  cert ian  capabil ity;   which  version 
you  use  depends  on  the  type  of  printing  you  want  to  do. 

For  example: 

Use  "tasmini"  if  you  wish  to  use  the  screen  (text)  COPY  feature. 
Use  "tasbuff"  if  you  want  to  make  use  of  the  LUST  and  LPRINT 

Use  "tasepson"  if  you  wish  to  make  a  high  resolution  copy,  i.e.  copy 
screen  graphics.  7 

Then  there  are  several  other  versions  similar  to  "tasepson",  which 
provide  high  resolution  screen  copies  for  various  makes  of  printers,  which 
we  shall  not  cover  in  this  series. 

TASMAN  Printer  Driver  Softwares 
"tas  i ncode"  "   " 

The  Tasman  software,   called  "tasincode",   comes  with  a  Basic  program 
which  allows  the  user  to  customize  the  software  to  the  needs  of  the 
particular  printer  it  is  to  be  used  with.  Once  the  software  has  been 

conditioned",    it  can  be  tested,   and  then  re-saved  to  tape.    The  Basic 
could  also  be  customised  to  save  to  disk,    if  desired. 


The  "tas incode"  software  loads  at  address  64716,    and   is  652  bytes  in 
length.   When  loaded   it   is   in  it ial  ized  by  RANDOMIZE  USR  64719.    This  USR 
call,   among  other  things,   POKEs  values  238  and  253  into  the  "pointer" 

2e?03l°*  respectively.    This  points  the  2068  to  the  driver  code 
start  address  of  65006. 

i„J+1e,  "tasinc°de".  a"  interesting  feature,    in  that  it  allows  one  to 

mstal  several  printer  control  functions;  designating  various  2068 
fun^';03  symbol.s  t0   '"Plement  them.   Whenever  one  wants  to  engage  a  nr-int*r 
'unction  one  simply  enters  the  graphic  symbol  for  that  function,    into  'the 

loots  u'onl  trAnited-,WhenJhe  driver  *°ftxare  encounters  this  symbol  it 

*  ,1     taTb'e  an*  sends  out  the  printer  control  seguence  assigned  to 
the  symbol.    The  printer  control  function  comes  into  effect  immediately. 

unr*TJlZ~"taS ' ncode"  softvare  appears  to  be  imbedded  in  the  Tasword 
TarSword.eeSOr  Pr°gram  a'S0-   °"  thS  ^tures  of  this  code  be ing 'present  in 

S^'^HtS-0*??  coZsTthicT^Z  'pVo^VrlZ^  ?f'Vn'e°V° 


+  h»  ril"1"*  L'S  °  Basic  Program  which  will  demonstrate  the  operation  of 
the  Tasman  "tasincode"  driver  software.  For  this  demonstration t have used 
fn,  *L'*'  1nd  P,ca  S°nts,   and  the  Underline  ON/OFF  opt  ions.    The  codes  ussrt 
for  these  four  options  seem  to  be  universal  among  printers. 

Flair*!  %lffnna,T*rS  °f  int*r°sting  things  to  observe   in  the  listing  in 
figure  I.    The  following  paragraphs  will  detail  them: 

tio'nedL 'earner™*  RAND0MlZE  USR  6«7'*  *°ts  the  2068  ••pointer-,  as 


r^'vA  Site  z/LriZT,r,z'i^:  iisrjzr^izr 

ThiV  iTlliluV tonthLnTS  '°'  30 '  *°'  et°"  there  is  a  d°«b'°  CHRSS  27. 
tnis  is  unique  to  the  Tasman  code.    The  "tasincode"  driver  „„..i~JL  ~ 


in  llnTln  10  we  are  usina  the  Instruction  "CHR$  77",  while 

name  v  tin  +»Te  w"5  V  A$C."  character  "M».  Both  have  the  same  effect 
f \  frhl,     t     the  printer  to  print  in  elite  font.     If  you  look  in  Appendix 

v-cr^^r%;o,?^o^ww  Manual  you /ee  that  <*• 


/«*«/»«.  ro  ,mp,ement  the  under, in\ ? feature  an'd'in't^    "  C""** 
remote  We  could  have  used  ChrT u  A  *h  la        in  the  second  instance,  to 

Also    you  might  note  Zat^Tne^empiZ  ' '  \lnYl?nl  'iV' 

-0"  .   we  have  used  these  as  examni**  '   '   wh.',e  Llne  70  "*es 

i:LpPiz:ssibi°- see "™  "  - '  &  -  irn*r%rzs%? that 

coJel  lleWhVgrZlfc  <»« 

nTLj^'/r  Ze'Ts'ToTnTa  ^r^W 
program  fs  LLISTed  the  printed  I  istTnaZ  in' ^  F°r  e"amP'e'   »hen  thi* 
first  guote  in  Line  51  (even  though  ?t  is  a  IZTf* ,  7 '  Qt  ™e 

ceases   immediately  after  the  f  l  Vi  *  J  J    ■     .  ■     Una!),   and  underlining 
is  a  REHmed  line).  q"°te        "ne  71  ("gain,   even  though  it 

code"  TtdiiVTosl0,btleetoLdVNT  ^  U/ST  C°mmandS  bein°  Effective  with  this 
This'.i),  copy  the  23  Unes  orCtZ\C°Py  b\d°ir>3  °  RANDOM  I ZE  USR  647/6. 
text;  graphic's  and  graphic  symbols  tilVnoSV/  "Tw  C°Py  'S  °°"f'°°«  to 
within  a  character  area  !il  11*  J     J,      "0t  °e  Prlnted.   If  the  pixels 

will  he  printed Wo, ■  tZt  lhaVacteTa'rlaT^  °  ***  Chara^  *  space 

"tasbuff"  Driver 

■•VallVcVd'e^  ZTvf/LTuVnerr^r  LPR'NT  fUn°*!°™  « 

the  20*0  printer  buffer  area  lanv  Jf  * /J"""  f°r  256  ^fes  °f  '» 

have  been  dropped     "tasbuff*  f"!  ot.her  featurss  of  "tasincode" 

This  driver   is   initial ized  hi  +hJ  U'th  Pr°orams  such  as  Omnicalc. 

responds  to  t'ht  /rjl^^^^^f  RANDOM,X  US»  »  then 

replTed™ i^Vhe^dt  £  iZ^rilan  To'iVarV^T  **»<   »  ~  " 

"tasmini"  Driver 

^o";0/^^;:--/^-c^;/«^  to  occupy  the  printer  buffer  area  of 

above  6*715.   This  driver  is  used  at  a  substVtute^for  ¥1?°'™  USed  memory 
command.  Simply  replace  all  rnpv  AJl  s"°s*'tute  for  the  normal  COPY 

command  R^o/uE  ^ cZTSnV, e  '"on I '  y^e'xt ,  VoV g rabies! 

ZJ^VZKlJFojrZ  1Z^'gf^l!^-^S^t»r  code  at  location 
copy,    /t  is  set  to  zero  on <  the  oriail.t  A     V  Lne  dUr,ng  a  text  screen 
into  it;  a  1U,   for  example  will  r  JJniV  ■    PY  "Ut  yOU  can  P0KE  a  """ber 
on  many  printers.     eX°mp,e  wl"  result  ">  "  screen  copy  in  enlarged  text 

retlTnVnd'TiVe^Vd.'ff0^  the  codes  for  printer  carriage 

into  23301  to  prevent  doiTle  nlVeZs^ToWxaL'",?'**  '°U  ^  ° 

spaTeTZ  il7r  ™te?3o°u2t  aT^te*  •     ■  " >  ^ber  of 

i.e.  a  left  margin  sett i no     The  A9;  '""'?g  0f  each  °f  screen  copy, 

WE  a  differenV:utlll'?ntoTTt  To' VhTn'ge'Zi  ^  ™ 



"tasepson"  Driver 

A  driver  with  which  you  can  make  screen  copies   including  graphics.  It 
/s  located  in  the  printer  buffer  area.  A  high  resolution  screen  copy  can 
be  made  by  executing  RANDOM  I ZE  USR  23296. 

The  documentat ion  states  that  you  can  get  a  small  size  screen  copy  by 
POKE  23551,1;   and  a  large  size  (about  double-size)  copy  by  POKE  23551,0. 
I  have  only  been  able  to  produce  the  double-size  with  a  Fastext  80 
printer,   on  my  printer  POKEing  the  small-size  mode  produces  a  page  full  of 

s\    S . 

The  image  can  be  positioned  on  the  page  by  a  POKE  23530, X,  where  X  equals 
the  number  of  spaces  on  the  left  margin.  4 

/    InJhe.examPle  Basic  program  (Listing  2)  you  may  notice  a  Line   140.  I 
placed  this  line  to  change  the  line  spacing   in  the  graphics  mode,  because 
otherwise  my  printer  left  a  narrow  unprinted  space  between  each  pass  of 
rZ;„  +  arSLa9Z'      JS  reduced  the  <™ount  of  linefeed  on  each  pass  of  the 
Pinter  head       You  may  not  need  this  sort  of  correction  in  your  program, 
but   it  could  be  useful   to  realize  this  change   is  possible. 

/  have  described  four  of  the  most  useful   Tasman  drivers  that  can  be 
nil-  w,lhJhe  Tasm™  interface.    There  are  several  others  which  have  been 
designed  for  specific  printers,   such  as  the  Star  DMP  515/510,   the  Tandy 

^Vninnuit  iiTo^Tlr,,'^  i%,stKr      Mr  Seik°s»a 

„J*heSe        °fl  interestin9  aspect  to  this  however.    The  documentation  that 

was  supplied  for  the  HacKsel  printer  drivers  contained  a  fist  of  POKES 

i        '^V!  applied  to  the  Tasman  drivers  to  make  them  effective  on  the 

Hackse,    POKES^^Vh^V  th*  AJr-°o)  pHnter  <^dware)  interfaces.  The 
follows.  Tasman  drivers  described  in  this  article  are  as 

"tas incode" 
POKE  64947,  127 
"  64952, 96 
"  64958, 127 
"  64963,219 
"     64964, 127 

23326,  127 
23331 ,  98 
23337, 127 
23343, 127 

"t asm  in i" 
23330,  127 
23335,  98 
23341 ,  127 
23353,  127 

23507,  127 
23509,  103 
23514,  127 
23518,  127 

Errors  in  Part  1  of  "Printer  Interfaces  and  Driver  Software" 

^     Steven  Gunhouse  has  recognised  some  errors  in  the  article  in  the  last 

issue  of  the  newsletter.      You  will  find  a  lot  more   information  about 

drivers  etc.,    in  addition  to  the  corrections.  Do  review  his  letter  in 
this  issue. 

The  errors  in  my  article  are: 

Page   10  -  2nd  para.   -  LPRINT  USR  1,   should  be  LPRINT  CHR$  1 
Page   10  -   1st  Para.   -  POKE  643256, w idth-1 , 

should  read  POKE  64259 ,  w idth-1 
Page   10  -   1st  para.    -  POKE  26703,0  :  POKE  26704,251, 

should  read  POKE  26703,5  :  POKE  26704,251. 

fjaure  1 

1  REM  A  test  program  for  the 
Fastext  80  printer.       Using  the 
Tasman  printer   iff  and "t as  i  ncode 
"  software. 

2  GO  TO  10 

3  CLEAR  64715 

5  LOAD  "tas  incode"CODE 

6  RANDOMIZE  USR  64719 

10  LPRINT  CHRS  27;CHR$  27;CHR$ 
77:   LPRINT  "This   is  Elite" 
20  REM     LPRINT  CHR$  27;CHR$  10 

30  LPRINT  CHR$  27;CHR$  27;"P"; 
"This   is  Pica" 

35  REM     LPRINT  CHR$  27 ;CHR$  10 

40  LPRINT  CHR$  27;CHR$  27;"M"; 
"Th is   is  Elite" 

45  REM     LPRINT  CHR$  27 ;CHR$  10 

50  LPRINT  CHRS  27 ;CHR$  27;"-"; 
"1";"This   is  Elite  under  I  ined" 

51  REM     LPRINT  "mmThis    is  Elite 
under  I ined" 

60  LPRINT  CHRS  27 ;CHR$  27;"P"; 
"This  is  Pica  underlined" 

70  LPRINT  CHRS  27 ; CHRS  27; "-0" 

71  REM     LPRINT  »m» 

75  REM     LPRINT  CHRS  27;  CHRS  10 

8999  STOP 

9000  SAVE  "tas i ncode"  LINE  3:  SA 
VE  "tas  incode"CODE  64716,652 

Figure  2 
10  GO  TO  130 

20  REM  A  Demonst rat  i on  of  the 
TASMAN  printer  driver  "taspson" 
which  produces  a  printout  on  a 
large  printer  of  SCREENS  image. 

21  REM 

30  REM       You  can  POKE  a  number 
into  23530  to  shift  the  margin 
to  the   left.   One  more  than  the 

number  of  spaces  to  be  shifted. 

31  REM 

40  REM  Try  POKE  23551,1   to  get 

a  small  size  screen  copy. 
Works  on  some  printers 

41  REM 

100  LOAD  "tasepson"CODE 

140  LPRINT  CHRS  27; CHRS  27 ; CHRS 

65; CHRS  27; CHRS  8 

170  CLS  :   FOR  n=1    TO  55:  PRINT 
"mmmumJmm  :  NEXT  n 

175  PRINT   "»  You  should  t 

urn  off  your  printer  momen 

tari/y,  to  empty  it's 


180  PRINT  '"Printer  Ready? ,Pr 
ess  a  key...":  PAUSE  0 

190  RANDOMIZE  USR  23296 

200  STOP 
9000  SAVE  "tasepson"  LINE  100 
9010  SAVE  "tasepson"CODE  23296,2 

4.4 2  Software  acceptability 

For  the  software  to  be  acceptable,  SOF  must  satisfy*: 
(1)  Vm'  ViJ  W  Vc'  [IN(m'f  £')  a  SOF(i',  gl)  a  OUlV,  q ')  a  NAlV,  c')  =*  REQ(m',  g ')] . 

Note,  that  if  one  or  more  of  the  predicates  IN(mr,/').  OUTCo'.c*),  or  NATCm'.c1)  are  false,  then  any  software 
behaviour  will  be  considered  acceptable.  For  example,  if  a  given  value  of  rrf  is  not  in  the  domain  of  IN,  the  behaviour 
of  acceptable  software  in  that  case  is  not  constrained  by  (1). 

If  we  assume  that  relations  REQ,  IN,  OUT,  and  SOF  are  functions,  we  can  use  functional  notation  to  rewrite  (2) 
as  follows: 

(la)  Vw*  [mf  €  domain(NAT)  =*  (REQ(m')  =  OUT(SOF(IN(m'))))  ] 



More    on    the  GOLD 


By  Hugh  H.  Ko 

In  the  September  issue  of  Sine-Link  I  had 
a  preliminary  review  of  the  GOLD  Card,  in 
which  I  expressed  considerable  concern, 
especially  about  how  it  treated  my 
text87/two-column  print-out,  where  the 
two  columns  were  mixed  up  by  the 
printer,  and  not  printed  neatly  like  this. 

Well  I  wrote  to  Miracle  Systems  and  got 
the  reply  back  just  in  time  to  get  a  short 
note  into  the  same  Newsletter.  Here  is 
the  story  and  also  some  further 

The  reply  I  got  from  Miracle  was  a 
replacement  ROM,  version  2.22,  to  replace 
the  one  supplied  which  was  a  2.15.  This 
changed,  my  printer  behaved  itself  and  I 
am  now  happy  from  that  point  of  view.  I 
had  mentioned  that  I  was  having  trouble 
with  my  1.61  Minerva  and  their  reply  was 
that  I  should  try  the  later  version  of 
Minerva.  By  this  time  I  had  taken 
Minerva  out  and  up  to  now  I  have  not 
done  anything  about  it,  but  I  do  miss 
some  of  the  'quircks'  in  Minerva;  however, 
back  to  the  GOLD. 

Last  time  I  mentioned  the  Clock,  and  here 
is  an  improvement  which  I  find  very 
useful,  A  'Clock  protect'  command  which 
separates  the  GOLD  clock  from  the  QL 
clock.  We  all  have  experience  with  the 
program  which  asks  for  a  time  before 
doing  anything,  and  if  you  ignore  the 
time  adjustment,  the  QL  clock  is  reset  to 
the  time  of  the  program,  and  it  is 
sometimes  a  nuisance  to  have  to  go 
through  the  clock  reset  to  protect  the  QL 
time.  Well  in  the  GOLD  there  is  this 
command  which  protects  the  Gold  time 
from  the  QL  time.  You  can  have  the  QL 
work  in  one  time  frame,  while  the  GOLD 
retains  its  own  time.  At  reset  the  GOLD 
time  predominates. 

I  am  sorry  to  say  that  for  those  of  you 
who  like  to  Network,  there  does  not 
appear  to  be  a  Network  facility  in  the 
GOLD,  at  least  I  have  not  been  able  to 
find  it,  so  I  will  have  another  letter  off  to 
Miracle  for  their  comments.  My  two 
systems  are  always  connected  up  for 
Network,  and  when  I  tried  it  with  the 
GOLD  there  was  no  action.  I  took  out  the 
GOLD  and  replaced  it  with  my  Cumana- 
Expanderam-TK2  setup,  and  the  Network 
was  OK,  so  the  conclusion  is  my  system  is 
OK,  but  the  GOLD  does  not  provide  this 



Another  little  thing  is  that  you  can  have 
a  'Sub -directory'  on  the  disc.  With  this 
you  can  save  a  whole  stack  of  stuff  to 
disc  and  with  a  DIR-ectory  of  contents 
only  the  title  of  the  Sub  Directory  shows. 
Say  you  call  the  sub-directory  "Letters" 
the  DIR-ectory  will  only  show  'Letters', 
and  to  read  the  contents  of  this  file  you 
would  have  to  ask  for  'DIR  xxxx  LETTERS' 
Now  I  have  not  worked  out  the  necessity 
of  this,  but  someone  must  have  thought  it 
worth  while  as  it  still  takes  up  space  on 
the  disc.  Miracle  advise  that  this  disc 
will  not  work  on  the  TrumpCard. 

When  I  was  in  Dayton  at  the  Fest,  I 
picked  up  a  3  1/2  disc  drive  as  a  spare. 
(I  got  it  at  the  start  of  the  show  before 
the  prices  went  up  later  on.)  When  I  got 
home  I  was  in  a  store  and  bought  some 
discs  just  to  keep  my  stock  up,  and  when 
I  tried  to  format  the  new  discs  on  the 
new  drive  from  Dayton,  I  got  2880/2880 
sectors!  It  was  then  I  noticed  that  I  had 
bought  'double-track'  discs  locally,  and 
that  there-fore  the  drive  I  got  in  Dayton 
was  Hi-Density!  At  the  price  I  paid  for 
this  drive  I  wish  I  had  bought  a  few 
more,  but  I  have  often  wondered  if  the 
vendor  KNEW  what  he  was  selling?  I 
should  complain.  It  gives  a  funny  feeling 
to  see  a  disc  formatted  to  2880  and  to  see 
Free_mem  of  1.844256E6.  (The  same  drive 
on  Trump  only  gives  1440  sectors)  The 
GOLD  will  handle  the  new  3.2M  discs,  and 
automatically  detects  what  disc  size  is  in 

From  the  GOLD  it  is  possible  to  restore 
the  Capacity  to  your  desire  for  those 
programs  that  do  not  like  large  chunks  of 
memory  floating  around,  but  I  have 
observed  that  at  128k  it  is  not  possible  to 
activate  TK2. 

I  do  not  have  Hard  disk,  but  if  you  do, 
all  the  WIN_REXT  extensions  are  available. 
With  all  I  have  I  don't  think  I  need  more, 
Or  do  I? 

Final  opinion  is  that  the  GOLD  CARD  is 
what  makes  the  QL  well-nigh  perfect. 
Who  needs  more?  Speed  and  Capacity  and 

Tha-tha-thats  all  folks.  § 




Rene  Bruneau 

Transfering  Files  Between  Computers 

Picture  this....  You  have  just  been 
ejected  from  your  publisher's  office 
with  these  angry  words  shouted  in 
your  ear... "Last  time  you  brought  me 
a  manuscript  typed  up  on  toilet 
paper ,  now  you  say  you've  got  one  on 
disk  but  my  Mac  can't  read  it  !?... 

Don't  dispair,  That  priceless 
manuscript  that  took  you  three  years 
to  type  into  your  2068  or  TS1000  can 
easily  be  transferred  to  any  other 
computer  with  the  right  equipment 
and  software. 

To  transfer  files,  you  will  require 
communications  programs  and  serial 
ports  or  Modems  for  each  machine. 

Run  your  communications  software  on 
each  machine,  and  set  baud  rates, 
parity  and  stop  bits  to  match. 
Connect  the  two  systems  via  the 
software  (read  the  manuals  !),  and 
confirm  that  data  is  transmitting 
between  the  two  systems...  simply 
enter  a  string  of  key  strokes  and 
see  if  it  appears  on  the  other 
monitor.  If  the  software  allows  it, 
set  up  one  of  the  systems  in  Host 
mode  (ie:  your  very  own  BBS)  and 
handle  the  file  transfers  from  the 
other  system.  For  example,  with  a 
2068  using  MAXCOM  in  BBS  mode,  you 
would  "call"  from  the  target  system 
and  "download"  your  required  files 
from  the  2068. 

Source  Computer 
2068  or  TS1000 

2050  lodei 

Z-SIO  (2068) 
Meiotech  RS-232 
Byte-Back  RS-232 

Target  Coaputer 
APPLE,  IBM,  etc 

requires  a  sodei 
(external  or  internal) 

serial  interface 
(usually  installed) 

Before  you  transf&r  your  document 
file  to  the  target  system,  it  is 
recommended  that  you  remove  all 
punctuation  and  embedded  codes  to 
make  the  job  of  reformating  the  file 
on  the  target  system  easier.  This  is 
standard  proceedure  for  desktop 

If  you  are  using  a  2050  modem, 
simply  connect  the  phone  cable  that 
comes  with  it  to  the  target  modem. 
To  connect  serial  ports  (the 
prefered  choice),  you  require  a 
'Null  Modem'  cable.  Shown  are  the 
connections  required  for  standard 
DB-25  and  DB-9  (IBM-AT)  serial 

If  your  software  does  not  have  this 
feature,  you  must  set  up  the  target 
system  to  "download"  your  file,  and 
while  it  waits  for  the  file,  have 
the  source  system  "upload"  the  file. 
Note  that  while  the  process  is 
fairly  straight  forward, 
complications  can  occur  if  you  are 
not  familiar  with  the  software  so 
read  the  manuals. 

Once  your  document  is  transfered, 
you  can  load  it  into  the  target  word 
processor  and  reformat  it  to  your 

this  transfer  process  can  also  be 
used  for  other  purposes.  For 
example,  a  hex  file  could  be 
transfered  from  one  system  to 
another  that  has  a  eprom  programmer. 
Thus,  the  source  code  for  an  eprom 
on  an  embedded  microprocessor  board, 
compiled  on  an  IBM  XT  clone,  could 
be  downloaded  to  a  TS1000  with  John 
Oliger's  eprom  burner...  eprom 
burners  for  the  IBM  start  at  about 
$100  US  and  go  up  from  there. 

DB-25  TO  DB-25 

DB-25  TO  DB-9 










6  - 




8  - 



— w-2 




— *-6 


SuperBASIC  Tutorial  -  Part  3  (or  maybe  4!) 

I'm  sorry  there  wasn't  an  episode  of 
this  saga  in  the  last  issue  of  SincLink. 
I  suppose  it's  my  fault  for  trying  to  get 
ahead  and  sending  in  two  episodes  at  once; 
I  won't  make  that  mistake  again!       But  at 
least  you  got  double  measure  in  the 
previous  one.       I  should  also  apologise  for 
an  error  in  part  1  -  all  references  to  line 
210  actually  should  have  referred  to  line 
220  in  the  final  version  of  the  program 
that  accompanied  the  listing.      I  must  have 
got  my  versions  mixed  up  somewhere.  Since 
I  have  received  no  complaints  about  this 
(or  any  other  comments  apart  from  Hugh's  in 
the  last  issue!)   I  suppose  that  either 
no-one  read  it  or  everyone  who  did  realised 
what  I  had  done 

Listing  3-4  Upgrade 

100  nm$  -  "Prt_dir4" 

110  REMark  hjc  1991.09.09     Ver  0.42 
165  WIDTHl»3.chars% 

168       abc%=l:  REMark  Alphabetical  flag 

770  LOCal  a$,c%,i,t%:  c%=ch%+l 

830  t%=cols%*rows% 
840  DIM  ddir$(t%,nl%) 

905  IF  abc%:   Shellsort  ddir$(T0  n%) 

1120  REMark 

1130  DEFine  PROCedure      Shellsort  (a$) 

1140  REMark  Ascending  order. 

1150  LOCal  gap%.i, j , k%, n%, sort , w$ 

1160  n%=DIMN(a$):   gap%  =  nX  DIV  2 

1170  REPeat  sort 

1180       FOR  i=lT0  n%-gap% 

1190  FOR  j=i  TO  1  STEP  -gap% 

1200  k%=j+gap% 

1210  IF  a$(j)>a$(k%) 

1220  w$=a$(j):  a$(j)=a$(k%) 

1230  a$(k%)=w$ 

1240  ELSE  EXIT  j:   END  IF 

1250      END  FOR  j:   END  FOR  i 

1260       gap%=gap%  DIV  2 

1270       IF  gap%  =  0:   EXIT  sort 

1280  END  REPeat  sort 

1290  END  DEFine  Shellsort 

At  the  end  of  part  3  I  left  you  with 
the  cryptic  comment  "Afferbeck  Lauder". 
(This  is  the  pen  name  of  the  author  of  a 
famous  book  on  the  pronounciation  of 
English  in  a  country  where  they  celebrate 
Christmas  in  mid- summer. )     The  one 
difference  between  our  listing  of  file 
names  and  the  telephone  directory  is  that 
they  were  still  in  random  order.       This  is 
readily  remedied  since  there  is  a  useful 
collection  of  ready  made  PROCs  in  a  program 
available  from  the  QL  library  which 
contains  the  PROCedure  "Shellsort"  (nothing 
to  do  with  conchology,   it  was  invented  by  a 
Mr  Shell. )      All  we  need  to  do  is  to  add 
this  to  the  end  of  our  program  and  include 
the  appropriate  call.       This  can  be 
achieved  (as  long  as  you  haven't  RENUMBERed 
anything)  by  typing  in  the  Listing  3-4 


upgrade,   saving  it  in  a  temporary  file, 
loading  Prt_dir3  and  then  MERGE ing  the 
upgrade  on  top  of  it.       This  should  produce 
Prt_dir4.       Do  NOT  try  to  run  the  upgrade 
alone,    it  is  not  a  complete  program!  (If 
you  are  lost  don't  worry,    I'll  give  the 
complete  listing  in  the  end,   and  send  it  to 
the  library. ) 

The  first  two  lines  bring  the  version 
info  up  to  date.       Line  168  introduces  a 
new  global  variable  abc%  which  is  a  flag  to 
switch  the  alphabetical  ordering  on  and 
off.       Set  it  to  zero  to  switch 
alphabetical  order  off  and  save  time;  any 
other  value  is  treated  as  "true"  in  line 
905  and    the  call  to  Shellsort  goes  ahead. 
I  put  the  option  in  since  the  ordering  will 
take  a  significant  amount  of  time, 
especially  if  you  have  a  diskful  of  files  - 
but  that  is  of  course  where  it  is  most 
useful . 

A  few  lines  in  the  PROCedure 
Make_array  had  to  be  altered  too.       If  you 
sort  the  whole  array  and  it  isn't  a  full 
rectangular  one,   the  empty  elements,  which 
we  want  at  the  bottom  of  the  right  hand 
column  get  shifted  to  the  top  of  the  left. 
To  sort  only  the  first  part  of  the  array 
which  actually  has  file  names  in  it 
required  the  introduction  of  a  new  local 
variable  t%,   replacing  n%  in  a  couple  of 
lines  of  version  0.3. 

Shellsort  comes  straight  out  of  the 
library,  except  that  I  have  removed  a  few 
REMs  and  adjusted  line  lengths  to  fit  the 
narrow  columns  I  am  using  in  this  article. 
I  adapted  it  ages  ago  from  a  version  in 
some  sort  of  lesser  BASIC  and  cannot 
remember  for  the  life  of  me  exactly  how  it 
works,   but  it  does!      As  far  as  I  remember 
it  is  quite  fast  and  doesn't  require  a  lot 
of  memory,  this  was  more  important  in  the 
days  when  64k  was  a  huge  amount  -  we  QLers 
shouldn't  have  to  worry!       To  reverse  the 
order  change  the  >  in  line  1210  to  a  <.  It 
will  work  on  string  "slices"  (e.g.   fred$(  3 
to  67)  but  there  is  one  minor  bug  in  the 
procedure  if  you  do.       If  you  send  a  string 
sliced  at  the  beginning  (eg  fred$(3  to  67) 
it  treats  the  first  element  (fred$(3))  as 
a$(0)  and  ignores  it,   so  if  you  want 
fred$(3)  to  be  included  in  the  sort  you 
have  to  send  fred$(2  to  67)  and  let  it 
ignore  element  2  instead.       It's  all  to  do 
with  people  counting  from  1  while  computers 
start  at  0!     In  line  905  our  array  is  only 
sliced  at  the  end,   so  we  don't  need  to 
worry  here. 

When  I  experimented  with  smaller 
typefaces  I  found  that  it  was  necessary  to 
make  one  other  small  addition  to  the 
program  -  the  WIDTH  command  in  line  165. 
This  sets  the  line  length  on  the  serial 
port.      The  default  is  80,  so  this  only 
matters  if  you  are  trying  to  save  even  more 
trees  by  typing  your  listing  in  elite  or 
condensed  type.      You  will  also  have  to 
instruct  the  printer  with  the  appropriate 
control  codes.       If  your  printer  is  Epson 
compatible  then  the  following  trick  should 
work  : 


PRINT»3 , "QM" ; : 
PRINT*3, "e";  : 

REMark  Elite  type 
REMark  Condensed 

The  ti  character  is  produced  by 
<CTRL+;>  and  g  by  <CRTL+/> ,     if  you  think 
you  can  read  condensed  elite  then  use  both 
(  "QMS  "  )  but  it  Mill  be  very  sull  and  you  mil  need  very  good  eyesight! 

Slip  this  in  somewhere  soon  after 
OPENing  channel  *3.       (See  my  article  in  QL 
World  April  1991  for  more  details.) 

There  is  also  a  bug  in  the  QL's  string 
comparison  routine,   it  treats  upper  case 
letters  as  '■earlier'"  in  the  alphabet  than 
the  corresponding  lower  case  one.   So,  for 
example  "CHports_doc"  comes  before 
"Change_ports " ,   so  you  only  get  "sort  of" 
alphabetical  order  -  but  at  least  all  the 
'■A"s,    "B'*s,    "C"s  etc    come  together.  My 
first  thought  was  to  convert  all  the  names 
to  the  same  case  before  the  comparison. 

Type  in  the  following  few  lines  and 
MERGE  them  ON  TOP  of  version  0.42  in  the 
usual  way.        (Lower$()   comes  from  the  PROCs 
library  too. )       A  small  alteration  to 
Shellsort  is  needed  to  call  Lower$( ) . 
Note  that  only  the  sorting  is  done  using 
the  lower  case  version  of  the  name;    it  is 
not  changed  in  the  listing.       Don't  loose 
your  copy  of  version  0.42  though,   you  will 
find  that  it  slows  up  the  sorting  routine 
enormously.     It  might  be  tolerable  if  you 
are  using  mdvs,  but  could  take  minutes  to 
deal  with  the  directory  of  a  floppy  disk. 
I  doubt  whether  many  people  will  think  it 
worthwhile ! 

100  nm$  =  "Prt_dir4b" 

110  REMark  hjc  1991.09.11     Ver  0.42b 

1155  LOCal  p$,q$ 

1205  p$=Lower$(a$(  j ) ) 

1 207  q$=Lower$ ( a$ ( k% ) ) 

1210  IF  p$>q$ 

1300  REMark    h.j.c  1989.02.14   

1310  DEFine  FuNction  Lower$(a$) 
1320  LOCal  i , 1%, c , t$: t$=a$ : 1%=LEN( t$) 
1330  FOR  i  =  1  TO  1% 
1340     c=C0DE(t$(i) ) :   SELect  ON  c 
1350       =  65  TO  90  :  t$( i ) =CHR$( c+32 ) 
1360       =160  TO  171:   t$( i ) =CHR$ ( c-32 ) 
1370  END  SELect  :  END  FOR  i 
1380  RETurn  t$:  END  DEFine 

This  route  is  obviously  a  dead  end,  it 
is  just  too  slow.     I  shall  go  back  to 
version  0.42  for  my  next  step.       I  included 
it  here  as  I  am  trying  to  illustrate  the 
actual  process  of  writing  a  program, 
sometimes  you  do  have  to  backtrack!  I'll 
show  you  how  to  do  it  with  a  new  extension 
in  a  later  article. 

Last  time  I  left  you  with  a  couple  of 
problems,  both  involving  adaptation  of  the 
FuNction  Line_count  that  starts  at  line 
930.       As  written  it  returns  the  number  of 
lines  in  any  file  -  we  used  it  to  count  the 
number  of  file  names  in  a  directory.  I 
suggested  that  you  might  alter  it  so  that 


it  also  returned  the  length  of  the  longest 
file  name  i.e.   the  longest  line  in  the 
file.     Note!   I  said  "also"  -  you  cannot  do 
that  since  a  function  can  only  return  one 
value  can  you?       Well  yes  you  can!     Using  a 
little  used  trick,   which  is  in  fact 
documented  in  the  manual.       Look  at  the 
following  listing: 

10  REMark  m%  is  the  length  of  the  longest 

20  REMark  line  in  the  file. 

30  PRINT  Count(4, "mdvl_Prt_dir3",m%) 

40  PRINT  "Longest  line  ="!m% 

930  REMark -  

940  DEFine  FuNction    Count ( chX, f$, mx%) 
950  LOCal  a$ , ct , n% , 1%:   n%=0 :  mx%=0 
960  REMark  Count  no.   of  lines  in  file 
97Q_  0PEN»ch%,f$ 
980  REPeat  ct 

990       IF  E0F(#ch%):   EXIT  ct 

1000     INPUT#ch%, a$:  l%=LEN(a$) 

1005     IF  l%>mx%:  mxX=l% 

1007  n%=n%+l 

1010  END  REPeat  ct 

1020  CL0SE#ch% 

1030  RETurn  n%:   END  DEFine 

Note  that  the  variable  m%  in  line  30 
which  appears  to  be  a  FuNction  parameter  is 
undefined  on  entering  the  FuNction.     It  is 
given  a  value  as  its  alias  mx%  within  the 
FuNction  at  line  1005  -  although  I  had  to 
set  mx%  to  zero  earlier  (950)  or  the 
comparison  at  1005  would  generate  an  error 
message.       Any  time  the  loop  meets  a  longer 
line  the  value  is  increased  accordingly. 
After  the  FuNction  has  returned  its  value 
mX  has  a  value  and  can  be  printed  in  line 

The  other  problem  was  to  convert  it 
return  the  length  of  a  file  in  bytes. 
This  is  easier: 

10  PRINT  Byte_Count(4, "File  name") 

930  REMark  r  - 

940  DEFine  FuNction  Byte_Count ( ch%, f $ ) 

950  LOCal  a$,ct,n%:   n%=0 :  mx%=0 

960  REMark  Count  no.   of  lines  in  file 

970  0PEN#ch%,f$ 

980  REPeat  ct 

990       IF  E0F(*tch%):   EXIT  ct 

1000     a$=INKEY$(*ch%,-l):  n%=n%+l 

1010  END  REPeat  ct 

1020  CL0SE»ch% 

1030  RETurn  n%:   END  DEFine 

As  you  will  see,  only  line  1000  has  to 
be  altered,   INKEY$  reads  a  byte  at  a  time, 
while  INPUT  takes  in  a  whole  line.       If  you 
have  Toolkit  II  then  the  WSTAT  command  does 
this  much  quicker  -  by  reading  the  value 
from  the  file  header! 

Something  to  think  about  for  next 
time.     Write  a  FuNction  that  checks  if  a 
single  character  is  a  digit  within  a 
specified  range  (e.g.   3-6)  and  returns  TRUE 
(1)  if  is  is  and  FALSE  (0)  otherwise. 

Howard  Clase,  ©  W I  KU.Clftse 

Box  9947,  Station  B, 
St.  John's,  Nfld, 

Canada  A1A  4L4.  Tel.   (709)  753-6415 

e-mail  hclase@morgan. ucs . mun. ca 


ONE-SIDED       DISKS       DO       NOT  EXIST, 

PART      TWO,       by      Gil  Parrish 

In  the  Sept/Oct  issue  of  Sine-Link,  Hugh  Howie  wrote  that 
"one-sided"  disks  (sometimes  called  "single-sided"  or  "SS"  disks)  did 
not  exist.     Hugh  noted  that  all  disks  have  magnetic  media  on  both 
sides  (making  them  "dual-sided"  or  "DS" ).     However,  he  explained  it 
is  possible  to  have  a  dual-sided  drive  format  one  side  of  a  disk 
only,  although  he  did  not  know  what  value  such  a  disk  might  be. 

None  of  the  foregoing  comes  as  news  to  those  familiar  with 
Commodore  equipment.     The  "standard"  Commodore  drive,  a  1541,  is 
single-sided  and  will  use  only  one  side  of  a  disk.     Originally,  1541 
owners  bought  SS  disks,  which  were  a  bit  cheaper  than  DS  disks,  since 
the  back  would  be  "wasted"  anyway.     The  story  being  told  at  that  time 
was  that,  even  though  manufacturers  always  put  magnetic  media  on  both 
disk  sides,  they  "certified"  the  disks  as  SS  or  DS  based  on  results 
of  tests  of  both  sides:     if  one  side  was  bad,  the  disk  was  certified 
as  SS,  and  if  both  were  good,  it  got  the  DS  seal.     So  it  was  presumed 
that  the  back  of  those  SS  disks  could  not  be  used,  even  if  the  1541 
allowed  it,  which  it  did  not.     However,  as  time  went  on,  two  things 
became  apparent.     (1)  The  backs  of  SS  disks  seemed  to  be,   99  times 
out  of  100,   just  as  good  as  the  front.     Manufacturers  apparently  were 
not  using  the  SS  label  for  rejects.     Perhaps  they  were  testing  only 
the  front,  or  perhaps  they  knowingly  labeled  perfectly  good  DS  disks 
as  SS  to  supply  that  market  of  folks  who  thought  they  wanted  and 
needed  SS  disks.     (2)  It  was  entirely  possible  to  flip  an  SS  or  DS 
disk  over  in  a  1541,  and  use  the  back  of  it.     The  1541  did  not  depend 
on  the  "read  hole"  to  tell  it  where  the  disk  was,  so  it  did  not 
matter  that  flipping  the  disk  put  the  read-hole  in  a  different  spot 
than  normal.     And  although  the  flipped  disk  did  not  have  a  "write 
protect  notch"  in  the  correct  position,  it  proved  easy  enough  to  cut 
one  (indeed,   "disk  notchers"  are  sold  by  various  vendors  to  this 
day) .     For  a  while,  some  folks  worried  about  damaging  the  drive  by 
spinning  these  flipped  disks  "backwards"  and  having  dust  already 
collected  on  a  pad  within  the  disk  jacket  being  dislodged  and  ejected 
into  the  mechanism.     But  this  proved  not  to  be  a  genuine  problem. 

Is  there  an  advantage  to  formatting  each  side  separately? 
Occasionally,  an  SS  disk  helps  to  organize  things.     All  of  one  side 
might  be  one  topic,  and  all  the  other  side  might  be  another.  Not 
that  you  could  not  put  everything  on  a  DS  disk,  but  at  least  when  the 
programs  are  separated  out  the  directory  will  show  only  the  programs 
on  the  topic  you  want  to  view —  a  de-facto  partition.     It  might  also 
be  true  that  your  data  is  less  prone  to  certain  types  of  disasters 
when  separated,  e.g.  a  mistaken  command  to  erase  multiple  files  would 
not  reach  the  files  on  the  back  of  the  disk  that  the  drive  did  not 
"know"  were  there.     But  on  the  other  hand,  those  of  us  who  are  less 
organized  might  simply  end  up  with  twice  as  many  directories  to  check 
for  a  missing  program,  and  some  types  of  errors  might  become  more 
likely,  such  as  having  a  user  give  a  double-sided  format  command 
because  he  does  not  realize  critical  files  that  do  not  appear  in  the 
directory  for  the  front  of  the  disk  are  hidden  on  the  back.     So  as 
usual,  you  "pay  your  money  and  you  take  your  chances"  either  way. 



323  1/2  N.   Church  Street 
Bowling  Green,   OH  43402 
October  17,  1991 

Dear  George, 

I  received  the  Sept/Oct  Sine-Link  a  few  days  ago.  Oh, 
sorry  the  copy  on  the  article  was  too  light;    I  have  since 
replaced  my  printer  ribbon. 

I  noted  a  few  minor  errors  of  various  types,   and  as  usual  I 
am  informing  you  about  them.     The  most  glaring  was  at  the  top  of 
page  10.     To  print  a  screen  copy,  the  command  should  be  LPRINT 
CHR$  1,   not  LPRINT  USR  1.     USR  1  will  reset  the  computer,  with 
or  without  the  LPRINT! 

Also  of  note,    in  my  AERCO  printer  driver   (from  the  original 
tape),   the  POKEs  to  enable  the  Centronics  printer  are  POKE 
26703,5:  POKE  26704,251.     Also,   somehow  a  3  ended  up  in  your 
printer  width  POKE  address,   it  should  be  POKE  64256,  width-1. 
Maybe  that  number  is  incorrect,   I  see  you  used  this  address  for 
the  LITERAL  mode  earlier.      I'll  have  to  dig  out  my  code  and 
check  which  is  what. 

As  a  side  note,  most  of  the  AERCO  customizing  has  to  do 
with  setting  up  the  control  codes  for  the  screen  dump.  Other 
than  those  control  codes,   there  is  little  to  customize  from  one 
printer  to  the  next. 

Theoretically  you  might  be  able  to  use  OUT  for  the  Tasman 
interface.     I  don't  have  one  and  so  can't  verify  timing,  but  it 
would  require  at  least  3  OUT  commands  for  each  character  sent  to 
the  printer.     I  will  have  to  dig  out  the  LKDOS  ROM  code  for  that 
driver,  and  give  you  the  BASIC  equivalent  for  someone  to  try 
out . 

The  LKDOS  Tasman  driver  consists  of  the  following: 



IN  (191) 



BIT  0,A 



JR  Z,+6 



IN  (251) 



BIT  0,A 



JR  NZ,-60 

;If  not  ready,   jump  to  test  for  BREAK 



;Sets  A  to  0 



OUT  (251) 



;So  A  now  FFhex 



OUT  (123) 



OUT  (251) 



;get  character  to  send  to  printer 



OUT  (123) 



LD  A, 247 



OUT  (251) 

;signal  printer  character  is  ready 



LD  A, 255 
OUT  (251) 





All  of  this  seems  rather  complicated,  and  some  of  it  may 
not  really  be  necessary  every  single  time.     Obviously,  we  could 
leave  out  the  test  for  the  BREAK  key.     Other  than  that,   I  would 
just  be  guessing   (but  I  would  guess  the  lines  from  XOR  A  to  just 



before  POP  AF  are  set-up,  and  only  really  need  to  be  done  the 
first  time).     If  that  is  correct,   we  still  have  2  INs  and  3  OUTs 
that  they  expect  us  to  do  for  every  single  character. 

It  is  probably  easier  to  just  go  ahead  and  use  the  CHR$  27. 
Incidentally,   from  what  I  have  seen,   Tasman  interprets  a  CHR$  27 
to  mean  the  very  next  code  should  be  sent  exactly  as  it  appears. 
This  leads  to  sticking  a  CHR$  27  in  front  of  everything  which 
would  normally  be  converted,  but  regular  characters  could  be 
skip'ped  in  that  regard. 

I  see  I  probably  made  a  mistake  of  my  own.     On  page  15,  a 
proper  assembler  would  likely  want  the  two  different  LD  A, 8194 
commands  to  be  typed  as  LD  A, (819  4) .     I  don't  use  an  assembler, 
so  I  could  easily  have  left  out  those  parentheses  without 
thinking  about  it. 

Bob  neglected  to  mention   (page   24)   that  in  the  new  Grafix24 
code  there  is  a  byte  in  front  of  the  printer  control  codes  which 
determines  how  many  character  are  in  the  control  code.  If 
someone  were  to  try  and  change  these  codes  for  his  printer,  and 
not  change  the  length  byte  for  that  code,  they  may  get  some 
strange  results.     So  at  60B3hex  is  a  3  for  the  3  bytes  to  set 
the  printer  spacing  to  8/72,   at  60BBhex  is  a  5,  and  at  60C3hex 
is  a  2.     If  anyone  writes  you  with  questions  about  customizing 
the  code,   that  is  most  likely  the  problem  they  had. 

As  a  sidenote  to  Hugh,   he  is  correct  that  there  is  no  such 
thing  as  a  truly  single-sided  disk.     However,  single-sided  disks 
have  not  been  tested  on  the  other  side.     So  if  you  buy  a  SSDD 
diskette  expecting  to  use  both  sides,  you  could  have  a  surprise 
coming.     Not  likely,  but  still  possible.     By  the  same  token,  a 
disk  does  not  have  physical  tracks  on  it  like  the  grooves  on  a 
record,  so  it  may  be  possible  to  buy  a  DSDD  disk  and  format  it 
in  80  track  format.     But  if  you  need  a  high-density  diskette  and 
buy  double-density  thinking  it  will  work,   it  may  not. 

Way,  way  back,  when  it  seemed  like  everyone  owned  a 
Commodore  64,  there  was  a  big  debate  in  the  magazines  over  just 
such  an  approach  to  single-sided  disks.     I  am  giving  you  the 
consensus  of  those  articles.     If  you  have  a  single-sided  drive 
(and  there  are  some  out  there),   go  ahead  and  buy  the  cheaper 
SSDD  diskettes.     If  you  have  the  more  common  double-sided 
drives,  unless  you  are  going  to  format  the  disk  as  single-sided 
(say,   to  send  to  a  friend  with  a  single-sided  drive),  you  are 
safer  buying  the  "double-sided"  disks. 

I  have  been  trying  to  figure  out  why  an  NMI  might  crash 
Bob's  clock  routine,  but  I  don't  know  for  sure.     I  re-wrote  the 
clock   (shortening  it  by  128  bytes  in  the  process)  and  my  knew 
clock  works  fine  with  the  NMI.     I  presume  it  may  be  that  an 
interrupt  occurs  at  the  wrong  time  or  something  of  the  sort. 
Oh,  both  routines  may  give  you  trouble  with  PRINT  #4:  NEW.  The 
clock  must  be  turned  off  before  you  try  that.     The  other 
comments  about  Bob's  clock  apply  to  mine  as  well   (except  the 
address  65289  to  adjust  timing).     Any  command  which  enables  the 
cartridge  or  disables  interrupts  will  temporarily  stop  the 
clock,   of  course.     Incidentally,  the  adjustment  is  on  the  order 
of  1  second  per  minute  -  if  the  clock  counts  61  seconds  in  a 
measured  minute  instead  of  60,  change  65289  to  61.     If  we 
removed  the  seconds  from  the  display,  we  would  be  able  to  make 


finer  adjustments,   though  there  isn't  much  point  if  you  plan  to 
use  the  cartridge. 

I'll  send  you  the  revised  clock   (and  send  it  to  Bob,  too). 
That  will  do  it  for  now  -  I  started  this  letter  2  weeks  ago,  but 
just  now  wrote  the  new  clock.     Hopefully,  since  I  did  replace  my 
ribbon,    it  should  be  printed  dark  enough.     Write  you  next  month. 

S  incerely, 

ib  tk,  }\J>*\  vm  \m  1007  YowO^Vscw^ 



Revised  24-hour  clock 

RUN  3000  to  enable 
RUN  4000  to  disable 

to  adjust  timing, 
change  first  60  in 
line  1005  to  counted 
seconds  per  real  minute 

109  REM 

1000  DATA  23,0,253,17,1,253,1, 
0,1,54,254,237,17  6,62,253,237 

1001  DATA  71,237,94,201,237,86, 
62, 63, 237, 71, 201, 126, 43, 14,0, 12 

1002  DATA  214,10,48,251,13,198, 
10,20  5,227,254,121,213, 2  29,135, 


1003  DATA  33,128,61,133,111,6,8, 
126, 18, 20, 35, 16, 250, 225, 209, 27 

1004  DATA  201,0,0,0,0,0,245,229, 
19  7,213,33,253,254,126,60,119 

1005  DATA  254,60,56,53,175,119, 


1006  DATA  126,60,254,60,56,10, 
175,119, 43,126,60,254,24,56,1, 


1007  DATA  119,46,252,17,31,64, 


1008  DATA  254,62,10,205,227,254, 
205,  211,  254,  2 09,  19 3,  2 25,  241,  19 5, 

3000  CLEAR  64767:   RESTORE  1000: 
FOR  i=l  TO  14  4:   READ  a:   POKE  6  52 
07+i,a:  NEXT  i 

3005  INPUT  "Position  on  screen: 
row?  ";r, "column?  ";c:  LET  rl=r- 
8*INT  (r/8) 

3010  POKE  65324, 32*rl+c+7:  POKE 
65325, 64+r-rl 

3015  INPUT  "time?  (hhmmss)  ";  LI 
NE  t$:  POKE  65277,0:  POKE  65274, 
VAL  t$(l  TO  2) 

3020  POKE  65275, VAL  t$(3  TO  4) 
3025  POKE  65276, VAL  t$(5  TO  6) 
3030  RANDOMIZE  USR  65208:  STOP 
4000  RANDOMIZE  USR  65228:  STOP 
9999  RANDOMIZE  USR  100:  SAVE  "cl 
ock.BD"  LINE  3000 

sUiU«j       Co  to  y$\  *W  vtkx<l  K 



Here  is  the  latest  on  my  "Saga  of  the 
Gold  Card",  where  I  have  been,  where 
I  am  going,  and  the  type  of  service  I 
have  received  from  Miracle  Systems. 

The  service  I  have  received  from 
Miracle  Systems  is  just  terrific.  They 
could  not  have  done  more  for  me. 
Judge  for  yourselves. 

I  am  not  going  to  tell  you  about  my 
impressions  as  I  have  done  that  before, 
just  tell  you  the  problems  I  had  and 
how  they  were  resolved. 

I  ordered  direct  from  Miracle  in 
England,  and  five  weeks  later  I  had  the 
Gold  Card  in  my  hand.  Now  don't  be 
harsh  on  the  five  week  span  as  they 
say  the  response  was  more  than  they 
anticipated,  hence  a  slight  delay. 

My  first  problem  was  that  when  using 
text87  to  print  two  columns,  the 
columns  got  a  bit  mixed  up.  A  letter  to 
Miracle  brought  a  2.22  ROM  to  replace 
the  2.15  which  was  originally  installed. 
Problem  fixed. 

Next  I  found  that  I  was  unable  to 
network  in  any  direction  with  the  Gold, 
but  was  OK  with  Cumana  +  512 
Expanderam.  Also,  I  had  ordered  a  disc 
adapter  card  for  the  Trump  Card  so 
that  the  Trump  could  run  3  disc  drives. 
It  did  not  work!  This  card  came  at  the 
same  time  as  the  Gold  so  I  decided  to 
combine  the  two  problems  in  one  letter. 

14  days  later  I  got  a  small  package 
from  Miracle  enclosing  (without  charge) 
a  1.28  ROM  to  replace  the  1.21  I  was 
using  in  my  Trump.  That  was  that 
problem  solved. 

Along  with  the  1.28  ROM  was  a  letter 
from  which  I  am  going  to  quote  :- 
"Thank  you  for  bringing  the 
Networking  problem  to  our  attention. 
Tony  Tebby  has  been  notified  and  I  will 
send  you  a  replacement  ROM  when  a  fix 
has  been  found" 

Hows  that  for  Service? 

Thank  you  M.  Tomlinson  for  your  help 
and  kindness.  § 

Update  to  »> 

the  UPDATE 

After  I  wrote  the  "GOLD  CARD  UPDATE"  I  decided  I 
would  like  to  change  ly  two  QL's  over  so  that  the 
QL  I  had  been  using  would  be  12,  and  the  spare 
would  be  it.  I  would  of  course,  leave  all  the 
peripherals  as  they  were,  only  the  QL's  would  be 

This  I  proceded  to  do,  and  after  a  while  I 
thought  [  would  once  again  try  to  get  through  on 
the  Network,  and  by  golly  the  darned  thing 
worked!  I  could  operate  in  each  direction  fro« 
each  position,  I  had  no  problea! 

Next  step  was  to  go  back  to  the  original  setup 
and  retry  froa  there,  but  this  was  a  no-go  so 
back  to  the  new  configuration  and  I  could  use  the 

Now  it  aust  be  reaeabered  that  the  ONLY  thing  to 
be  aoved  were  the  two  QL's.  Nothing  else  was 
■oved.  So  soaewhere  so«ehow  there  is  a  bug  of 
■aaaoth  proportions  in  ay  setup,  a  setup  which 
handled  the  Net  froa  Cuaana/Expanderaa/TK2  but 
would  not  work  with  the  Gold  —  in  ONE  setup  — 
but  is  OK  in  the  other  setup!  Please  reaeaber 
ONLY  the  QL's  are  switched. 

Soaeone  suggested  that  the  QL  power  supply  light 
be  faulty  but  I  tried  a  spare  power  supply  I  had 
lying  around,  and  in  various  conbinations,  this 
was  no  better.  So  if  anyone  can  suggest  anything 
would  you  please  drop  me  a  line? 

Of  course  this  Beans  that  I  will  now  have  to 
write  to  Mr  Toalinson  at  Miracle  and  tell  hia  the 
bug  is  aine  and  not  that  of  the  GOLD  CARD. 

Oh  dear!  Oh  dear!  Oh  dear!  How  do  I  get  involved 
in  things  like  this? 

At  one  tiie  I  was  having  a  problea  with  Minerva, 
but  I  changed  Minerva  over  also,  and  now  Minerva 
is  behaving,  except  for  the  Keyboard  Reset  which 
I  can  live  without. 

Not  that  all  this  would  appear  to  be  getting 
sorted  I  aust  say  that  the  Gold  Card  is  all,  and 
■ore,  than  what  Miracle  says.  It  is  faster  than 
the  claias  Bade  by  Miracle.  And  the  extra  desk 
space  available  is  wonderful.    Nothing  hangs  out! 

I  aa  extreaely  happy  with  ay  purchase.  But  would 
soaeone  please  write  with  an  explanation? 

Hugh  H.  Howie 

586  Oneida  Dr.  Burlington.  Ont  L7T  3V3 



D   I   S   C   fl   N:    fl   Larken   Utility   for   the   TS2068   by   Bob  Mitchell 
To   scan   an   entire   disk    looking   for   any   string   up  to  256 
characters   or   tokens.    Best    Compiled   using  Tinacnine. 

This  will  probably  have  limited  use  but  once  in  a  while  a 
need  may  arise  to  do  a  complete  scan  of  a  disk.  This 
happened  to  me  recently  when  I  was  trying  to  determine  just 
which  BASIC  programs  used  certain  code  files  appearing  on  a 
disk.  Two  examples  of  this:  cat.CR  did  not  ring  a  bell  with 
me;  also  I  wanted  to  check  which  files  called  up  HCode.Cl, 
one   of    the   Larken   code   files.    Both   are   on   the  Omnibus  disk. 

It   seemed   too  tedious  to   load  every   BASIC   file  on  the  disk, 
a   quad   with   a   few  dozen   of    them.    Besides,    why  not    let  the 
computer  do   the  work.    I   set   to  work   writing  the  routine 
which   I   call    <discan.Bp>;    the    listing    is   on   the   next  page. 

Let    me   explain   some   of    the  lines: 

56-98        Command    lines   for   Timachine  use. 

110  Initializes   b*  to   the   same    length   as   sS .    DIM  bSKLEN 

s$)   cannot   be  compiled  as    it   changes    length  each 
time    it    is   used.    So   this    line   gets   around  that. 
s$=search   string;    b$=string  PEfcKed  from  the  buffer. 
120-140  This   subroutine   gives   a  choice  of   doing  another 

search  or  ending  the  session. 
142  The  first   entry  point   for  the  compiled  program. 

150  Loads   machine     code  to   transfer  each  disk  track 

into   the   buffer   area    (starting   at    56000>.    This  code 
will   reside  at   44000  and  contain  DATA   line  values. 
160  Prompt    for    input    string.    Part    is    in   IHU   UIDE0 . 

170  <  t  >=  the  variable   for   track  number.    This   line  sets 

this   at   zero  and  pokes   this  value   into  43900  which 
will    be  used  by   the   code   at  44000. 
190  To   a   subroutine   at    430   which   will    get    the  track 

number   of    the    last    track   used   on   the   disk  being 
searched,    (routine   courtesy   of    Richard  Hurd>. 
The   variable   x   will    signify   the    last  track. 
230  When   the    last    track   has   been   searched,    the  program 

toes   to    1  ine  120 

increased  by 

320  continues.    Each   time   a   track    is    loaded    into  the 

240-  frack   number    is    increased   by   one   and  search 

buffer,    the  first    24  bytes   are   evaluated  to   get  the 
end  of   DATA  on  that   track;    also,    only   tracks  with 
the  extension    .B   in  the  file  name  will   be  searched. 
340-  The  search  starts  at   50024   and  continues   to  <end>; 

410  this    is   the   part    that    requires   the   program  to  be 

compiled,    even   though   using   <enc>   contributes   to  a 
speedier   search.    For  those   without   the  compiler, 
the  program  will   run  albeit   very  slowly.    Also,  each 
time  the  routine  STOPs,    it    is   waiting   tor  a  <drv> 
number.    Line  380  prints  the  file  names   and  track 
numbers     when        b$=s$.    I  did   not   bother  allowing  for 
a   TS2040   C0PV  sequence   or   a   wide   printer   one,  either 
 It    should  be  easy  to  add,    i f    the  mood  moves  you.  

To   make   the   program  run   properly,    a    1 oader— manager 

is   required   and    its    listing    is   given    immediately  below. 

lOO   REM  discan  loader 
110   POKE  23658.0 
120   RANDOMIZE   USR   100:    CLOSE  #3 

130   RANDOMIZE   USR   100:    LOAD      d i scan . Cc   CODE  60000 

140   PAPER   7:    INK   9:    BORDER   7:    CLS    :    PRINT   PAPER   6; "DISCAN:  used 
to_ scan  disk   tracks   for  the  presence   of    input  strings 
(characters,    TOKENs,  &c>" 

150  PRINT   '"However,    this  routine  does  not    distinguish  between 
TOKENs  and  other  uses   for  their  codes.    """For  example,    it  will 
find  not   only  PRINT   but   any  occurrence  of    its  code  <24S>  that 
nay  be  used  within   a  program.    "Thus,    the   search   string  with  a 
TOKEN  should  be   accompanied  by  other   characters,    eg,    PRINT  #4." 

155  PRINT  '"The  search  string  will  also  turn  up  if  it  exists  in 
the   variables  area." 

160   PRINT   HO : "CENTER!" :    PAUSE  0 

180   CLS    :    INPUT    "drv?    " ; drv :    RANDOMIZE   USR   100 :    GO   TO  drv 
190   CLS    :    RANDOMIZE   USR  60000 
195   GO   TO  220 

200   CLS    :    INPUT    "drv?    " ; drv :    RANDOMIZE   USR   100 :    GO   TO  drv 
210   RANDOMIZE   USR  60269 

220   INPUT      l=more   0=quit":mq:    IF   NOT   mq  THEN   RANDOMIZE  USR 
100:    GO   TO   4:    RANDOMIZE   USR   100:  NEW 

230   GO   TO  200 
9899  STOP 

9990   RANDOMIZE   USR   100:    SAME      discan. Bb      LINE  100 


Warning!    If   your   compilation  does  not   produce  60269   as  the 
second  point   of    entry   and   you  are  certain   that   you  have  not 
introduced  errors    info   the   listing,    then  change    line  210  to 
suit   your   Timachine  printout . 


50   REM    !  LIST 
68   REM    !  LPRIMT 

70   REM    ! INT   +o , end , poke , t , i , s i d , nt , b 1 x , x , n , aq 

86   REM    !USR  68800 

90   REM    !    OPEN  41 
188   PAPER   0:    INK    9:    BORDER   8:    CLS    :    POKE   23658,0:    GO   TO  150 
11©   LET   b*="":    FOR    i=l   TO   LEH   s*:    LET   b*=b*+"    " :    NEXT    i :  RETURN 
120   IF   t=x-l   THEN   INPUT    " END   OF   SERRCH    (    19  spaces  J 
l=another   0=quit    '  ;aq:    IF   NOT   a«i  THEN  STOP 
130   IF    t=x-l   AND   aq  THEN  CLS 
140  STOP 

142   REM    !    OPEN  # 
144   GO   TO  155 

150   GO   SUB   530:    GO   SUB  148 

155   CLS    :    INPUT    ;:    PRINT   #1; "insert    disk"'  '   C ENTER 3    "  :    PRUSE  O 
157   IF   CODE   INKEVS013   THEN   GO    TO  157 

160   INPUT     ^*;l;IH:M*^i/«aU;«MI;M;[rj    (10  sp.)      string?      ;    LINE  s* 
17©   LET   t=0:    POKE   43968, t 
18©   GO   SUB  110 
190   GO   SUB  430 

22©   PRINT   INUERSE   l;s$;    INUERSE   O;        found  on: 
230   IF    t=x-l   THEN   GO   TO  120 
240   LET   t=t+l:    POKE  43900,t 

250   RRNDOMIZE   USR   44000:    RANDOMIZE   USR  44006 
260   INPUT  ; 

265   LET   end=50O24+<PEEK   50014+256*PEEK  50015> 

27©   DIM  n*(9>:    FOR   n=500O2   TO  50016 

288   LET   n$<n-58881>=CHR$  PEEK  n 

298   NEXT  n 

388   FOR   n=l   TO  8 

318   IF   n*<n>=. •      AND   n$(n+l)="B"    THEN   GO   TO  348 
328   NEXT  n 

338   GO   SUB   118:    GO   TO  230 

340   INPUT    ;:    PRINT   #8;    Searching      ;n*;      Track  ;t 
350   FOR   n=50024   TO  end 

360   IF   CHRS  PEEK   n=s$(l)    THEN   FOR    i=l   TO   LEN   sS:    LET  b$<i)=CHR$ 
PEEK   <i+n-l>:    NEXT  i 
370   IF   bSOsS  THEN   GO   TO  390 

380   IF   b$=s$  THEN   PRINT   n*; "    track      ; PEEK   58001:    GO   TO  488 
398  NEXT  n 
488   GO   SUB  118 
418   GO   TO  238 
428  STOP 

438   RANDOMIZE  USR   44000:    RANDOMIZE   USR  44006 

440   LET   s  i  d=PEEK   50020 :    LET   nt=PEEK   50021:    LET   blx  =  sid*nt:  LET 
x=l :    IF   sid=l   THEN   LET  x=2 
450   FOR    i=<50024+C2*nt-x>>    TO  50024   STEP  -x 
460   IF   PEEK    i=245   THEN  80   TO  48© 
470   NEXT  i 
480   LET  x=i-50023 

490   LET   nt=x:    IF   sid=l   AND   X/20INT    (x/2)    THEN   LET   x=x  +  l 
500   LET  nt=x 

510   IF   sid=l   THEN   LET  nt=x^2 
520  RETURN 

530   RESTORE   550:    FOR   o=44000   TO   44119:    READ   poke:    POKE  o,poke: 
NEXT  o 
540  RETURN 

550   DATA   INT  195,249,171,195,7,172,195,27 
560   DATA   INT  172,195,56,172,195,75,172,243 
570   DATA   INT  205,98,8,201,58,108,0,251 
580   DATA   INT  201,205,239,171,58,124,171,50 
590   DATA   INT  29,32,205,126,0,24,237,205 
60©   DATA   INT  239,171,58,124,171,50,29,32 
610   DATA   INT  285,129,0,58,29,32,50,124 
62©   DATA   INT  171,24,217,205,239,171,175,50 
630   DATA   INT  32,32,205,123,0,58,32,32 
640   DATA   INT  79,6,0,33,112,32,17,88 
650   DATA   INT  195,1,0,20,237,176,24,188 
660   DATA   INT  205,239,171,33,80,195,17,112 
670   DATA   INT  32,1,0,20,237,176,205,120 
688   DATA   INT  8,24,169,285,239,171,42,144 
698   DATA   INT  171,78,35,78,24,158,8,8 

9988  REM    !    CLOSE  it 

9989  STOP 

2222   £tEftR    :    RANDOMIZE   USR   188:    SflUE      discan.Bp      LINE  9995 
9992  STOP 
9995   GO   TO  18 



Why  was  the  translation  of  QUICK  AND  DIRTY  SHELL  delayed?  Well,  in 
the  first  place  I  couldn't  get  it  translated  by  my  contact  in  TO. 
He  wasn't  into  Timex  Sinclair  computers.  Then,  following  an 
article  I  wrote  on  Indexing  Family  History  Records  -  SINC-LINK 
Jul-Aug  1990  -  one  of  our  American  readers  asked  George  Chambers 
for  help  in  tracking  down  her  Canadian  Ancestors.  George  told  her 
if  he  had  time  he'd  take  a  look  and  sent  a  copy  of  both  letters  to 
me.  After  much  searching  I  located  the  ancestors. 

Then  somebody  offered  me  second  lead  in  CHRIST'S  METEORITE,  a 
short  dramatic  film  that  was  going  to  be  filmed  in  Montreal  and 
Quebec.  I  accepted  the  part  and  edited  the  film  as  well.  This  kept 
me  involved  for  a  long  time.  If  either  First  Choice/Superchanne 1 
or  CBC  take  the  film  you  may  yet  have  a  chance  to  view  my  thespian 
activities  at  your  leisure. 

Finally  in  response  to  the  note  of  castigation  in  last  month's 
SYNC-LINK.  I  decided  to  have  a  crack  at  translating  the  bone  of 
contention  myself.  Fortunately  I  have  a  good  German  Technical  and 
Scientific  Dictionary.  Hard  Work  did  the  rest.  You  will  find  it 
elsewhere  in  this  bi-monthly  issue.  It  may  not  be  perfect  but  at 
least  it  should  clear  up  a  few  misunderstandings  about  running  the 
program  and  what  the  program  is  supposed  to  do.  There  are  some 
notes  which  should  be  read  in  case  my  left  eye  twitched  as  I  pored 
over  the  German  text . 

AND,  wait  for  it.  I  did  complete  our  Texas  member's  pedigree.  It 
ran  to  37  pages,  including  Index,  and  is  entitled  THE  LOYALIST 
ANCESTORS  OF  JOAN  KEALY.  Joan  Kealy  was  in  for  a  rash  of 
surprises.  They  were  as  follows. 

1.  Her  Loyalist    Ancestors  were    MICHAEL  VAN    KOUGHNET  and  PHILIP 

2.  Her     2nd  Great  Grandfather  was     SALTER  JEHOSOPHAT  VAN  KOUGHNET, 
M. A . .  D.C.L. .  Q.C. 

Salter  J.  Van  Koughnet  was  called  to  the  bar  in  1859.  became 
Reporter  of  the  Court  of  Queen's  Bench  and  was  well  known 
at  Osgoode  Hal  1 . 

3.  Her  2nd  Great  Grand  Uncle  was  THE  MOST  REVEREND  ROBERT  MACHRAY, 
D.D.,      Cantab.,       D.C.L. ,      LL . D . ,       Prelate      of      the  Most 
Distinguished  Order    of  St.  Michael  and    St.  George.,  Primate 
of  All  Canada  and  Lord  Archbishop  of  RUPERT'S  LAND. 


4.     Her  Great  Grand  Uncle  was  HUGH  JOHN  MACDONALD,     the  son  of  the 
Right  Hon.  SIR.  JOHN  ALEXANDER  MACDONALD,  G.C.B.,  D.C.L.,  LL.D. 
Q.C.,  Knight  of  the  Grand  Cross  of  Isabella  the  Catholic. 

Sir    John  A.     MacDonald,     Prime    Minister  of     Canada  1855-1867 
&  1878-1891,  was     the     father    of    Confederation    and  the  most 
eminent  statesman  in  Canadian  History. 

It  may  seem  extraordinary  that  Joan  Kealy's  link  to  this  great 
Canadian  should  be  revealed  during  his  Centennial  Year.  It  is  even 
more  fortuitous  that  it  should  happen  at  a  time  when  Canada's 
nationhood  is  in  jeopardy.  Perhaps  it  is  an  omen  of  hope  for  the 
future.  Everything  Sir  John  A.  MacDonald,  as  Leader  of  the 
Government  of  Western  Canada,  fought  so  hard  to  secure  for  the 
Dominion  in  1867,  may  yet  be  preserved  for  the  benefit  of 
generations  still  to  come.  It's  good  to  be  able  to  report  this  in 

The  translation  is  not  yet  at  an  end.  There  are  still  several 
other  pages  of  bytes,  bits  and  pieces  I  have  to  look  at.  This  will 
take  time.  The  writer  has  used  some  unfamiliar  abbreviations  that 
have  to  be  worked  out.  I'll  get  round  to  it  it  one  of  these  days 
and  send  the  results  to  the  Editor.  Meanwhile,  have  fun  with  the 
first  instalment  and,  above  all,  be  patient. 

Philip  Hudsmith, 
Montreal,  Qc . 
Sept.   12,  1991. 


O  L  I  F  S 

By  Hugh  H  Howie 

Came  across  a  situation  which  many  before 
have  probably  experienced,  where  in 
saving  a  file  somehow  an  illicit  or 
incorrect  character  has  managed  to  get 
into  the  middle  of  the  title,  (leaving  a 
square  hash-mark  where  the  character 
was  inserted)  with  the  result  that  it  is 
impossible  to  load  that  file  back  as  you 
cannot  duplicate  the  error  typed  in. 

When  this  happened  to  me  last  night  I 
recollected  writing  about  how  to  remove  a 
prefix  from  a  string  of  titles,  and  do  it 
quickly,  by  using  the  COPY  command  from 
TK2.    So  I  tried  it. 

I  w_copied  the  unloadable  file  to  a  disc 
where  that  was  the  only  file  on  that  disc. 
This  was  to  ensure  that  anything  going 
wrong  would  not  corrupt  the  whole  disc. 

When  I  had  the  offending  file  on  this 
disc,  it  looked  like  this:-  JACKSON§_T87. 
(where  *§*  is  the  illicit  character)  I  placed 
this  disc  in  flpl_  and  typed  in  this 
command :- 


And  the  file  now  had  the  title 
JACKSONJT87  and  I  was  able  to  load  it. 

Another  way  to  do  this  is  with  the 
"DIR_EDIT_BAS"  program  from  the  QL 
library.  This  program  can  be  quicker,  or 
slower,  than  the  TK2  command,  it  all 
depends  on  the  amount  and  types  of 
changes  to  the  titles  which  are  required. 
Both  methods  have  their  place  in  your 

If  it  is  a  matter  of  removing  the  same 
character  or  string  from  a  number  of 
programs  at  the  same  time,  the  TK2 
method  is  best.  But  if  a  variety  of 
changes  are  required  the  DIR_EDIT_ 
BAS  method  is  better. 

It  would  be  a  good  idea  if  you  were  to 
try  both  methods  before  you  really  have 
to.  Try  them  both  to-day,  at  your  leisure 
and  not  wait  till  you  are  in  trouble.  You 
will  then  know  how  to  handle  the  situation 
when  it  occurs.  § 


by  George  Chambers 

There  are  two  errors   in  the 
latest  version  of  the  OMNIBUS  disk 
(v3.02g),   a  copy  of  which  has  been 
sent  to  several  romoars. 

The  errors  are  contained   in  the 
OMNIBUS  AUTOSTART  program,  and 
it's  back-up  copy  OMNIBUS. B1 .  The 
Lines  which  need  to  be  revised  are 
1220  and  1810.    The  corrected   I  ines 
are   I  isted  be  I ow. 

In  add  it  ion,    Lines   1050  and 
1060  can  be  deleted.    They  appear 
to  be   lines   left  over  from  an 
earlier  version,   and  have  no 
present  purpose. 

When  the  program   is  loaded, 
BREAK  out  of   it' and  do  a  PEEK 
2U-520.    If  the  value   is  not  3,  then 
POKE  2^520,3 

Then  select  Main  Menu  option  X 
and  resave  the  Master  and  Data 
drive   intormat  ion.    This  will  set 
the  correct  value   in  address  2^518 
(See   the  revision    in  Line  131Q, 
be  I  ow  ). 

These  modifications  can  readily 
be  done  on  your  personalized  copy 
of  the  disk.   After  the  above  mods 
nave  been  completed,    you  should 
make  an  AUTOSTART  SAVE,    arc  then 
a  Back-up  Omnibus  SAVE,  i.e. 
options  Z  and  V  on  the  Main  Menu. 

1220  PRINT  #od:    GO   TO  PEEK  dO:  P 
RINT  #U:   POKE  821  U, 16350:  RANDOM 
IZE  USR  21H+95:   REM  autoboot 
1810  LET  h=mdrv:   LET  h=h+oa:  LET 

h=2  h:    IF  h=32   THEN     LET  h=128 
181 5"  POKE  24518,  h 
1820  GO   TO  ml 




If  you  are  exper i ment i ng  with 
mach i ne-code  programm  ing  on  the  ZX-81 
the  moment  will  arrive  when  you  want 
to   incorporate  a  mach i ne-code  routine, 
which  you  have   in  one  program,  into 
another  program.      This  can  present  a 
problem,   since  machine  codes  are  often 
long  and  laborious  to  enter.  The 
following  process,   however,  enables 
machine-code  to  be  transferred  from 
one  program  to  another  with  a  minimum 
of  effort,   and  error-free. 

First,   RAM  TOP  must  be  set  at  some 
convenient  level.    /  generally  set  it 
at  32000  for  this  kind  of  work,  which 
gives  768  bytes  to  play  with,  while 
leaving  over  1 5K  for  Basic  listing, 
display  file,   and  variables. 

The  following  routine  enables 
RAMtop  to  be  set  easily  at  any  desired 

10   INPUT  X 

20  LET  Y  =  lNT(X/256) 
30  LET  X  =  X-256  *  Y 
40  POKE  J  6388,  X 
50  POKE  J  6389,  Y 
60  NEW 

Run  the  program,   enter  the  number 
to  set  RAMtop,  and  press  NEWL1NE 
(ENTER).     The  program  promptly 
disappears  -  Line  60.    If  you  want  to 
check  that  you  have  set  RAMtop 
correctly,    the  following  command  will 
print  the  number  you  entered: 

PRINT  PEEK  16388  *  256  *  PEEK  16389 

Now  load  the  program  containing  the 
machine  code  routine  which  you  want  to 
'/o/ate  and  transfer.    I  assume  here 
that  the  machine  code  routine  is 
stored  in  a  Rem  statement   in  Line  1, 
but  the  program  can  be  easily  adapted 
by  adjusting  the  initial   value  of  J  in 
line  9030.    This  should  be  the  address 
just  prior  to  the  address  at  which  the 
machine-code  routine  commences. 

Add  the  following  lines  to  your 
listing.    I  have  chosen  to  number  them 
from  from  9000  but  that   is  net 
^porfont  -  simply  slot  them  where  you 

Run  9000.    When  that  has  finished  a 
few  seconds  later,    load  the  program  to 
which  you  wish  to  transfer  the  machine 
code  routine.  Again,    I  assume  that  you 
want  to  Poke  the  routine   into  a  Rem 
statement   in  Line  1,   but  this  can  be 
changed  by  altering  the   in  it  ial iz  ing 
value  of  J  at  Line  9010  to  the  address 
prior  to  that  at  which  you  want  the 
machine  code  routine  to  start. 

First  you  must  reserve  some  space 
in  the  normal  way: 


Note  that  using  this  routine,    it  is 
not  critical  that  you  enter  the 
correct  number  of  X's  at  the  first 
attempt.    If  you  are  short,   the  program 
will  stop  and  tell  you,   so  you  can  add 
some  more.     If  you  enter  too  many,  It 
is  a  simple  matter  to  edit  them  out 

9000  FAST 

9010  LET  J  =  16513 

9020  LET  R  =  PEEK  16388  +  256  * 

PEEK  16389 
9030  LET  X$-"n 
9040  LET  R  =  R  + 
9050  IF  PEEK  R  = 
9060   IF  PEEK  R  = 
9070  LET  X$  =  X$ 
9080  GOTO  9040 
9090  LET  J  =  J  +  1 
9095  LET  X  =   VAL  X$ 
9100  IF  PEEK  J  ^  118 
9110  POKE  J,  X 
9120  GOTO  9030 


EXTEND  LINE  1    THEN  GOTO  9/00" 
9140  STOP 


128  THEN  GOTO  9090 
*  CHR$  PEEK  A 

THEN  GOTO  9080 

9000  FAST 

90/0  LET  RAMTOP  =  PEEK  16388  *  256 

*  PEEK  16389 
9020  LET  X$  -  "" 
9030  LET  J  =  16513 
9040  LET  J  =  J  +  1 

9050   IF  PEEK  J  =   118  THEN  GOTO  9080 
9060  LET  X$  =  X$  +  STR$  PEEK  J  + 

"(  inverse  space)" 
9070  GOTO  9040 
9080  FOR  J  +   1   TO  LEN  X$ 
9090  POKE  RAMTOP  +  J,    CODE  X$(j) 
9/00  NEXT  J 
9110  STOP 


RUN  9000,    OR  GOTO  9000   if  you  have 
any  data  to  preserve.   When  it   is  done, 
List;   there  is  your  machine-code 
routines  safely  lodged  in  Line  I.  If 
you  want  to  tidy  the  program,  Edit  any 
surplus  Xfs  from  the  line. 

You  may  be  tempted  to  simplify  this 
program  by  simply  copying  the  REM 
statement  data  as  it  stands  into  a 
literal  string  and  Poking  that  over 
RAMtop.  However,   be  warned;  that  does 
not  always  work.  Characters  that  are 
printed  as  a  ?  in  the  Rem  statement 
are  reduced  to  code  15.    Thus  although 
the  Line  may  look  identical  to  the 
original,    it  will  not,    in  fact,  work 
as  machine  code. 

This  article  is  authored  by  Nick 
Godw in, Eyemouth  Berksh  ire. 

From  Your  Computer  magazine  June 
1982:  Retyped  by  G.F.C. 


Jhis  a  dEHD  qF  a  Font  called  itH.CF  a n i c h  I  haue 
■  deueloped  Fnr  use  with  Piiiel  Print  ProFessionai 
and  Hhich  can  tie  used  Far  other  applications. 
This  coluHn  is  being  coHposEd  using  PPP,  

The  heading  aboue  and  this  paragraph  ars  being 
typed  with  a  hern  ualue  oF  -3-  Let's  explain. 

flow  ue  are  using  a  Kern  oF  -4  which  puts  the  letters  uery  close 
together,  but  still  readable.  Kerning  adjusts  the  spacing 
between  characters:  Hinus  to  decrease  it,  plus  to  increase. 
I  deueloped  this  Font  using  Hg  Font  Editor/Rotator  File 
redeF.Bl.  This  was  necessary  since  the  original  tasuide  code 
Placed  the  characters  in  the  right-hand  halF  oF  the  standard 
3  M  S  pixel  square.  Thus  kerning  Has  not  possible.  The  new 
Font  uses  only  the  left  halF  oF  the  square  and  allows  kerning 
up  to  the  closest  -4  setting  (that  is,  with  nonial-sized 
characters. J  The  starting  hern  ualue  is  zero  <D>. 

Let* s  try  sane  other  sizes  and  hern  ualues. 

mil  h  soke  dDuiilE  height  text. 

n □ h  he  haue  to  use  — S  kerning 
uith   doublB   Hidtn  cnaractErs. 

This  is  -3  Htiicti  is  tfiE  Unit- 

Some  double  fiEignt,  double  uidtti. 

Triple  Hidtn. 
n  o  m     using     —  dLS     l-^je  r~  m 
arid     5DHE     wi"tli     —  dL  ==  — 

That's  about  all  For  noH,  but  it  should  be  enough  to 
interest  you  in  eaperiHenting  with  the  kerning  Feature 
oF  the  FOflT  Henu  in  Pixel  Print  ProFessionai. 
Bob  Mitchell.  91D72D. 




Super  Special!!! 
All  BYTE  POWER  titles  at  50%  off... 


12  BYTE  POWER  Magazines  (Back  issues)   $27.50 

6  BYTE  POWER  Magazines  (Back  issues)   $16.00 

1   BYTE  POWER  Magazine  (Back  issue)   $3.00 

1st  Class  Pack  (6  back  issues  in  vinyl  album)   $20.00 

Mega  Pack  (12  back  issues  in  2  vinyl  albums)  $31.50 

Issues  Available... 

August  '86,  September  '86,  October  '86,  November  '86,  December-January  '87, 
February  '87,  Spring  "87,  Fall  '87,  February  '88,  May  '88,  Fail  '88,  Winter  '89 

BYTE  POWER  1st  Class  Fonts  II  $10.00 

2+FAST  (Fast  Load  forTS2068)  $10.00 

The  Print  Factory  $12.50 

The  Companion  Volume  1   $12.50 

Best  of  Business  and  Utilities  $10.00 

Best  of  Arcade  Games  $10.00 

Best  of  Entertainment,  Strategy  &  Board  Games  $10.00 

For  those  with  remaining  issues  ot  BYTE  POWER  Magazine,  you  may  use  them  as 
credit  towards  the  purchase  of  any  of  the  above  packages... 

Please  add  $3.00  for  Shipping  &  Handling.  U.S.  Funds  only... 

1748  Meadowview  Avenue 
Pickering,  Ontario,  Canada 



by  Hugh  Howie 

There  are  so  many  ways  of  getting  a  directory  of  a 
disc,  and  there  are  soae  that  are  not  so  good.  Soae 
take  a  lot  of  typing  before  they  coae  through  to  the 
printer.  For  example  how  many  of  us  have  used  this 
aethod: - 

Open  #3,seri:dir  #3,f lpl_:close  #3 

A  lot  of  typing  which  is  not  really  required. 

If  you  have  TK2  or  Trump  Card  here  is  a  QUICKY  way 

to  get  a  DIR  of  the  default  (flpl)  drive. 

I  aust  admit  it  is  like  the  LONG  method  mentioned 
above,  as  it  only  gives  the  directory  in  one  long 
list  down  the  page,  but  if  you  can  live  with  that  — 

Say  your  printer  is  attached  to  serl,  and  you  want  a 
directory  of  flpl_,    here  it  is. 

dir  \serl 

To  speed  things  up  if  you  are  doing  a  nuaber  of 
DIR's,  don't  forget  the  ALT  ENTER  coabination  to 
recall  last  line  typed. 


Berry's  World 

"It  looks  as  though  you've 
got  a  FLOPPY  DISC." 

Put  some  punch  in  your 
PRINT  FACTORY©  graphics!! 

Collection*  1    Collection#2  Collection#3 

Miscellaneous  Animals 

Mm/Boys  Funny 
Woman/Girls  Transportati 
Digitixed  Misc.  Sports 


Digftixad  Misc. 
Female  Faces 
Male  Faces 

Zodiac  Signs 

I^S^e^TTT^Uffereri^arge  &  small  | 
graphics'  irt  maoh  oottmotiot%[__\ 

$12,93  ppd  each,  $19.95  ppd  for  two,  or 
all  three  collections  for  $26.95  ppd. 
[Check  or  mortmy  order*  only. J 
Available  on  tape  or  5  1/4  "  DSDD  LARKEN 
or  OLIGER  disk  -  please  specify. 



Send  order  to  i 

John  McMichael,  1710  Palmer  Dr, 
Laramie,  WY  82070 



Special  commuter  lanes 


The  following  routine   is  useful  in 
,   at   it  provides  an  option  for  both 
tape  and  disk  SAVEs.    In  the  case  of  a 
disk  SAVE  it  provides  for  drive 
selection.   Can  be  used  with  any  Basic 

9000>CLEAR  : LET  od=4:POKE  23658,0: PR  IN 
T  AT  13,9;  "SAVE  ROUTINE'"  "'  Press  ""D" 
"  key  to  save  to  disk,'"'  "  or  ""T" 
"  key  to  save  to  tape" :PAUSE  0: IF  INKE 
Y$="d " THEN  INPUT  "Drive  #?  " ;dr:PR INT 
#od:GO  TO  dr 

9010   IF  INKEY$="t "   THEN     LET  od=2 
9020  PRINT  Hod:   SAVE  "doctor. B1 "  LINE 
50:  RUN 


The  following  subroutine  may  be 
incorporated   into  any  program  where  it 
is  desired  to  catalog  a  disk.  The 
essential  components  of  the  subrout  ine 
are   in  lines  20,   30,    1000  and  1010. 
Line  1000  is  used  to  select  a  drive, 
•'hile  line  1010  does  the  actual 

ital  og.   Line  1010  also  provides  a 
se I ect ive  catalog  option. 

Note  the  use  of  an  ON  ERROR 
routine  in  line  50.    This   is  useful  if 
a  catalog  requires  more  than  one 
screen  to  display.    It  allows  one  to 
quit  to  the  program  by  entering  "n" 
when  the  scroll?  prompt  comes  up.  It 
is  also  effective   in  line  1000  where 
entering  a  "9"  will  produce  an  error 
report,   thus  causing  an  exit  from  the 
subrout ine. 

The  POKE  in  I  ine  20  ensures  that  the 
input   is  in  lower  case. 

1  CLS 

10  PRINT  AT  10,1 ;"A  Disk  Catalogue  Su 
brout ine" 

20  POKE  23658,0:  INPUT  "Catal ogue  a  D 
isk?   ";c$:    IF  c$="n"  THEN     GO  TO  50 

30  GO  SUB  1000:   GO  SUB  1010 

PAUSE  0:  CLS  :   GO  TO  1 

50  ON  ERR  RESET  :  CLS  :  PRINT  AT  10, 
?: "Cont  inue  with  program":  STOP 

00  ON  ERR  GO  TO  1:  INPUT  "Drive  #f 0/ 
«..9=quit)   ";drv:   RANDOMIZE  USR   100:  GO 

TO  drv:  RETURN 
1010  INPUT  "Str$  ";c$:   CLS  :  RANDOMIZE 
USR  100:   CAT  c$,  :  RETURN 

This  subroutine  permits  the 
selection  of  computer  outputs. 
Depending  on  the  option  chosen  one  can 
print  to  either  the  screen,    the  2040 
printer,   or  to  a  large  printer. 

The  key  is  in  the  use  of  the 
variable  "ch"  to  point  to  the  type  of 
output  required.  Making  the  "ch" 
variable  2  points  to  the  screen,  while 
3  points  to  the  20U0  printer,   and  5 
points  to  the  large  printer.    The  large 
printer   is  accessed  by  opening  channel 
5   in  LINE  60. 

50  POKE  23658,0:  PRINT  AT  10,0;  "S  )cre 
en  or  P)r inter":  INPUT  c$:  IF  c$="s"  TH 
EN     LET  ch=2:   GO   TO  70 

60  LET  ch=3:  PRINT  AT  10,0; "L  Jarge  or 
S)mall  printer":    INPUT  c$:    IF  c$=" I "  T 
HEN     LET  ch=5:   RANDOMIZE  USR   100:  OPEN 
#5, "I p" 

70  PRINT  Itch;  "Test  Routine":  STOP 

"header. B1 "  on  OMNIBUS  DISK  -  ERROR 
The  program  " header. B1"  on  the 
OMNIBUS  disk  requires  an  add  it  iona I 
line   in  order  to  work  properly,  when 
loaded  from  the  OMNIBUS  menu. 

The  program  " header . B1 "   is  designed 
to  output  to  screen,   20U0  printer  or 
a  large  printer.    It  does  this  by 
opening  Channel  5  to  the  large 
printer.    The  disk  management  system 
OMNIBUS  opens  a  Channel  3  to  the 
printer,   so  that  when  "header. B1"  is 
loaded  via  the  OMNIBUS  menu,    the  large 
printer  is  already  assigned  to  Channel 
3.    This  prevents  opening  Channel  5  to 
the  large  printer. 

One  solution  is  to  first  close  the 
channel  3  to  the  large  printer,  by 
installing  a  new  LINE  52,   as  follows: 

52     PRINT  #4;   CLOSE  #3:  REM  Needed 

when  used  with  OMNIBUS 




SfattUr  Hke  to  htfsSfi  oil  tttemtenS 
anil  tfjeir  fwM 
iter?  Qrifttni 


Sappp  art  Wper^ 
fi eto  gear. 


Sept/Oct  1991 

September  25,  1991 

Dear  Out-of-town  Members, 

This  issue  has  an  article  about  printer  driver  softwares.    This   is  the 
first  of  several  articles  which  I  hope  will  help  those  of  you  who  have  a 
printer  and  are  puzzled,   and  also  those  who  are  thinking  of  buying  a 
printer.   Comments  on  this  series  are  welcome;   we  shall    include  them  in 
later  articles. 

In  following   issues  I  shall  cover  specific  softwares;   the  first  being 
the  Tasman  drivers. 

Relative  to  this  subject  the  club  still  has  three  printer  interface 
boards  left  over  from  the  purchase  we  made  of  Peter  Hacksel's  remains.  I 
shouldn't  say  "remains".   What   it  really  amounts  to  is  three  bare  printed 
circuit  boards.    Two  of  them  are  designed  to  plug   into  the  cartridge  dock 
on  the  computer,    while  the  third  board   is  designed  to  fit  on  the  rear  of 
the  computer.    They  are  $10  each  plus  postage,   and  come  with  instruct  ions 
and  software.    You  need  to  supply  the  sockets,    chips,   and  edge  connectors. 
If  you  have  difficulty  with  getting  connectors,    I  can  find  something 
suitable  at  the  local  surplus  e I ectron  ics  outlet. 

m  Also,   with  the  next  newsletter  I  am  going  to  try  to  keep  a  pace  going, 
aimed  specifically  at  the  Larken  disk  system.    The  next   issue  will  have 
some  short  programming  subrout  ines.   We'll  see  what  follows. 

The  Hacker  newsletter,    from  the  TS  User  Group  of  Las  Vegas,  this 
month  has  a  diatribe  about  another  newsletter  editor  who  had  the  temerity 
to  suggest  that  newsletters  that  carried  little  or  no   information  about 
our  computers  should  be  drocn&ri  from  n  rii>h 

Hacker"  has  carried  little  or  no  Timex  info  for  months  now.   Seems  to  me 
there's  enough  magazines  on  the  news-stands  to  service  all  the  "other" 
computers.    That  a  T imex/S inc I  a ir  newsletter  that  carries  no  info  about 
that  computer   is  a  bit  of  a  contradiction.   Might  as  well  exchange  our 
newsletter  with  a  club  devoted  to  cat- fane i ers,   or  maybe  hockey  card 
enthus lasts.    I  note  that  only  one  member  of  that  club  actually  has  and 
uses  a  2068.   Maybe  that  explains  everything'.  I 

Our  club  has  received  the  third   issue  of  the  "FDD  Newsletter".    This  is 
a  newsletter  devoted  to  the  Portuguese  Timex  Disk  System.    It  has  4  paces 
of  interesting  editorial  material,   plus  another  4  pages  of  a  program  " 
listing  on  "Random  Access  and  Sequential  Data  File"  by  George  Gilder 
from  a  LIST  newsletter.    This  listing   is  for  use  with  systems  that  have 
the  CP/M  mode. 

The  Editor  of  this  news  I etter  is: 

Jay  S.  Siege! 

1274     49th  Street,  #821 

Brooklyn,   New  York 

1 1219-301 1 

Jay's  telephone  number   is  (718)  853-1759  evenings 

(no  Fri.   Night  -  Sat.   night  calls) 

There's  no   indication  of  what  the  newsletter  will  cost.   While   it  looks 
like  a  labour  of  love,   obviously  he  cannot  publish  it  without  some  sort 
of  funding.   Drop  him  a  line  (I  suggest  a  SASE),    or  phone  him  to  inquire 

Roc  Gowan  ( RMG  Enterpr  ises )  mentions  in  the  Sept '91  issue  of  the 
"PLOTTER"  newsletter  that  he  received  an  updated  copy  of  the  Larken 

ut if /ties  and  our  current  OMNIBUS  disk  from  me,    I  felt  he  might  as  well 
offer  these  two  programs  to  the  Timex  Larken  users  at     large,  as 
"freeware".   Well,   he  will  have  to  charge  a  bit  for  making  up  the  disks, 
of  course. 

Rod  mentions  that  he   is  going  to  be  market ing  a  new  piece  of  software 
from  VECTORWARE.  A   "s I  ideshow"  picture  viewer  for  the  2068  and  LKDOS 
systems.    I  wonder   if  it   is  similar  to  the  disk  #75  in  our  library,  which 
displays  Spectrum  game  screens,   but  could  be  used  to  display  most  any 

The  "PLOTTER  also  contains  a  listing  for  a  Chinese,  fortune  Cal  endar. 
I'll  not  be  entering  it,   but   if  anyone   is   interested  I  could  send  you  a 
copy  of  the  listing. 

Jeff  Taylor  mentions  that  the  news  I etter  did  not  come  out  quite  to 
his  satisfaction.   Seems  that  the  printer  shifted  the  copy  slightly  to  the 
side.   So  that  when  punching  holes  for  a  three-r  ing  binder,   no  copy  would 
be  lost.   But  this  caused  us  to  lose  the  even-numbered  page  numbers.  I 
think  they  may  have  been  too  close  to  the  edge.   But  theres's  more  to  it 
than  that.    The  second  cover  sheet  should  have  gone  onto  the  backside  of 
the  first  coversheet.   Because   it  didn't     the  copy  is  all  shifted  over  by 
one  page,   and  as  a  result  the  p I acement  of  some  of  the  articles  are  not 
to  Jeff's  liking.   Personally  it   looks  pretty  good.    I  suppose   it   is  like 
a  person  who  builds  his  own  home;   everyone  sees  it  as  a  marvel,   while  the 
builder  sees  only  the  defects.'! 

For  you  QL  owners,   Howard  Clase  has  another  article  on  the  QL.    It  did 
not  come  on  time  for  this  issue  but  you  can  look  forward  to  it. 

1  have  put  a  few  items  in  the  news  I etter ,   for  those  of  you  i ntersted  in 
the  TS1000.    I  have  not  tried  them  out,   simply  lifted  them  from  older 
magaz  ines,    I  think  I  took  them  from  some  early  Your  Computer  magaz  ines. 
One  time  when  I  was  on  a  visit  to  England  I  saw  an  advert  for  a  set  of 
Your  Computer  magaz  ines.    The  offer  was  near  where  I  was  staying  and  I 
arranged  to  buy  all  the  early  issues  I  did  not  have.   Came  home  with  a 
great   load  of  baggage.'! 

Anyone  that   is  waiting  for  a  tape  or  disk,   maybe  you  better  drop  me  a 
line.    I  am  just  abit  behind  on  some  of  my  correspondence,   and  need  my  arm 
jogged  a  bit.    I  seem  to  have  got   involved  in  my  Ne  i  ghbourhood  Watch 
program  a  little  too  much  for  the  good  of  the  club!! 

Short  of  news  so  I  shall  close  off  now.  Sincerely, 

George  Chambers 

Nov/Dec  1991 

November  19th,  1991 

Dear  Out-of-Town  Members, 

Another  fall  season,  and  many  of 
you  should  be  getting  back  to  your 
computers.  Well,  I  never  really  got  away 
from  mine.  I  have  been  using  it  in  many 
ways  for  my  Neighbourhood  Watch 
activities.  Letter-writing  of  course.  Then 
there* s  the  preparation  of  a  bi-.monthly 

I  have  to  confess  that  I  do  not  use 
any  Desk-Top  Publishing  program  for  it. 
Simply  too  much  trouble ! !  Give  me  the  good 
old  cut  and  paste  method.  And  sno?~pake ! ! 
I  can  see  where  I'm  at,  at  all  times  with 
this  approach.  Then  I  maintain  a  record  of 
my  38  block  captains. 

The  police  here  also  have  a 
computerised  dialing  system  at  the  police 
station.  When  the  police  have  a  message 
they  would  like  to  get  out  to  the 
community  quickly,  they  record  it,  put  it 
into  the  computer,  and  it  then  calls  every 
household  listed  in  the  system  and  gives 
this  recorded  message.  People  like  it  very 
much.  Recently  we  have  had  a  couple  of 
reports  of  child  enticement  near  the  local 
school,  and  the  dialer  was  used  to  warn 
people  to  be  on  the  look-out. 

The  police  won't  put  a  name  into  the 
dialer  without  consent,  so  we,  N.W., 
canvas  our  community  to  have  names,  phone 
numbers  placed  in  the  dialer.  I  maintain 
a  record  of  all  addresses  in  my  community, 
that  are  on  the  dialer.  So  we  can  follow 
up  on  any  updates  that  may  be  necessary, 
i.e.  people  moving. 

I  have  been  watching  out  for  a  cheap 
Commodore  "mouse".  Recently  a  store  had 
them  on  sale  for  $10.  They  usually  cost 
about  $65  or  so.  So  you  can  bet  your  life 
I  snapped  one  up. 

It  works  well.  A  fun  thing.  It  works 
well  with  the  Spectrum  graphics  programs, 
also  with  Spectrum  games.  Now,  it  works  in 
the  Kempston  Joystick  port  that  is  on  the 
Larken  Disk  system.  It  will  work  on  any 
Kempston  joystick  port,  such  as  is  common 
with  Spectrum  games. 

It  does  not  work  on  the  2068  joystick 
ports.  I  should  say,  that  I  have  not  got 
it  to  perform  when  in  the  2068  joystick 
ports.  I  think  that  is  because  the 
programs  which  have  been  written  for  the 
2068  which  use  the  joystick  ports,  respond 
to  the  STICK  command,  which  is  maybe  not 
the  same  thing.  I  shall  explore  further. 
At  the  moment  it  seems  that  the  plug  on 
the  end  of  the  mouse  is  too  bulky  to  go 
into  the  2068  port  far  enough    to  make  a 
connection.  I  did  use  an  adapter  cord,  but 
there  was  still  no  response. 

The  instruction  manual  is  a  bit 
sketchy.  It  does  have  some  m/c  examples  of 
joystick  control,  but  these  are  for  the 
chip  used  in  the  Commodore,  not  the  Z-80 
used  in  the  Sinclair  computers. 

Well,  let's  review  some  of  the  newsletters 
.  that  we  have  received  over  the  past 
several  months, 

The  PLOTTER,  from  the  Clackamas  County... 
(oops!),  the  Clackamas  Computer  Applied 
Training  Society.  I  said  oops!  because 
there  has  been  a  name  change.  This  club 
has  been  willing  to  acknowledge  that  they 
are  not  an  exclusively  Timex  club  anymore. 
They  also  cover  the  PC  scene. 
4.wWfU  this  is  understandable.  One  of 

;VefSrmfins    V.membeTs  is  Rod  Gowan,  owner 
of  RMG  Enterprises,  (arguably  THE  Timex 
dealer  of  North  America).  Rod  has  had  to 
get  into  other  computer  lines  as  well,  to 
maintain  his  business,  so  the  make-up  of 
the  Plotter  tends  to  reflect  this.  Rod 
writes  a  PC  Plotter  page  (usually  several 
pages),  however  the  newsletter  is 
definitely  Timex  oriented. 

The  Plotter  is  a  10-page  (sometimes 
b-page)  newsletter  which  is  a  must-read. 
They  have  topical  news  about  the  Timex 
scene,  including  coverage  of  the  Larken 
system.  This  club  is  considering 
assembling  and  publishing  a  compendium  of 
the  'best  of  The  Plotter'. 

In  the  Nov'91  issue  Rod  Gowan  gives  a 
3  1/2  page  restrospective  of  the  club's 
ten  year  history,  which  is  interesting 
reading.  & 

Each  issue  of  the  Plotter  has  a  'Bits 
&  Bytes  column,  which  is  always 

listingting*  There  iS  often  a  Prograa 

TUT?  r>Am*    t>TTc?      ~   ...  *  „   ..  _ 

-----  — ---  .w««4,c?(,ei  01  *ne  way  Ton 

Ohio  Microcomputer  Association.  We  have 
received  several  issues  of  this 
newsletter,  probably  related  to  the 
ComputerFest  that  was  put  on  this  past 
summer.  This  club  is  an  umbrella  group  for 
computer  enthusiasts  in  that  part  of  the 
world.  They  have  Special  interest  groups 
for  several  types  of  computers.  Timex  is 
one  of  their  SIG's.  The  newsletter  has  a 
Timex  column.  Pretty  sparce  on  Timex  info, 
mostly  mention  of  forthcoming  meetings  and 
things  of  local  interest.  * 

FDD  NEWSLETTER      A  new-on-the -scene 
newsletter  put  out  by,  well,  it's  not 
always  clear,  but  I  think  it  is  Jay  S. 
Siegal.  Not  a  club  newsletter,  Jay  is 
putting  it  out  as  a  service  to  owners  of 
the  Zebra  FDD  2068  disk-based  system 
Functionally  similar  to  the  Timex  TOS 

A  very  worthy    effort,  and  one  that  FDD 
owners  would  do  well  to  support.   Jay  has 
not  mentioned  a  subscription  price,  he 
should  have  made  some  suggestion.  He  is 
out  of  pocket  in  doing  this,  so  if  you  FDD 
owners  are  interested  in  maintaining  a 
resource,  I  suggest  you  write  him 
supportively,  i.  e,  include  some  monev! ! 

The  current  issue  (Vol.1,  No.  4)  contains 
considerable  gossip  from  the  FDD  and  CP/M 
world.  Maybe  what  would  be  of  considerable 
interest  to  Larken  system  owners  is 
inclusion  of  the  specs  (20  pages!)  for  the 

^i^0/72.disk  controller  chip  used  in  ihe 
LKD0S  system.  Ask  me  for  a  codv 
*************  yj* 

by  Mike  Felerski.  We  have  the  Vol. 2  Issue 
3  Summer  1991  issue  at  hand.  It  consists 

of  4  pages* 

This  newsletter  is  a  must  if  you  are 
into  DTP  on  the  TS2068  in  any  way    Lots  of 
interesting  stuff* 

Among  it's  contents  it  mentions  that 
Bob  Swoger  is  offering  a  Spectrum  Emulator 
kit  for  the  Larken  LKDOS  system  for 
approximately  $12US.  Needed  if  you  want  to 
use  the  WordMaster  DTP  program  that  is 
offered  by  Jack  Dohany*  Well,  the  Spectrum 
Emulator  is  also  a  must  if  you  want  to  run 
all  those  marvellous  Spectrum  games  and 
programs  I  have! 

There  is  also  a  review  of  'The 
Companion' ,  by  BytePower,  and  of  a  recent 
graphic  manipulator  program,  'PIX-.FX  • 

Again,  no  mention  of  a  suscription 

price*  But  I'll  send  you  a  copy  if  you 

want  to  take  a  look  at  it* 

CATS  NEWSLETTER,  put  out  by  the  Capitol 
Area  T/S  Users  Group    A  8  or  10  page 
newsletter,  it  comes  out  every  month, 
regularly  as  clockwork.  Lots  of  gossip  (I 
mean  in  the  nicest  sense)  about  Timex 
goings-on  around  their  part  of  the  world, 
and  at  large*  Their  Editor  is  Tim  Swenson* 
The  club  has  a  strong  orientation  to  the 
Ql,  and  their  newsletter  tends  to  reflect 

In  the  Nov' 91  issue  Peter  Hale  has  a 
chronology  of  the  OL's  in  North  America,. 

TIMELINEZ  is  a  publication  of  four  T/S 
groups  in,  well,  they  say  US*  We  seem  to 
get  this  newsletter  on  a  spotty  basis. 
Although  we  used  to  send  our  n/l  to  them 
regularly,  we  would  periodically  get  a 
notice  saying  they  were  going  to  cut  us 
off  if  we  didn't  reciprocate.  Recently  we 
received  a  copy  identified  as  their 
May-*Aug  '91  issue. 

Anyway,  this  4-, page  n/l  has  2  pages  of 
editorial  material,  one  page  of  advert, 
and  another  page  and  a  third  of  club 
information.  It  has  an  article  about 
T/SNUG,  and  an  article  titled  'Vu-File  80 
column  Printer  Control'.  But  don't  be 
fooled  by  the  title.  It  is  a  good  article, 
but  you  still  get  only  32  character  lines 
on  the  big  printer*  A  problem  that  a  m/c 
expert  might  be  able  to  solve. 

SMUG  BYTES,  the  n/l  of  the  Sinclair 

Milwaukee  Users  Group.  The  Aug* 91  issue  is 

a  terHpage  newsletter.  Two  pages  are  club 

information,  2  pages  are  adverts,  there 

are  2  1/2  pages  of  cartoons,  and  2  1/2 

pages  of  a  QL  listing.  Well,  there  is 

about  3/4  page  of  editorial  material. 

The  Sept '91  issue  is  6  pages*  Two  pages 

are  Club  information,  2  pages  are  adverts, 

a  page  of  editorial,  and  3/4  page 


by  Frank  Davis    The  Sept/Oct  issue  has  a 
good  review  of  the  Dayton  Computer/Fest » 
plus  a  2-page  section  by  Mike  Felerski. 

Topics  by  Mike  include  an  update  on  Clive 
Sinclair's  activities,  ideas  for  using 
Vu-File,  and  a  report  on  the  ISTUG  BBS, 
i.e.  a  how-tto-use-it  article*  Then  there 
are  full  page  adverts  for  BYTEPOWER, 
EMSOFT,  and  DJW  Software  (QL  stuff, 
British  firm) 


SWYM,  the  newsletter  for  the  Seattle  U.G. 
A  four  page  newsletter,  which  customarily 
is  full  of  interesting  Timex  stuff*  The 
Sept/Oct '91  issue  is  no  exception.  A 
column  entitled  'Random  Bits'  talks  about 
TSlOOO's  for  $1  and  $2i  about  the  FDD  and 
TOS  disk  systems,  an  article  about  a 
forthcoming  program  listing, and  an  article 
by  Mike  Flynn  entitled  'TOS  Revealed  by 


MILE  HIGH,  a  newsletter  from  the  Mile  High 

Chapter  of  the  T/S  Users  Group*  This  is 

the  first  copy  we  have  received  from  this 

club.  The  newsletter  is  a  single  sheet,  2 

pages  of  interesting  content*  Various  news 

items,  plus  an  article  about  experience 

with  a  2068  digitizer* 

The  HACKER,  from  the  T/S  User  Group  of  Las 
Vegas*  A  newsletter  from  a  T/S  group 
which,  from  a  TS  user  point  of  view,  is  a 
nonostarter*  It's  mast-head  states 
'dedicated  to  all  personal  computers',  but 
it  seems  as  though  unless  a  computer 
appears  at  the  COMDEX  show  it  does  not 
rate  a  mention  in  their  newsletter^  Alas.- 
no  Timex  in  their  November  issue* 

Well,  that's  about  it  in  the  Timex 
newsletter  world  for  now.  I  hope  it  was 
interesting.  We  have  a  file  for  each  of 
these  newsletters;  if  you  wish  to  see  a 
file,  just  ask  Jeff  Taylor  or  myself. 

Jay  S.  Seigal  Mf~ 
1274  49th  Street  pTVh  ^Jtou^ki^A 

Brooklyn,  NY  11219-3011    '  ^AjJ^L. 

I'm  still  a  bit  behind  in  answering 
members  requests.  I  should  be  caught  up 
shortly.  But  do  write  if  you  have  been 
waiting  for  me  for  some  time. 

Our  club  tape  and  disk  libraries  are 
under0used.  Is  nobody  looking  at  programs 
anymore?  Puzzling.  There  are  a  lot  of 
interesting  programs  on  the  ZX81  and  2068 
tapes,  that  could  be  played  with.  Once 
upon  a  time  I  created  a  separate  set  of 
tapes  to  help  me  service  the  00T  members. 
It  now  looks  as  though  we  could 
consolidate  themj  the  interest  is  so  low. 

There  is  another  instalment  of  the 
printer  driver  software  series  this  month. 
Also  there  is  a  letter  from  Steven 
Gunhouse  which  responds  to,  and  adds 
enlightenment  to  the  last  article.  That  is 
what  I  like  to  see,  some  additional  light 
on  the  subject. 

I  shall  close  off  now  with  a  wish  for  a 
Merry  Christmas  to  all. 

Sincerely,      George  Chambers