? GEN-TRI A Review by Jerry Coffey - May 1991 For several months, I have been using beta versions of Wayne Stith's comprehensive communications, disk management and word processing package called GEN-TRI (pronounced "gentry"). Wayne is the author of TRIAD, a similar combination package for the TI99/4A. GEN-TRI is a much expanded package on the same theme that takes advantage of the features on the Myarc GENEVE. As Assistant System Manager of Delphi's TI NET, I have most of the Sysop duties including both message traffic and management of the download libraries. I have been using GEN-TRI for all of these functions as it has developed. After hundreds of hours pushing the program to its limits, I can tell you GEN-TRI is a Sysop's dream and an extraordinary tool for keeping in touch with the TI world. First a few general comments. This is a very large program -- it consumes almost all of the 200k reserved for TI99/4A emulation by the TIMODE command on the 9640. It runs in GPL mode under MDOS version 1.14 (used by the author) or version 1.14F (used by this reviewer). Wayne chose this approach because the GPL environment has been stable for a long time -- a necessity for developing such a complex package. All the operating modules reside simultaneously in memory to assure fast switching between functions. This means that a lot of code has to be loaded when the program is initially booted up. A large Horizon ramdisk or a hard disk is needed for fast loading, though I have tweaked a floppy to do the job in about 30 seconds. Even loading from floppy is less of an inconvenience than it would appear. This is because you can do a lot of things without leaving the program, and many others without reloading from disk by using the RE-ENTER program supplied with the package (more about this later). Terminal Emulator The first module to be completed was the terminal emulator (TE). It operates in simple terminal mode, a split-screen conference mode and ADM3A emulation mode. The TE has 20 configuration options as well as an informative status line that reports space remaining in the buffer, Xon/Xoff status (handy when a noise glitch happens to send an Xoff), elapsed time, and the communications parameters in use. Intelligent (selectable) use of APPEND mode gives all the logging options anyone could want, including 25k blocks with auto-incrementing filenames or a single long log. You can also save or filter out control characters in the log you create and review the contents of the log buffer up to the time you dump it to disk (if you need to see something already logged to disk, go to the file transfer screen with F5, select D for disk and a drive number and you can iew the contents of the file on disk). For file transfers, GEN-TRI supports the usual ASCII and Xmodem protocols, but also 1K-xmodem (used on GEnie), CISB (used on Compuserve), and a full-blown Ymodem-Batch protocol (available for single files on Compuserve and for batch transfers on Delphi). The more sophisticated protocols (particularly Ymodem) are significantly faster than xmodem, with efficiencies over packet-switching networks of 60-70% on Genie and Delphi, and 85-90% on Compuserve (measured at 2400 bps). Since the second beta version, all protocols have functioned flawlessly on the three commercial networks and various BBSs, with none of the problems that have turned up with other TEs. Wayne has taken some pains to accommodate some of the quirks of GEnie as well as the standard protocols of Compuserve (CIS) and Delphi. In my experience Ymodem is the best choice for CIS and Delphi, and 1K-xmodem is good for GEnie. CISB is equally fast on CIS but is not as consistent as Ymodem. Delphi fully supports batch mode uploads in Ymodem, so GEN-TRI saves me lot of hassle with the housekeeping chores on TI NET. This also makes it easy to take advantage the "group" structure available on Delphi -- just set up the group description and upload the files in batches (up to five at a time). The trendy choice of protocols these days is Zmodem, but after reading Chuck Forsberg's Zmodem specifications, I tend to agree with Wayne and others who still regard Ymodem (also a Forsberg creation) as the best compromise in the world of noisy lines and imperfect packet-switching networks. Zmodem has advantages at very high transfer speeds, but Ymodem works well at 2400 bps in adverse conditions and gets efficiencies of 90-98 percent under good conditions. Zmodem support software is newer and is still being refined on the commercial networks. Thus Zmodem implementations may end up better tuned to current network performance, particularly on Delphi and GEnie where there is still significant room for improvement. Wayne has anticipated this potential by providing a hook for adding new modules to GEN-TRI to support other protocols. File transfers are managed from a setup screen that includes a disk cataloger with file marking and viewing capability and pop-up windows to select such things as communication parameters, protocol and sequences of file names for batch uploads. The setup screen also manages a 100K+ buffer (quasi Ramdisk) for sending and receiving files. Once a binary transfer has begun, a second screen tracks progress in sectors, 128-byte records, and total bytes. It also displays two real-time measures of transfer rate. There is a cosmetic bug that shows up in the transfer rate display -- in rare instances the displayed rates go to zero and stay there. One caution about the download buffer -- it will accept duplicate filenames which can cause problems. If you get a bad download to the buffer, save ("flush") the other files in the buffer to disk and clear the buffer before you try it again with the same filename. Some of the most powerful features of the TE module are found in its terminal modes. The conference mode is not unique but it works very well. In this mode, you can type messages into a window at the bottom of the screen and they are sent when you press . This avoids having incoming messages inserted between the keystrokes of the message that you are composing. It also retains the last five lines you have typed after they may have scrolled off the main screen. Another feature I use frequently is the "macro" function. You can create up to ten macros that can be selected from the menu and sent with a carriage return. Each macro can be anything from a one-line command to a script file saved on disk. These script files are the most powerful feature of the TE module. Wayne has developed a compiled language that is like a subset of Extended Basic for automating communications. The script processor can execute either the complied code or compile the readable source code and execute it on the fly. (The compiled version runs quicker and is more compact on disk.) Scripts can be used to create autodialer/logon menus for literally hundreds of BBSs that can be invoked with a few keystrokes. Wayne has also included sample scripts to show how this is done. Disk Manager The second module finished was the disk manager (DM). The FILE operations function of this module has a full-screen (80 column) editor for entering file commands and many novel commands that operate on different types of files. The 80 column directory screen shows up to 32 files per page and supports a handy 80 column viewer for any DV80 files on the disk selected. The DISK operations menu supports sector copies, formatting (40 track only), and file sweeping (zeroing out the bitmap and the sector one pointers to the file headers). The third function on the menu of disk operations is a very effective (and easy to use) routine to RECOVER deleted files. It will search for file names supplied by the user or scan the entire disk for potential file names. If the file is intact it will rebuild the bitmap entries and directory pointer. The philosophy of this module is conservative to assure the integrity of files and reduce errors that cannot be repaired -- files must be unprotected in a separate pass before they can be deleted, and deletions can be recovered by returning immediately to the recover function on the DM menu. You can also move between the TE and the DM without losing data in the download buffer (which has its own file copy function). In addition to the full disk manager, there is a directory command in other modules of GEN-TRI that permits viewing and file tagging. Now that GEN-TRI has been released, I can tell you about one undocumented function in the DM that was added by the author for debugging purposes. The disk management screen shows four choices, but if you press "5", you bring up a simple sector viewer. This can be useful for a quick look at a problem to decide if a full-blown sector editor is needed. If you invoked GEN-TRI from the E/A module in GPL, you can back out to E/A, run another program (such as a sector editor), and usually re-enter GEN-TRI without reloading it. Word Processor The third and most complex module is the word processor (WP). This is the most ambitious part of the package and unlike any of the TI Writer clones. There was a conscious attempt to use many of the TIW keystroke commands for similar functions in the WP, but there are many new commands and capabilities that do not exist in TIW. If you press ALT-N in the editor a window is displayed showing about 40 keystroke commands. This was added in beta testing because I (and perhaps others) couldn't remember all the commands in the documentation. Some of these commands such as "mark mode" and "global" bring up additional menus. There are over 40 (forty!) keystroke commands available for composing and editing text plus a separate "operations" menu. One of the features added after testing was a help screen that displays these commands in a large window when you press ALT-N. You will really appreciate this as you learn the many new features of this word processor. When WP is invoked from the main GEN-TRI menu, a lot of memory must be cleared out for the code and the text buffer. If there are files in the TE's download buffer, a warning window comes up allowing you to return to the TE and save them before proceeding. Once you are in the Word Processor, you will immediately notice some major differences from TI Writer. If you check the operations menu you will find you are in document #1 OF NINE! If you have some notes you are writing from, you can load them into another document and refer to them when needed. I also used this capability to set up my own help file (before Wayne added the help screen) -- just loaded it into doc #9 and referred to it when I couldn't recall a command. The next thing you will notice is NO LINE NUMBERS -- block moves, copies, and deletes are all done in a highlight-the-text "mark" mode. Wayne gave a lot of time and attention to the user interface here (which will be familiar to users of Word Perfect and similar programs.) I got several opportunities as the work progressed to talk with Wayne about features we liked and didn't like in these other programs. Your next surprise will come when you decide to insert some text in word wrap mode -- the text that follows your insertion moves ahead and wraps down to the next lines -- NO MORE SPLIT LINES. You still may have to do a manual reformat (F2) to keep things neat after deletions. You will also have to become accustomed to the way word wrap works in mark mode -- anything you don't want reformatted after a block delete or move should be separated by a carriage return or a blank line. Try toggling into Fixed mode before block operations until you get some practice with it. There is also a bug in word wrap mode that Wayne is still chasing -- sometimes a reformat will not stop at a blank line. Until this is fixed, I recommend inserting carriage returns or blank lines (F8) to keep your reformat under control. Another bug you may see in version 1.0 is a rare spillover of text to the 25th line of the screen. Text normally scrolls to keep within the top 24 lines on the screen. If some text gets caught on line 25, just press F9 and then to bring the stray back into the fold. Since there are no line numbers, you must use marked moves to combine blocks of text. Though nine separate documents can reside in memory, their total size is about the same as the buffer in MYWORD (about twice the size of TI Writer). The GEN-TRI buffer appears to be larger than this, but the storage method Wayne uses to get fast screen handling uses more memory for a given amount of text. The available memory must also provide a temporary buffer for blocks to be moved. If a move runs out of memory, some of the text may be lost (and there is no TEXT BUFFER FULL message to tell you that you blew it). I have found some rules of thumb to avoid problems: 1) don't try to load more than about 210 sectors into the buffer at one time; 2) keep it to about 160 sectors if you will need to do large block moves; 3) check the bytes available on the status line and do not mark more than this for a move (figure about 2000 bytes per screen of text); 4) mark and move text in several smaller blocks when space is limited. To keep to these rules, you may need to split up some disk files into smaller parcels -- using a program like Tom Freemans SPLITJOIN or GEN-TRI itself (load a file, move half of it to a second document, then write the halves back to disk separately). Another innovation is the way GEN-TRI handles printers. This is a critical feature of any word processor and often involves a large investment in writing subsidiary programs called printer drivers (the printer driver library for Word Perfect, for example, takes up about 3 megabytes even with code sharing.) The purpose of these drivers is to make the word processor work the same way with any supported printer. I always found this part of TI Writer cumbersome -- transliteration, required spaces, all those dot commands, and a separate program (the Formatter) to interpret it all. In GEN-TRI's WP, Wayne follows the WYSIWYG (what you see is what you get) philosophy and has incorporated an ingenious system of "macros" that, in effect, allows each user to create his own printer driver. Macros for common features (such as bold, underline, italic, elite, pica, NLQ) have been standardized and there is still room for the user to add macros of his own. The standard macros (just like printer drivers) permit imbedded format or printer-control codes in a GEN-TRI file to be completely portable between printers. And the codes themselves are invisible until you enter CNTRL-U mode to add or change macros. Since macros can produce lines longer than 80 bytes, Wayne has devised a special DV 254 format for saving such files -- that way you wont confuse them with TI Writer-style DV80 files. But the WP operations menu also has some other pleasant surprises besides the DV 254 ave operation. For those who need to communicate with other computers that use the common "DOS" or ascii format, your document can be

rinted to a disk as a DF 128 file with a linefeed and carriage return terminating each line, and a ^Z to mark the end of the file. Files in this format can be transferred in binary form (e.g. Xmodem) and then downloaded in readable form by most other computers. This is also compatible with the Xmodem "text" option for uploading to some systems (e.g., Delphi and many BBSs) -- handy if you need to upload text over a noisy line. This is the same format you see when an ascii file is downloaded with Xmodem or when you use DV80-DF128 conversion programs. Actually, the

rint operations have a lot of options (or switches), though not all combinations are useful. The eneric export switch suppresses all formatting and special characters except carriage returns (similar to TI Writer's "clean printfile" option.) The eed CRLF switch adds the line termination needed by most other computers. The oggle file type switch chooses DV 80 or DV 128 disk format. Selecting the

rint operation then allows you to choose either the document in the buffer selected (1 through 9) or the original disk file whose name appears on the Input line. And finally you are given the choice of target devices -- screen, disk, or printer. Overall, the operation of the WP is smooth, natural, fast, and efficient. In fact that is a good description of the whole GEN-TRI package. Each of the modules is well thought out, easy to use, and well integrated into the whole. I spent several thousand dollars of my time testing the package (assuming anyone would actually pay me for this) and I consider a copy of the product to be more than adequate payment. As with any new program, there are still a few loose ends to be tied up. The very fast spelling checker is being revised to avoid a slowdown under certain searches and will be shipped separately. Wayne is also working on an update to fix the bugs I mentioned above. But as shipped it is both the best TE and the best word processor available in the TI world and the addition of the disk manager makes it the best integrated and most productive package I have ever used on any computer. GEN-TRI is distributed by JP Software -- $50. [This review was written, edited, filed, and uploaded using GEN-TRI only] Jerry Coffey [JERRYC] ------ TI NET Delphi [74716,3525] -- TIFORUM Compuserve [user # 5] ---- BBBB 292-1482 - (301) or (202) PCP [JCOFFEY] ----- TI RT GEnie Download complete. Turn off Capture File.