LT v30 Documentation - C.B. Falconer - 17 Jul 91 ================================================ Changes summary: NOTE: Use CTL-Z after a pause for continuous scrolling. Force an initial pause via S or CTL-S, then a CTL-Z. This allows scrolling without stopping with [more] pauses (not even the first one). NOTE: For an RCPM version patch as detailed below. This allows you to detail the exact drives available. LT30 - Incorporated version 2.0 of LZH encoding. This program is necessary to decode files encoded with version 2.0 of LZH compression, but will AUTOMATICALLY handle files encoded with version 1.x LZH encoding. Added appropriate documentation changes. Added instruction to reset MSB in output FCBs. Corrected error message pointer for UNC & UNL errors (sent garbage to screen). - R. Warren LT29 - Added the capability to handle LZH-encoded files (files with extensions of the form ?Y?). No other functional changes. - R. Warren LT28 - Reworked - all identification of output files had disappeared. Documentation attached to LT27 had the wrong patch information. (but LT25 was correct) LT27 was non-fixable, due to reformatting, and thus text comparators gave no useful information. Basis for LT28 is LT25. - C.B. Falconer LT27 - Rewrote display section when extracting files to disk. The program was triple spacing with no tabulation. Was unsightly if the library had more than 1-2 files. (Still under 5k.) If the TPA is under 46k might need to change "REC" from 128 to 96 or even 64. - Irv Hoff, Sysop LT26 - When typing a crunched file with a comment attached, it was running off the end of the screen, to display the uncrunched file name with comment. - Ed Minton LT25 - All options patchable, no need to reassemble for RCPM/ZCPR use. OPTION LOCATIONS CHANGED. Fixed multi-sector file output buffer initialization. Cleaned up. - C.B. Falconer LT24 - Fixed bug in PARSE1 routine. If no USER AREA specified for disk output then it defaulted to input file user area rather than the CURRENT user area. Modified to allow abort during disk output. Added $U command line option to allow disk output of squeezed/crunched files WITHOUT unsqueeze/uncrunch. (see the NOUQZ byte added to the patch area at 103H). Added REC equate to allow more than one sector in the file output buffer to reduce wear and tear on floppy drives. REC is currently set for 8 sectors (1k) - Tom Head LT23 FIXES SEVERAL ANNOYING BUGS. Most notably, it no longer aborts when extracting a 0-length file from a library. Other minor changes, see source code. - Howard Goldstein LT22 adds support for ZCPR/ZCMD page zero maximum user values for a more secure RCP/M environment. Wheel support has been expanded. When the wheel is active the line counter restriction is defeated, allowing the sysop (or other wheel users to display files of any length. The wheel also over- rides the page zero user value and substitutes the hardcoded maximum value. - Gary Inman LT21 adds the ability to scroll one line at a time with the space bar. - Irv Hoff LT20 was created for two reasons. The first reason is so that only one copy of LT will be needed for RCP/M systems. It may also be handy for persons who have a secure "local" system which utilizes the wheel byte for security. Only one byte need be changed in the table of configur- able items if desired should the wheel byte not be implemented on your system. The wheel byte will enable/disable ability for the program to output to a disk file. The second reason for this version's creation was because it wouldn't assemble properly with M80/L80; the value for YES and NO "were" 0FFH and 0, respectively. Now changed to NO equ 0, YES equ NOT NO. Minor other changes were made. Code is still < 4k. - George Reding LT19 was modified to prevent possible junk characters from being sent to the console while displaying a crunched file header. LT18 was mod- ified to allow access to LBR's larger than 512k. Changes were made in LT17 to prevent the generation of junk file names under certain usage conditions. See source code modification history for more details about these fixes. LT16 eliminates all the limitations related to extraction of binary files to disk (see below). It will also now uncrunch when running on 8080, 8085 and V20 CPUs, besides Z80s. When extracting binary files to disk, the program is uninhibited by the "bad types" table or occur- rences of 1Ah (EOF) bytes within the file. LT15 adds the ability to extract files to disk. There is a limitation of only text files (any 01Ah byte is EOF). No checks are performed so that invalid LBR checksums etc. will not be detected. To use this a- bility, add a "DU" specification to the component name. Don't try to extract .COM (.CZM, .CQM) etc. files with LT15. This ability was considered necessary since NULU (1.51) cannot expand crunched files directly to disk. LT14 is a revision of LT13 to include "uncrunch" capability (but only on Z80 CPUs for uncrunching). As did LT13, LT14 can expand UCSD style indentation coding (DLE, count + 020h). Customization etc., remains unchanged, although the defaults have been modified. The "min" form is no longer supplied but you can create it by setting the appropriate equates to false (in the source) and re-assembling. ------------- ;;;;;;;;;;;;;; LT (Library Type) displays the contents of .LBR files on the console, or functions as a pausing replacement for TYPE. LT was adapted from Steven R. Holtzclaw's LUXTYP of (06/10/83) for use without the complete LUX system. As does LUXTYP, LT automatically unsqueezes any squeezed file components for display. Two versions of LT are distributed, LTnnMIN is a minimum sized object file with no security restrictions, nor DU style drive/user specifications. It is intended to be mounted in a COMMAND.LBR file on single user systems. LTnnMAX implements DU drive/user specification, and various security provisions, for use on RCPM systems. In particular LTnnMAX can individually specify drives available (rather than a simple max value), and expands UCSD style indentation coding (V. 13 up). This is useful for compressed PASCALP source files, or transfers from a UCSD system. Both versions implement wild card file specification, and can search an alternate drive for the specified files. LT executes on 8080 systems (as opposed to LUXTYP on Z80s only). LT searches the default and system disks for the files. Assembly time constants are available to restore the original LUX limitations on file types and output line count. LT has provisions for stopping CRT page pauses during one files output, and will also pause across file (component) boundaries. Execution of: B>LT produces the version number and a minimum syntax explanation. Usual execution is by: B>LT LBRFILE ambigfilereference where "lbrfile" is always assumed to have the extension .LBR, and the "ambigfilereferance" refers to a library component. It may contain wild cards (* and ?). All the specified components are listed to the CRT screen. B>LT LBRFILE B:AFN will extract the designated files (text only) to disk files. Any data after the EOF (01ah) character will be lost, including CCITCRC checks. User control (s,S^S, c,C,C^, ^X, ^Z): -------------------------------------- The usual CTL-S can pause output, but finishes the current line be- fore pausing. (s or S can also be used.) CTL-C aborts back to CP/M prompt but again finishes the current line first. c,C k,K,^K can also be used. CTL-X aborts listing of the current file and advances to the next file, if any. CTL-Z stops all "[more] page pauses until the next file (component.) Examples: --------- B>LT LT10 *.D?C lists all components of LT10.LBR, found on either the B or A drives, with the extensions DOC, DQC, etc. The B drive is preferred. B>LT C:LT10 *.D?C is similar, but will only look for LT10.LBR on drive C: B>LT D:FNAME.FT will display FNAME.FT, unsqueezing it if it is a squeezed file. This mode replaces TYPE. The absence of the second parameter signals that this is not a library file. (The following for LTnnMAX only, or versions assembled with the "DUSPEC" assembly time option set to YES.) B>LT M5:BLAH *.D?C will display all .DOC/DQC/DZC etc. components of BLAH.LBR on drive M, user 5. The disk specification avoids any drive searches being made. B>LT @5:BLAG *.D?C is similar, but drives B and A are searched for BLAH.LBR on user 5. ------------------------------ Customization: -------------- Address Default Purpose ------- ------- ------- 0103h Standard ZCPR environment, unused in LT now. 010Bh 0000h Wheel byte implemented for security/remote usage. Set 10bh to 03eh if you use the wheel ^^ byte at 03Eh. Set NO (00h) if you do not ** WORD ** use the wheel byte. The wheel byte will enable/disable the ability of this program to extract files to disk. THIS IS A WORD and allows the wheel to be anywhere in memory. 0000h eliminates all wheel checking. 010Dh 14h=20 Lines typed between pauses. 0 for no pauses. 010Eh 0 Maximum lines allowed before abort A value of zero allows any size file to be typed. Cannot be set above 255 (1 byte) 010Fh 0FFh Causes file types listed in the inhibition table at 0119h to be rejected for typing 0110h 0 Set 0ffh to check for pause on each output character. Useful for slow Braille terminals. 0111h 0FFh Absorbs all control characters except CR, LF, TAB, BELL AND BCKSP. A 0 value allows any control character to be typed. 0112h 0 Alternate drive to search when no drive specification is made, and the file is not found on the default drive. 0 for no search, 1 for A, 2 for B, etc. 0113h 00Fh =15 Maximum user number accessible (inclusive). The SPECIAL VALUE 0ffh causes the value to be replaced by that at 03dh (ZCPR mxusr) 0114h A,B,M A one word (2 byte) vector of bits which (all) specifies drives accessible. The most sig- nificant bit (in byte 0115h) specifies drive A, the next drive B, etc, until the least significant bit of byte 0114h specifies drive P. 0116h 00 A one byte flag that is toggled by the $U command line option. If set to 0FFh, it will disable the uncrunch/unsqueeze of files during disk output. 0117h 0ffh 0 to suppress dle expansion (UCSD style indentation codes). May be useful if output of control characters (above) is enabled. 0118h Spare, for future use 0119h (and up) Contains a list of 3 byte ASCII characters, each of which specifies a file type that may not be "typed". The byte at 010Fh can be set to ignore this table. The space up to, but not including, 0155h can be used to add installation specific values. Setting a high order bit in any entry will inhibit its use. The "?" character matches any character in the file type. Security: --------- The customization values above control the security levels. However, if LT is executed by a user already logged onto a drive or user number outside the specified limits, LT allows access to that area also. The theory is that the previous login has established the access rights. - C.B. Falconer