ORIGINALLY PUBLISHED IN LIMA NEWSLETTER FEBRUARY 1990 ^^ T-SHELL ADDS DOS-LIKE COMMANDS TO EXTENDED BASIC ^^^^^^^^^^a brief review by Charles Good ^^^^^^^^^^^^^^^^Lima Ohio User Group In recent years several "extended basic enhancements" have been released commercially, mainly for the benefit of XB programmers. These include EZ-KEYS PLUS, SUPERBASIC, and COMMAND DOS. Now us ordinary mortal XB USERS have T-SHELL, one of the most important and useful software packages to appear for the extanded basic USER in some time. T-SHELL is FREE (public domain, not Freeware) and was initially released recently as part of Barry Travers's GENIAL TRAVelER v2 #5. It sits transparent in memory unaffected by any XB code except CALL INIT, and allows you to do the following from XB command mode: CATALOG any drive of any name to screen or printer. COPY individual files or entire disks. PROTECT and UNPROTECT a file. RENAME a file or a disk. SWEEP a disk. (dangerous!!) TYPE a DV80 file to the screen or a printer. Although is not specifically stated in the T-SHELL doc, you can MERGE any XB program that does not contain CALL INIT onto the end of T-SHELL any place after T-SHELL's line number 10 and then resave the whole thing to disk. Then, every time you OLD or RUN the XB program, T-SHELL will also be there. You can't use the T-SHELL commands from within the program, but when the program ENDs or you BREAK the program, T-SHELL's commands will be there in memory waiting for you to use from command mode. The only important DOS feature I find lacking in T-SHELL is a way to INITILAIZE a blank disk (something you can do from command mode with SUPERBASIC). For example, you need a preinitialized disk in order to use the COPY command. Tony McGovern, in a letter to me, once said that having an instantly available disk initialization routine is sort of like having a loaded gun laying around. Nevertheless, I would like to see this feature incorporated into future versions of T-SHELL. T-SHELL's author is Travis Watford, the author of the well known public domain program MAX-RLE and several commercial TI and Geneve programs. His T-SHELL doc appears below and describes in detail the fantastic potential of this software. ------------------------------------ T-SHELL Notes by Travis Watford T-SHELL is a software package designed to provide the Extended BASIC programmer/user with some of the basic disk access utilities that TI, in their infinite wisdom, chose not only to leave out, but, in fact, to hinder. T-SHELL allows you to type disk commands at the Extended BASIC command line as though they were built in. A list of the commands that T-SHELL adds to your system follows in detail, so I will not give one here. Loading T-SHELL T-SHELL is provided here as a program image file. You simply enter RUN "DSK1.T-SHELL" to load and make the package active. Once loaded, T-SHELL is turned off/on by: CALL LINK("UNSET") CALL LINK("SET") If for any reason you decide to remove T-SHELL by typing in "CALL INIT", you must first turn T-SHELL off as described above. The package as supplied should work on any 4A system. If, however, you use a SYSTEX-like package to add additional assembly routines to T-SHELL, the resulting program may no longer run on any machine other than the one on which the alterations were made. Using T-SHELL T-SHELL commands are typed at the command line just like Extended BASIC commands. There are currently ten active commands, although more will be added as I get around to it. Commands may be typed in any mixture of upper and lower case. Arguments in brackets are optional. VERSION: This command lists the program name, version number, date, my name and my CompuServe number if you would like to leave me any complaints or suggestions. DRIVE [drivename]: Typed by itself, this command displays the current default drive name. The name can be up to 49 char- acters long and is initially set to "DSK1." It could be changed to read something like "DSK.RAMDISK.", in which case it would address the disk named "RAMDISK". Hopefully (although I could not test it) it could be changed to "HDS1.SUBDIR1.SUBDIR2." The drive name must end with a period character. If the command is followed by text, that text becomes the default drive name. The default drive name can be abbreviated by "." when it is the first character of a string. This will be explained more fully in the descriptions of other commands. PRINTER [printername]: Typed alone, this command will display the current default printer. Again the name can be up to 49 char- acters long. It is initially set to "PIO" but can be any valid file name or a disk name(e.g. "DSK1."). If the command is followed by text, that text becomes the default printer name. The default printer name can be abbreviated by "," when it is the first character of a string. This will be explained more fully in the descriptions of other commands. CATALOG [drivename] [printername]: This command catalogs a drive. Alone it displays the default drive's catalog to the screen. If it is fol- lowed by text, that text is assumed to be the name of the drive to catalog, for example, "CATALOG DSK2.", or maybe "CATALOG ." (though the latter just catalogs the default drive, so the "." is unneccessary), or maybe "CATALOG ," (if you had set the default printer name to something like "DSK1."). If the command is followed by two text strings, it will assume the first is a drive name and the second is a printer name. Thus the command "CATALOG DSK.RAMDISK. RS232" will print the catalog of the disk named "RAMDISK" to the RS232 and the command "CATALOG .," will print the catalog of the default drive to the default printer. TYPE filename [printername]: "TYPE .file" will type a DV80 file named "file" from the default drive onto the screen. If there is a second text string, it is assumed to be the printer name. So, the command "TYPE .file PIO" will print the file named "file" from the default drive to the parallel printer. RENAME name [filename]: RENAME will change the name of a file or a disk. For example, the command "RENAME DSK1.RAMDISK" will change the name of the disk in drive one to "RAMDISK". When there is a second string, the command will rename a file. "RENAME .TEMP perm" will rename the file "TEMP" on the default drive to "perm". Only the first file name is preceded by the drive name. This command requires a drive name of the form "DSKx.", where "x" is a single digit. While some T-SHELL commands can use names such as "DSK.RAMDISK.", others require the disk number to access DSR subroutines to perform their function. PROTECT filename: This command protects a file. "PROTECT DSK2.FILE" will mark the file named "FILE" on DSK2 as protected. This command requires a drive name of the form "DSKx." UNPROTECT filename: This command unprotects a file. "UNPROTECT DSK2.FILE" will clear the protection flag on the file named "FILE" on DSK2. This command requires a drive name of the form "DSKx." COPY source destination: This command will copy a file or a disk. If the names are of the form "DSKx.", T-SHELL will attempt to copy the named disk. Otherwise, it will copy the named file. This command requires a drive name of the form "DSKx." SWEEP diskname: This command will delete all files from a disk. The target disk disk must be explicitly identified. This command can be quite destructive if used carelessly. It will not give you a chance to back out, so don't type it unless you mean it. This command requires a drive name of the form "DSKx." Modifying T-SHELL Defaults: The commands, default drive and default printer names have initial values that suit me. If they don't suit you, they can be changed with a sector editor. For instance, you may want to change "CATALOG" to "CAT" or "DIR". Commands must be uppercase and must be exactly ten characters long. Shorter commands are to be filled out with spaces. The default drive name and default printer name can be up to 49 characters long, and must be fol- lowed by a null character. I hope you get some use out of these utilities, and you may feel free to use them however you wish, but please don't change any of the VERSION information including my name. I do not want any money for this product, but I do want the credit. ^^^^^^^^^^^^^^^^^--Travis Watford .PL 1