Updated for use with LT30 1991 Jul 17 LT version 29 added support for LZH-encoded files (extensions of the form .?Y?) to Mr. C.B. Falconer's LT program (prior version 28, see below). LT version 30 incorporates version 2.0 LZH decoding. LT30 is ready for non-RCPM use. Refer to the LT28 docs and to the source code for modification for RCPM usage. This .LBR includes UNLZH.REL, an 8080/8085/V20/Z80 subroutine file which contains the code for the LZH-encoded file handling. That file is copyrighted (c) 1989, 1991 by Roger Warren. It may be used or reproduced on a non-profit basis only. If you assemble your own version, make sure that the LAST file loaded in the LINK phase is UNC, as the LT program locates the top of the program by a symbol in that module. FOR THOSE INTERESTED IN PATCHING FOR DATE STAMPS: In the pre-assembled version herein I've left 128 bytes of patch area from 1AA0h thru 1B1Fh, inclusive. These were added in the link phase and are not an integral part of the program. If you re-link...it goes away (unless you provide your own). --------------Updated LT28 documentation follows --------------------- Updated for use with LT28 1988 May 18 LT28 is copyrighted (c) 1986, 1988 by C.B. Falconer. It may be freely copied and used for non-commercial purposes. LT28R.COM is ready for RCPM use. LT28.COM does not use the wheel byte and, is ready for normal (non-RCPM) use. This revision of LT (Library Typer) includes UNC.REL, a modification of Steve Greenberg's UNCREL.REL file, to access crunched files and library components (in addition to squeezed and uncompressed files/components). This uncruncher runs on 8080/8085/V20/Z80 processors, and can process the output of CRUNCH23 or prior. See DOC file for customization patches. Sysops can now leave EXTRACT set to YES, as v20 tied this in with the wheel byte. v25 also allows UZCPR to be replaced by a MAXUSR value of 0FFh (255). USING LINK.COM ============== To link with LINK rather than L80, simply type: M80 =LT30.MAC/M LINK LT30,UNLZH,UNC USING SLRMAC AND SLRNKP: ======================= To process this with SLRMAC and SLRNKP: (SLRMAC configured to use .MAC input files, else rename source) D>SLRMAC LT30/M D>SLRNKP LT30/N/A:100/J,LT30,UNLZH,UNC,/E The first step assembles to a .REL file, the second links UNLZH.REL and UNC.REL and creates LT30.COM, ready to use - no other steps needed. USING M80 and L80 (or SLRNK, non + version): =========================================== To re-assemble with M80/L80: D>M80 =LT30/M The final linking step is a two-pass operation: D>l80 /P:100,/D:2000,LT30,UNLZH,UNC,/M (ridiculously long wait) ...... (other output information) Program 0100 1A99 .... (Note the end of code, FREE byte from L80, last from SLRNK) */R (reset l80) */P:100,/D:1A99,LT30,UNLZH,UNC,LT30/N (put data at end of code) ...... (wait) */E (now you can exit - linked) D> L80 has added many unneeded bytes to the file. Load it with DDT and SAVE only the portion up to the last code byte plus about 80h bytes (1A99 the example, will be different). This extra pad is because there is actually initialized data in the data segment, but those areas are in the very beginning of the area. With DDTZ, use "K 100,1B19" command to write it back. You can zero the portion after the end of code (unmodified L80 and early SLRNK+ junk fill, but SLRNK zero-fills). - enjoy --------------------------------- end ----------------------------------