EI                            Z-NEWS 804                     14 September 1987
==============================================================================
Of  Significance.  "Big news for the brave few of you who started  this  whole
thing."   MicroPro  ships  WordStar, CP/M Edition, Release 4.   Echelon  is  a
dealer for this outstanding product.  Only 50k-byte TPA, user program  memory,
required for full functionality.  (At 49k you lose mergeprint capability,  but
all  other  features are still available including math and macros.)   Can  be
installed both as a standard CP/M program that knows user areas and as a ZCPR3
shell  that uses the environmental descriptor to know not only user areas  but
named  directories and paths, and executes all the Z-System commands from  its
"R" command.  If you don't presently own WordStar here's your chance to become
a  registered  user for special price of $195; that's $100 less  than  retail.
WordStar, it's Item 68 on our Price List.  Order today with your credit  card.
We handle just about any CP/M disk format.  Try us!
    "You, the CP/M user, are a significant part of our heritage and  success.
You represent our roots in word processing software, and without you, we would
not  be  where we are today."--Leon Williams, President  and  Chief  Executive
Officer, MicroPro International.
    Jim  Spickard, a remote/contributing editor of Profiles Magazine,  writes
Test Driving Turbo Modula-2 article in October 1987 issue.  Very  interesting,
shows  TM2 to be nearly three times faster than Turbo Pascal--don't miss  this
informative piece!
------------------------------------------------------------------------------
Z-User's  Corner.  You know, facilities of ZCPR v3.3 (we call it Z33)  aid  to
speed file operations.  To find out how much, we measured program (a  Z-System
alias  in  this case) execution time using  various  command-line  techniques:
using  command search path, declaration of file location by DU and DIR  forms,
and  by  using  forward slash, "/", flag to indicate  direct  access  to  ECP,
Extended Command Processor.  We use workhorse Ampro Bookshelf Z80 computer and
its SCSI 65-millisecond 20-megabyte hard disk.  File is public domain TPA.COM,
on  SUS diskette #7, made into an alias and placed in ALIAS.CMD as  "tpa  echo
TPA  S%>hows  memory available in bytes.;root:lx tpa".  ALIAS.CMD is  in  ROOT
directory,  A15  in  our  case.  Default path is "$$  A0  A15"  (remember,  $$
indicates current drive and current user number (area).  We are logged onto C0
for  tests.  Timing starts at pressing <cr> and stops at  command-line  prompt
return.  Our results:

        Command Line        Duration, seconds
        tpa                       5.12
        /tpa                      3.64                (Timing accuracy
        a15:cmdrun tpa            3.52                    estimated at
        root:cmdrun tpa           3.48                      0.2 second.)

We, for long time now, have used directory declaration preceding filenames  in
alias  scripts not knowing speed-up results, if any.  We now know.  About  1.5
seconds  are saved by using either / or directory, either DU or DIR  form,  in
front  of file to be found.  Additionally, using / saves  usually  much-needed
character space, as the shortest directory or drive/user declaration  requires
two spaces, three or four in most cases.
    Recently,  we used ARUNZ's recursive ability to continue  development  of
TLF, Z-News 803-4.  Recursion occurs whenever an object uses itself more  than
once,  calls  itself in a conditional loop.  Because  of  finite  command-line
buffer lengths, about 200 characters in most Z-System installations, recursive
commands quickly overflow buffer space.  Z-Team member, Jay Sage, has provided
solutions  to overflow problem with his ARUNZ- and VALIAS-tool  offerings  (as
has Rob Friefeld with his recent completion of SALIAS, combination BALIAS  and
VALIAS).
    A "$z" following alias name in line of ALIAS.CMD script file indicates to
ARUNZ, usually renamed to CMDRUN (the default name of ZCPR3's Extended Command
Processor,  the ECP), to overwrite command buffer and start at  buffer  begin-
ning.   So when called by itself, from within itself, buffer  is  flushed--now
empty--ready  to receive up to another 200 or so characters to  be  processed.
Process  can  be repeated without limit.  Jay uses a short line  to  test  the
workings:

 recurse $z zif;if in L%>oop again (y/n)? ;$0;else;                        <<
  echo T%>he loop is now complete.;fi

RECURSE is a line in ALIAS.CMD contained in CMD.LBR on SUS #12.  But it's easy
enough to type into your present CMD file and try.
    As  a final example of using "$z" to effectively extend the  command-line
buffer--aliases can be made up of two or more command lines, as needed to  get
the  job  done  in each of 200 characters or less--we  show  a  recursive  GLF
(actually  a nested alias using $z flush-buffer operator), Get  Library  Files
alias developed in Z-News 508-4.

 glf if //=$1;or nu $1;echo $0 - G%>et%< L%>ibrary%< F%>iles;              <<
  echo S%>yntax: $0 [du:]libname<cr>;else;ROOT:quiet s;/glf2 $1;fi

 glf2 $z zif;ROOT:zldir $d1$u1:$:1;ROOT:getvar glf files to extract:;      <<
  ROOT:resolve ROOT:lget $1 %glf;ROOT:quiet r

If  other than built-in help is indicated, GLF2 is called by GLF.  As it  gets
processed,  the  original GLF command-line buffer is  fully  overwritten  with
GLF2's  parsed and expanded script.  Now, spend some time, but  after  running
GLF  with  first  only a <cr> to get help, using SHOW.   Use  the  M,  Memory,
command to see your command-line buffer entry.  Buffer address is shown on  #1
menu  entry of SHOW.  Next, run GLF and actually get a file out of a  library.
Then  run  SHOW again to see the command-line buffer and how it  has  changed.
From there you get a feel for what $z is about.
    Remember, in those cases where you use Z3 utilities as tools, e.g., LGET,
you  can use wildcards (? and *) and file lists (full filenames  separated  by
commas)  as your response to prompts, to type (LT handles  wildcards,  cancels
present file and types next by you entering ^x) or extract more than one  file
at  at  time.  Also, a value (text, characters entered by you in  response  to
prompt)  placed into a variable name with GETVAR stays until changed--it's  on
disk  in  file SH.VAR.  A <cr> at the GETVAR prompt uses the old  value.   Use
SHDEFINE  or  SHVAR  to  see (and change) value  of  each  variable  you  have
previously used.

  Notice  Z33  handles IN(put) as it does ECHO, provides ability  to  pass
  lower-case  characters  to  the console (and printer  in  ECHO's  case).
  Z33's  ZIF  operator makes sure there are no pending IF  states,  either
  true  or  false, at the start of alias execution.  XIF  resets  true  IF
  states  to  zero.  And IFQ shows know many states are pending,  if  any,
  both  "trues"  and  "falses";  IFSTAT shows only  trues.   Yes,  Z33  is
  advanced!

    Have you ordered your copy of Jay's ZCPR 3.3 User's Guide yet?  Please do
it now...its usefulness is worth its $14.95 price tag.  It's one way partially
to compensate Jay for his splendid public domain work.  Thanks.

Software  Beat.  Less we forget...does anyone, and we address  especially  you
hackers  out there, have or wish to write a Backgrounder II screen driver  for
ANSI/VT100 terminals?  Such a driver would be welcomed by a growing number  of
users in BG II community.  Let's show that the old public domain spirit  still
lives--contribute a driver.

In Other Words.  "In any weather, at any hour of the day or night, I have been
anxious  to improve the nick of time, and notch it on my [walking] stick  too;
to  stand  on  the meeting of two eternities, the past and  future,  which  is
precisely  the present moment; to toe that line.  You will pardon some  obscu-
rities, for there are more secrets in my trade than in most men's, and yet not
voluntarily  kept, but inseparable from its very nature.  I would gladly  tell
all that I know about it, and never paint "No Admittance" on my gate.
    "I long ago lost a hound, a bay horse, and a turtle-dove, and am still on
their trail.  Many are the travellers I have spoken concerning them,  describ-
ing  their tracks and what calls they answered to.  I have met one or two  who
had heard the hound, and the tramp of the horse, and even seen the dove disap-
pear behind a cloud, and they seemed as anxious to recover them as if they had
lost them themselves."--from Walden, Economy chapter, by Henry David  Thoreau,
American writer and naturalist, 1817-1862.
==============================================================================
Of  Angels  and Eagles.  Much has been written about what's  wrong  with  USA:
"It's  hard to sit tall-in-the-saddle when you owe money to everyone."   Anni-
versary  of  the signing of US Constitution, September 1787,  prompts  writing
about what's right, and how we can get more Right.
    Sons  and  daughters  with liberty in their bones  put  their  lives  and
fortunes on the line to bring forth principles embodied in that document.  The
imperative "Carry that torch!" received "We will!" as a response from them and
from  us.   We  still have that vision, a vision handed down to  us  from  our
ancestors.  We still have the determination, the will to continue in that same
vain, to protect that vision, that vision just beneath the surface of  consci-
ousness--to  overcome  all obstacles in our way, bringing the fruits  of  free
thinking to free people, becoming what we and they are capable of becoming.
    This we all know.  The Liberty Tree grows through us, because of us, will
not  die  under our tender care.  Ascending world culture uses us,  with  some
reservations, as models of freedom, as the way human relations should  evolve.
Are  we  so timid to think any less of ourselves: models of  freedom?   Do  we
know...who  we are and what we are to become without such a spirit  that  con-
tinues  what  our  fore fathers began long ago.   We  will...to  overcome,  to
succeed.  It's urgent!
    We  wind  down  now  wanting about three  fingers  of  Jack  Daniels  but
Magdalena  wishes  us  to have but a sip of white  Zinfandel.   Magdalena,  as
usual, has her way with us.  See you down the lines...

Echelon, Inc.       885 North San Antonio Road         Los Altos, CA 94022 USA
Telephone: 415/948-3820    Telex: 4931646   Z-Node Central (RAS): 415/948-6656

Trademarks:  Little Board, Bookshelf, Ampro Computers; SB180, SB180FX,  GT180,
Micromint; ON!, Oneac; The SemiDisk, Deep Thought 42, SemiDisk Systems;  XLR8,
M.A.N.  Systems;  VAX,  Digital Equipment;  Macintosh,  Apple;  HD63484/64180,
Hitachi;  Z-System,  ZOS,  Z-Com, ZCPR3, ZRDOS, Z-Tools,  Zas,  Zlink,  Z-Msg,
Term3, Quick-Task, NuKey, Z80 Turbo Modula-2, Lasting-Value Software, Echelon;
CP/M,  Digital Research; Unix, AT&T; TurboROM, Advent; Graphix Toolbox,  Turbo
Pascal,  Borland  Int'l; WordStar, Newword, MicroPro Int'l;  JetFind,  Bridger
Mitchell.


                 *                                        *

    We The People of the United States, in order to form a more  perfect
    union, establish justice, insure domestic tranquillity, provide  for
    the  common  defense, promote the general welfare,  and  secure  the
    blessings  of liberty to ourselves and our posterity, do ordain  and
    establish this constitution for the United States of America.

             Preamble, Constitution of the United States, 1787.


                                Fly with Z!



                 *                                        *



Z-News  804  is  Copyright  MCMLXXXVII Echelon,  Inc.   All  Rights  Reserved.
Permission  to reprint, wholly or partially, automatically granted  if  source
credit is given to Echelon.