P.O. Box 310 West 1022 9th Avenue
Gig Harbor, WA 98335 Spokane, WA 99204
TOLL FREE 1-800-547-5995 Ext 112
Snapp enhancements for
Marvin Mallon, Canoga Park, California
As a professional TRS-80 programmer I am always on the alert for any software tools that will increase my work efficiency. So it was that I quickly embraced Apparat's NEWDOS for the Model I. As those of you who are also using this remarkable DOS know, it is a significant improvement.
It was with considerable dejection, therefore, that I discovered that the Model II TRSDOS (version 1.2) was not what I had grown accustomed to. Even TRSDOS 2.0, while introducing some nice features, still fell short of what I thought a useful DOS should be.
The natural assumption was that Apparat would soon provide a NEWDOS for the Model II, but for reasons not known to me, they have yet to announce an interest in pursuing that. So it was with great delight (and some trepidation) that I read the advertisement from Snapp, Incorporated (a name unfamiliar to me) proclaiming the availability of six enhancement modules for Model II TRSDOS. It sounded great, but none of my colleagues had heard of this Cincinnati software firm, much less used their utilities.
Out of desperation I abandoned my cardinal rule about buying software sight-unseen and sent off for a set of all six. I am pleased to report that I have since received ten times their cost in value.
Their eight-inch diskette contains three files: XBPATCH, XBCOPY and DOSFIX. XBPATCH modifies Radio Shack's (Microsoft) BASIC so that it will intercept your keystrokes and jump to Snapp's enhancements. XBCOPY is the actual set of patches that provide the improvements which I will elaborate on in a moment. DOSFIX has nothing to do with either of the other two and is included as a free inducement. It is quite valuable in itself, and is discussed first.
DOSFIX is a set of 13 patches which provide fixes or cosmetic improvement to TRSDOS 2.0. If you are still using 1.2 you will have to obtain version 2.0 for $24.95 from Radio Shack, or Snapp will provide their disk for the "standard" 1.2 DOS which comes with the Model II. This makes little sense because 2.0 is a marked improvement over 1.2.
DOSFIX 1 is a patch which inhibits FORMAT from trying to format a marginal track ten times.
Snapp's argument is that FORMAT is the time to discover (and discard) diskettes whose surface quality is dubious.
DOSFIX 2 allows the password (KTA2) to get you into the operating systems. It seems someone inadvertently "shut the door" somewhere in the DOS and this patch unlocks it.
The third fix is a set of patches "from Ft. Worth and offered without comment", by Snapp. The fourth patch is an adjustment which permits TRSDOS to be overlayed. It is required for some of Snapp's other software but mandatory for the XBASIC package.
The fifth fix is an esoteric fix to the DUMP command and will be most useful to machine language programmers. I'm not one, but used it anyway thinking that, like chicken soup for a cold, it couldn't hurt. The sixth fix is like number five and works with DEBUG.
Number seven interested me. If you choose to use it (all of these fixes are optional) then the BREAK key is permanently disabled and moved to the control (CTL) 6 combination. I agonized over implementing this but decided to do so on behalf of my clients. The software I create (or modify) is often run by inexperienced office help and it seems logical to protect them against problems caused by an inadvertent program interruption.
The eighth fix is a controversial modification which I also hesitated to employ. It seems TRSDOS 2.0 had added a verify detect feature which checks the disks each time an input or output is performed to prevent destruction of the directory if a diskette has been swapped and a SYSTEM "I" has not been issued. It's a great idea but costs so much in access time that 2.0 runs detectably slower than 1.2. Snapp's fix gets you back to the faster, though riskier, mode. Just be sure to initialize when appropriate and you will be OK. I generally take care of this from within a program and thus am not concerned with the problem.
DOSFIX 9 is one I experimented with and chose to ignore. This patch reaches into the DOS and changes the drive's stepping rate from 20 to 12 milliseconds. While it works fine and offers some improvement in program speed, the patch makes my drives sound like a broken pin-ball machine. Rather than answer my clients' questions about the distrubing (but harmless) noise, I left it out.
The tenth patch is a delight. It eliminates the Tandy logo display which comes on with boot-up. I don't think my clients miss it and it leaves the door open to displaying my personal insignia if I ever get around to translating the one I did for the Model I.
DOSFIX 11 and 12 are mutually exclusive. Eleven eliminates the TIME question at boot-up and number twelve rids the DOS of both DATE and TIME questions. I opted for eleven, as I need the date stored away for many programs.
The highly touted 80-key type-ahead which was added to TRSDOS 2.0 doesn't function properly in BASIC. At the cost of the loss of the HOLD key function, it does after installation of fix number thirteen. Since type-ahead can appreciably speed up data entry, I chose to plug it in.
Six new functions are added to BASIC after performing the XBPATCH and XBCOPY routines from Snapp's instructions. The manual is handy, well-written and 21 pages long.
XBASIC is nothing more than one stroke general keyboard functions. "K" supplants KILL and "M" does nicely for MERGE along with a handful of others. Nice, but not valuable. The single stroke "N" for NEW concerns me with its potentially disastrous results. An un-NEW ("U") command, however, restores the unintentially lost program.
The truly useful portion of this module is the ability to use the cursor control keys (arrows) to list a program line-by-line. This was a feature ofNEWDOS (Model I) which I welcomed warmly for my Model II.
XREF is the most useful tool which a BASIC programmer could desire. In essence, you can get a partial or complete dump to the screen or printer of all variables and line number references in a program. This serves as an indispensable map which tells, for example, that the variable X is referred to in lines 1500, 1650 and 2000. Program debugging is made enormously easier with such a guide at hand. When modifying someone else's code, it becomes even more valuable.
XFIND goes beyond Apparat's XREF and dumps out all keyword and string references. One can see, for example, all the program lines which contain an LPRINT statement. This is also true for any other BASIC statement, function, command or operator. Imbedded literals ("Press ENTER when ready") are alphabetically listed with their accompanying line references. Fantastic!
XDUMP rounds out your program dissection by listing all named variables and their value at the time the program was halted. Even an old familiar program will surprise you when you pull an XDUMP and see the current status of the variables. A real eye-opener and invaluable in the debugging process.
XRENUM may mean more to you than to me. I learned long ago not to renumber a program under development unless absolutely necessary. I lose all continuity from one version to the next. Nonetheless, this utility, on a limited basis, can be useful. I recently transplanted a lengthy subroutine but had to renumber it prior to merging it with the new program to prevent conflict of line numbers. On other occasions XRENUM was invoked (with one of its options) to scan a program, not to change it, and report on undefined line numbers and similar errors. It works beautifully in this mode and can spare you a lot of grief in a bad encounter.
XCOMPRESS has to be seen to be believed. The one stroke command "H" puts your program through a press which squeezes out 25% (or more) of the code. If you give it unlimited control, it throws out all remarks, irrelevent blanks, extraneous keywords and makes multiple statements wherever it can. To top it off, it renumbers your program on a one by one basis to cast out a few extra digits. You may opt to inhibit one or more of these removals and settle for a partial but more intelligible reduction in program content. This enhancement, while not recommended for use during program development, really pays off in space and performance when implemented.
An interesting by-product of installing XBASIC is worth mentioning here. Snapp utilizes the 26th sector on the diskette in hiding away its code. Consequently, each new backup copy must have the XBCOPY routine run onto it before it will perform. This is not a significant problem and, once done, it sticks even after that disk is used for subsequent backups. Only a fresh FORMAT will wipe out the enhancement code. In Summary
Snapp's Extended BASIC is intended principally for the serious programmer. My operating procedure is to use this excellent package on all development tasks but to turn over a "non-Snapped" version to the customer. The end-user in a business environment will benefit from the efficiencies which the utilities gave to the programmer, but won't see (or completely appreciate) the hidden powers. The professional programmer, however, needs this software no less than a plumber or carpenter needs the best available tool. To paraphrase Mr Maiden, "Don't leave your keyboard without it!" m
A mathematical function grapher
For Model I & HI disk or tape
Did you ever want to know what this expression looks like?
How about d/dx(COS(X)/Xx)? One way to find out is to solve them analytically and use the analytical expression in a regular graphing program. That's fine if an analytical expression can be found. An easier approach is to use Supergraph.
Supergraph is actually a mathematical/ engineering tool that requires approximately 13K of memory. It is three graphing programs in one. It can:
Graph a function Graph a derivative of a function Graph the integral of a function Analyze slopes, definite integrals and roots Some special features include:
Automatic ranging of the y-axis Complete control of end points 6 cursors, 2 on X, 2 on Y and 2 blinking Fool proof data entry Error trapping
Optional cross-hatch reference points You can use Supergraph to: Teach students calculus Solve minima and maxima problems Solve probability and statistical problems Graph difficult derivatives and integrals Solve engineering distribution type problems Submodes - Running Supergraph Supergraph contains three function modes: the
Davut Z Korkut, Kenner, Louisiana function proper mode (function itself), the derivative mode, and the integral mode. The function mode can be changed during program execution. Under each function mode there are two sub-modes: the graph (G) and the examine (X) sub-mode.
When you load Supergraph and type RUN, you will see:
ENTER FUNCTION AS SUBROUTINE 5000. THE ENTRY VALUE SHOULD BE STORED IN VARIABLE X, AND THE RETURNED VALUE IN VARIABLE F.
ENTER 'GOTO 20' WHEN FINISHED. CURRENT FUNCTION (ERROR =0, LINE 0): 5000 F=.398942*EXP(-.5*X*X) 10000 RETURN
At this time you can enter the function beginning with line 5000 and ending with RETURN in line 10000. Be sure the function subroutine begins with line 5000 and does not exceed line 10000! Notice that the default equation is the normal distribution function and the current function is automatically listed.
The function subroutine can have discontinuities or can be approximated. If it has discontinuities, be careful when the derivative is plotted, as the slope at a discontinuity may be grossly inaccurate. If the function is approximated, be sure to include a calculation of F for all values of X.
Now for theTRS-80" Mode
1 DOUBLE Sided & DOUBLE Density sup : AUTOMATIC Density recognition. ! 35,40, 77, 80 and any other track counts are supported. ! All available drive stepping rates are supported. ! Hard Drive support, can be HANDLED AS A SINGLE DRIVE. 1 Hard drive partitioning, one drive can act as up to six. ! Intermix 5", 8" and Hard drives, up to a total of 8 drives. Compatible with the Model I Radio Shack Expansion Interface. Upward compatible with TRSDOS (2.3 & 1.3 as documented). Fully supports Microsoft language products for TRS-80. Complete media compatibility Model I to Model III and back. Full support for LOBO's LX-80 interface. Full support for AEROCOMPS double density controller(DDC) Full support for PERCOM's DOUBLER II. Complete documentation (well over 250 pages) Complete technical information. A TOLL-FREE 800 number for customer service. An LDOS users bulletin board on MicroNET. A Quarterly LDOS users magazine (The LDOS QUARTERLY). A liberal update policy. An enhanced BASIC (LBASIC) including:
> Upward compatible with Microsoft Basic.
> High speed LOAD and SAVE.
> Run multiple programs with common variables.
> BLOCKED (variable length) files are supported.
> DOS commands may be executed from LBASIC.
> Built in string array. SORT.
> Single stepper for debugging.
> Several new statements and file modes.
piled JOffCONTROL LANGUAGE (JCL). CONVert utility to move files from Model III TRSDOS. An Extended Debugging and Monitor program (withdiskaccess). CMDFILE for movement of disk and/or tape system (/CMD) files. Device independent operation.
Full LINKing, ROUTEing, FILTERingand SETting are supported. MiniDOS feature for constant access to certain DOS commands. RS-232 DRIVER for serial support. Sophisticated communications software included. Wildcard characters and partial Filespecs are supported. DATED FILES, show when a file was last written to. Backup: Mirror, by Class, if Modified, by Date, by Extension, etc. Selectable PURGE for fast disk "cleanup" of unwanted files. Print formatter, for control of printer output. Built in printer SPOOLER, to both disk and ram. Joblog to record all system operations with time stamps. UPPER and lower case support, throughout the system. Blinking cursor with selectable cursor character. 128 character TYPE AHEAD buffering for keyboard input. Assign strings to individual keys with Key Stroke Multiply (KSM). SUPER FAST operation with the SYSRES feature. Extensive user control and system feedback. Advanced PATCH utility for easy maintenance. Complete transportability of software among all Z-80 LDOS systems through the use of the LDOS high ram supervisory call system.
Dealers to serve users Nationwide and in the Common Market. The only DOS with a limited ONE YEAR WARRANTY! Enjoy a professional operating system on YOUR TRS-80!
* Specific hardware is required to use these features.
The Ultimate In Operating Systems For Model I & III
Was this article helpful?