14 July 1986 Z-NEWS 505 Z Tips. RESOLVE and GETVAR, described in Z-News 408 and mentioned in 504, written by Dreas Nielsen (Bellevue, WA), deserve, because of their power and usefulness, more review. RESOLVE processes commands prefixed with "%" and GETVAR places shell variable names (representing a command, even multiple commands) into ROOT directory SH.VAR file. Use SHDEFINE to edit meanings of existing variables. Demonstration from your keyboard--you type-in the underlined text, computer does the rest: GETVAR run What do you wish to run? <-- you enter at command line What do you wish to run? DIR$|VFILER <-- prompt shows, you respond RESOLVE %run <-- you enter variable name --> DIR is run followed by VFILER <-- computer does this Variables are equated to (replaced by) command line text of up to 126 characters. In our example variable "run" equals running DIR followed by running VFILER. RESOLVE recognizes eight parameters: %; $D and $U for current disk and user area; $R for up to ten register values; $F, $N, $T for System Files one through four; and, $| as multiple-command separator (";" in standard command line). References to shell variables may be nested, i.e., one may be replaced by another. Seldom would you use them from command line as we have done in our example, but from turn-key ZEX, CMD, and (V)MENU command lines. Useful additional tools to assist in automating our computer system are ECHO, GET, POKE, GO, SHVAR, and SETFILE, among many others (see last paragraph of Amateur Z-User's Corner below). More information in online HLP file within file SHUTILS.LBR on Z-Nodes--look for it! -------------------------------------------------------------------- File String-Search Program Status. Z-News 303 reviewed SIFT and noted our longing for something faster to find strings of text in multiple files. Though costing only $23.00 and a value at that price, we want something faster. Commercially, we have found two additional programs. SEARCH produced by CompuMagic, P.O. Box 437, Severn, MD, 21144, 301/969- 8068--priced at only $30.00--is written in C Language using C/80, plus some assembler; file is 25k-bytes in length; SIFT, 19k-bytes. Program can search and find up to ten independent strings, simultaneously; Sift, only one. Both handle wild-card file searches, with many pattern matching search options to assist finding text not exactly character-for-character known, and do it even from multi-file databases. Found strings, along with surrounding text lines, entire paragraph, or especially marked (indexed) sections, can be sent to a file. SEARCH author, Norm Dresner, is interested in speed, but you just can- not get much of it using "C" compared to assembler. Another written-in-C-Language string search and extraction program comes from O'Neill Software, Box 26111, San Francisco, CA 94126, 415/398-2255--it goes for $49.00--is called "Electra-Find". And they offer unlimited-use site licenses for $299.00. Program is 40k-bytes in length, written in BDS-C, indicating lack-of-power of C Language in producing compact code. Author, Dennis O'Neill, did what he could, and did a super job, with extensive, professional features offered. Code length notwithstanding, if you know you have a certain set of text on your disk system but don't know in which file it is in, one of these programs is much faster than using your editor, file-by-file, for finding it. All three search programs, especially Electra-Find, have more versatility than Šwe normally need; but if you are a writer, lawyer, or researcher dealing with long articles, book chapters, essays, reports, tables, briefs, and contracts, you could easily require their exceptional string extraction powers. Either SEARCH or Electa-Find essentially eliminates need for free-form indexing database programs (FYI, etc.), especially if using fast Winchester or RAMdisk. Simple table comparing SIFT, SEARCH, and Electra-Find on next page. A two-file benchmark search, approximately 32k-characters total, for 15- character strings placed at end of each text file takes from 31 to 40 seconds. Find Strings Online Boolean Size (in seconds) Program Rating Price Help Search Bytes Records 1st 2nd SIFT v2.2b good $23.00 no no 19k 148 16 37 SEARCH v1.22 good $30.00 yes yes 25k 196 17 40 FINDS v1.0 n/a $39.95 yes no n/a n/a n/a n/a Electa-Find 3.2a best $49.00 yes yes 39k 310 14 31 Tests were performed using an Ampro Model 1220 Bookshelf Z80 computer, one with relatively quick 20-megabyte Seagate 225N hard disk. Richard Conn, ZCPR3 author, is writing a Z-Tooltm in Assembly Language using SYSLIB, Z3LIB, and VLIB routines. (How these routines speed task of code writing!) We call tool FINDS, Find String, complementing FINDF, Find File. When finished, we compare search and find speed with C Language program equivalents, replace n/a's (not available) in table. We plan to initially offer FindS for $39.95, plus $4.00 S&H, continental USA. Amateur Z-User's Corner. We show our C Language development VFILER CMD file. Menu was used (and developed) when we were doing benchmarks of Z-News 409 and 501. Commands 2, 3, and 4 cover C-80, BDS-C, and Aztec CII compilers, each using PCC to check for balanced structure braces, "{ }", and comment, "/* */", symbols. TITLE: C Language CMD Macro File %d%u:;get 100 ws.com;poke 392 ff;go %f 1 %d%u:;get 100 nw.com;poke 74e ff;poke 787 ff;go %f 2 if ex %n.c;%d%u:;era %n.bak;pcc %f;c %n;as %n;era %n.asm;else; << sak /p3 not c file type;fi 3 if ex %n.c;%d%u:;era %n.bak;pcc %f;cc %f;clink %n -ns;era %n.crl; << else;sak /p3 not c file type;fi 4 if ex %n.c;%d%u:;era %n.bak;pcc %f;czii -t %f;as %n.asm; << ln %n.o %d:z80math.lib %d:z80libc.lib;era %n.asm;era %n.o;else; << sak /p3 not c file type;fi 5 %d%u:;era %n.bak;BASE:lzed %$;c %n;sak /p7 Errors, cancel (^C)?; << as %n;era %n.asm 6 xdir %d%u:*.* ogoh'Options (u=all areas, p=to printer, d=disk, << =default): ' 7 MAIL:;ROOT:menu t3.mnu 8 ROOT:vtype %$ 9 if ex %d%u:%n.lbr;%d%u:;nulu -o %n -f;else;ROOT:sak /p3 library << file not found;fi 0 %d%u:;BASE:lzed %$ # >>> C LANGUAGE PROGRAM DEVELOPMENT <<< ================================================================== 1 - EDIT Pointer File (non-document mode) (Newword) - 1 Š Compile/Assemble/Link/Load Using: 2 - Software Toolworks C/80 v3.0 (C/AS) - 2 3 - BD Systems BDS-C v1.5a (CC/CLINK) - 3 4 - Manx Aztec CII v1.06 (CZII/AS/LN) - 4 5 - C Language Program Development (C/80 with LZED) - 5 6 - Directory of Files on Current Disk (XDIR) - 6 7 - Telecommunicate via Modem (from MAIL directory) (Term3) - 7 8 - View Pointer File with Forward/Backward Scroll (VTYPE) - 8 9 - Enter Pointer File Library (LBR) (NULU) - 9 0 - EDIT Pointer File using LZED (LZED) - 0 ================================================================== Normally for "C" we use Newword, because of its ability to automatically determine file type and respond accordingly. Automatic tab-indent after entering carriage return at line end for C, PAS, BAS, and other structured, high-level-language conventions. Of course non-document mode is used for this feature. Here, document-mode justification and line wrapping is not desired. Such mode sets character-byte bit 7 high (a "one" or "true") for some operations. We don't want that! We use FILTW, Keith Peterson and Irv Hoff's public domain program, to remove automatically formatting control codes, high- bit 7s (WM and LZED automatically zero these bits), that may have been inadvertently placed in a file. LZED (Little Z-Editor, ZED comes from Zivio soon) and NW (Newword) are our editors, but you can change menu to handle your choices. LZED is quick for program changes, if source fits into memory. Otherwise, use WM (WordMaster); it is disk based. Either LZED or WM is great for interactive debugging process as used in command 5 above. Using "if ex %n.c" instead of "if %t=c" as leading command in 2, 3, 4, and 9 has advantages plus two side-effects. Incidentally, "if" is from resident FCP, fast; "if12", from Version 1.2 of transient IF.COM, slower. Latter recognizes wild cards in parameters, e.g., %t=a?m would be a match for any center character of the file type. Also, FCP IF must have been assembled with "fcb" option set TRUE, not always the case. Now side-effects. Pointing to a file name that exists on current directory results in compiling it if file type of C also exists. No need to actually point to file to be compiled, just to one with same name, not type, a disconcerting feature. Not the kind of thing we think of when automation is thought of. But... Second, an operator error is automatically compensated for, certainly fostering less than explicit use of a thinking machine. We use it here to "get the feel." Who knows, "if ex" could be best. Time is our friend. We locate C/80, BDS-C, and Aztec in three separate directories, each with its own support files. Makes for less clutter and files in a directory are directly applicable to a specific compiler. You should customize above CMD menu, creating as-necessary menus, and place each in its appropriate, respective directory. Since only up-to-ten commands are available from each CMD menu (but as many CMDs may exist as there are number of directories on your disk system) display can use one or more screen lines per command. Style presented here is a result of trying many forms. We think it pleasing to the eye. Let's see your CMD creations--send them in! Where to go for more information? Z-System User's Guide, pages 6-16 thru 6-18, and ZCPR3: The Manual, pages 153 to 160, cover VFILER usage and CMD menu Šdevelopment. Some of you may have missed our alias called CAT, the one used to access Echelon Discat program Master Catalog. if nul $1;CAT:;menu discat.mnu;else;CAT:catscan $*;fi Here's how it works: if you enter CAT on command line, you automatically enter Discat Catalog menu. Without trailing parameter, the $1, next commands execute, i.e., log into CAT directory, followed by running MENU. MENU finds script file DISCAT.MNU in default directory. But if you enter, say CAT *.doc, now there is a trailing parameter ($* represents entire command tail, for processing from $1), so module CATSCAN searches Master Catalog (also in CAT directory) for all "doc" files on all disks in catalog. CAT *.doc doc.* causes CATSCAN to search for all "doc" files of any name on disks named "doc" of any disk type. Such versatility is a feature of Discat catalog system. Nonetheless, despite all the above, for us to consider Z-System and its utilities only as tools, as a means to an end, is to miss magic power of learning, joy of accomplishment, of having perpetual fun (fulfillment). Change of pace. Resident Command Packages contain many functions, some soon forgotten. The help "H" command--case not important--entered at command line prompt (even from within shells VFILER, MENU, and VMENU) prints to screen available command names. CLS, CP, DIR, ECHO, ERA, LIST, MU, NOTE, P, POKE, PROT, R, REG, REN, TST, TYPE, WHL, WHLQ, and BYE are the ones implemented, 19 thus far. But don't forget GET, GO, and JUMP resident in the CCP. Scan file SYSRCP13.LIB for a complete description (most are detailed in ZCPR3: The Manual, but not all) except MU (Memory Utility) and BYE. File DEBUGRCP.ASM indicates that only MU command is available in DEBUG.RCP. ZBYE information is in file ZBYE.LBR on many Z-Nodes, but for sure on Node #42. Combine these 22 with 80 or so transient commands (utilities) and you have a powerful operating system. Add Term3's 29 commands and you have global system (operating system integrated with communications system through pre-defined, local message buffer areas) the likes of which world presently only dreams of. And it's 8- bit! From Our Mail Box. " ...thanks much for your quick response to my request for Quick-Task information. Having passed the demo programs on to the programming staff, they fell in love with it right away. Needless to say, we placed a order immediately and received the code today [06/03/86]. When I left work at 6:30pm they were still pouring over it with their eyes lit right up. One of the fellows said it was like--no, really much better--than a similar system he had used from .... and it cost about $39,750.00 less. Looks like you have another winner. Please use us as reference if you need to; but, after people see the demo you most likely won't have to. Regards, Rea Williams, VP Engineering, Computer Power Systems Corp., 213/515-6566." Thanks, Mr. Williams, for the vote of confidence. "Cache memory carried to an extreme becomes RAMdisk."--Gary Feierbach, President, Inner Access Corporation, Belmont, CA "I have to agree with Ted Silveira (Profiles, Dec. 1985): 'The weak point is documentation... it is short on tutorials and examples to help a typical computer user do productive things.' The friendliest help I've found has been the command string examples in above article (page 27)," writes Philip Bishop from Narragansett, RI. Documentation has been a problem, Philip. But with publication of Z-System User's Guide, Item 88 on Price List, joining long- Šavailable ZCPR3: The Manual, we feel we are over that hurdle. Front page of Z-News 503 asked what more should be done; 504 and present newsletter has gone into much menu creation detail. Well? Lunch Break. Hacker, whiz kid; these are simply labels applied to engineering and technical types. Engineering is not about operating engines? Sure it is! Computers are engines. What's an engine? Something that makes things go, to effect a purpose. Think--any user of a computer is an engineer. Technical (technique, base word) regards how to do something, usually something physical. "Technology" is means employed to provide objects necessary for human sustenance and comfort. Words, Oh! Words...we notice... We notice struggle that programmers and software-interface designers have indicating how to enter a character from console keyboard. Enter, Touch, Hit, Press, Strike are all used as verb conventions by various programs. We have chosen "Strike" as ZCPR3 and Z-System convention. After we looked-up each verb in an unabridged dictionary, and started thinking kindly about keys and keyboards, our opinion is "Strike (gently) Any Key" (SAK) is best. So be it! Philips/Signetics, Thomson-Mostek, now Italian SGS/Zilog? KAMAS, "OutThink" have competition. "Thoughtline" from Spite Software, 4875 SW Nineteenth Drive, Portland, OR 97201, 800/237-9111 to order, 503/245- 8102 to ask questions. At $69.95, Thoughtline does things an outline processor should do and does them with familiar WordStar/Newword compatibilities--same editor cursor and file manipulation commands. Text files are moved into Thoughtline and automatically converted into outline format. "You move from Newword to Thoughtline without missing a beat or losing a thought." CP/M-80 compatible software continues to get better! Common Cause. We have on good authority, better than hearing it down-the- grape-vine, a "Lotus 123-like" spreadsheet program and a full-featured C compiler are about to be released. No big deal, you say! But good news is these are Z-System compatible and take advantage of HD64180 512k-byte memory space. Compiler due out early July, spreadsheet in late September. Both have been in-the-works for over a year. Can we wait? We'll let you know details, how to get product, as soon as they firm. Available soon, add-on board for Tandy TRS-80 computers uses Hitachi HD64180 superchip. Developed and produced by M.A.N. Systems, 323 N. 3rd, Medford OK 73759, 405/395-3849. Called TR-XL180, offered for $325.00, and works with all Model 4s. It is an easy auto-install and has 390k-byte RAMdisk. Bravo! Board puts Tandy machines into Z-System realm of high- performance computing. ==================================================================== Of Cabbages and Kings. Certainly we have the power to completely destroy our heritage, our planet; the question is: do we have the wisdom to preserve both? That California has much to offer deep-livers/lovers of life, from scenic splendor, diverse climate to gracious dining (with vintage Zinfandel), intellectual tolerance and diversity, needs no elaboration or support from here--it's simply a fact. But someday, when the big shaker hits and the state slowly slides into chilly Pacific water, another must surely take its place. Here, there is no contest, at least in our minds: it's Virginia. Virginia has its mountains, seashores, cities, small towns, great food and drink, plus nearly unrivaled scenery. Virginia is an old state, dating from 1607, contributing perhaps more to our history than any other. Gen'l Robert E. Lee came from there. This gentleman so loved his home state, though educated and stationed in Yankee land, fought for the South during our civil war. Others from there, George Washington, Patrick Henry, Thomas Jefferson, ŠJames Madison. Yorktown, Williamsburg, Alexandria, Jamestown, Appomattox, places to bring ripples down our spines...and now the Pentagon and CIA head- quarters are stationed there. Point is: we love California and Virginia. We love north and south, east and west, UC Berkeley and Stanford. Will our children and grandchildren be able to do as we have done--love contrasts! Or will there be only sameness? Do we have wisdom enough to preserve diversity, both states, east and west? Do we! Another Side. We Americans have a secret weapon (other than our abundant natural resources) seldom discussed. It's our ability to say "Oops, I goofed! Tipped over another glass of Zinfandel." Japanese do not gracefully react to failure or accident, part of their face-saving religious beliefs. But we were born of trial and error, came out of repression and failure, to take risk, to be free enough to fail and hit bottom. What an advantage! Japanese have one other major barrier before being leaders of our race: their attitude towards women, which is generations behind ours. Their culture makes it hard to change, far harder than it has been for us. Their lack of free expression is reason they have few innovative ideas...generations of taking the imaginative ideas of others and improving the implementation by paying attention to details, details so important to product quality. Once they are forced to develop ideas, become free thinkers on their own, do the basic research, then their competitive advantages (mainly as result of, as with south Koreans, low standard of living) look neither very attractive nor long-term promising. Remember, they have learned everything they know, about business, about capitalism, by observing us. Now, their turn to become innovative, to act, not simply react, but fully on their own ground. Can they do it? Peace. See you down the lines... Echelon, Inc. 885 N. San Antonio Road Los Altos, CA 94022 USA Telephone: 415/948-3820 Z-Node Central (RAS): 415/489-9005 Trademarks: Bookshelf, Ampro; SB180, Micromint; PRO-180, MDC-1, Magnum Digital; XL-M180, Intelligent Computer Designs; ON!, ONFILE, Oneac; DT42, Deep Thought 42, The SemiDisk, SemiDisk Systems; TRS-80, Tandy; HD64180, Hitachi; Z-System, ZCPR3, ZRDOS, Z-Tool, Z-Tools, Zas, Zlink, Z-Msg, Term3, Quick-Task, Lasting-Value Software, Echelon; CP/M, Digital Research; LZED, ZED, Zivio; V- Spell, CompuView; WordMaster, WordStar, MicroPro; Newword, Newstar; MOSART, Xecom; C/80, Software Toolworks; BDS-C, BD Software; Aztec CII, Manx; SIFT, Siftsoft; SEARCH, CompuMagic; Electra-Find, O'Neill Software. eagle here * Z sets you FREE! Š * * Z-News 505 is Copyright 1986 Echelon, Inc. All Rights Reserved. Permission to reprint, wholly or partially, automatically granted if source credit is given to Echelon.