Instructions for LHX64 version 0.9 ---------------------------------- Hard part: Chris Smeets (C) 1990 Easy part: Marko M"akel"a 1993 LHX64 is an LHa file eXtractor for the Commodore 64. Until now you haven't been able to extract arbitrarily long LHarchives (.LZH files) without having at least a Commodore 128 and CS-DOS. However, Chris Smeets programmed also an SFX header that allows you to make SelF eXtracting LHarchives also for the C64. LHX64 is a modification to the SFX header that allows you to extract .LZH and .SFX files of any length, provided that there is enough disk space. Just like the CS-DOS LHX, LHX64 is able to extract only old-style LHArchives, i.e. those created with MS-DOS LHARC 1.13, CS-DOS LHA, or using the compatibility option of the newer LHARC and LHA versions. Besides, it can extract only PRG, SEQ or sequential USR type files, i.e. not RELative or DELeted files. LHX64 inherits another LHX "feature" as well: You need at least two disk drives, or you have to extract the archive on the same disk. This is impossible, if the contents of the archive fill more than a half of a disk. LHX64 was programmed as a patch to the SFX header for two reasons. Firstly, the source code for SFX.ML (the SFX header) is in a weird format that is accepted by a 6502 assembler that runs on the MS-DOS (blechh!) and is not freely available. It was much easier to patch SFX.ML directly with a machine language monitor than to port the source code to the assembler that I used. Secondly, the SFX header is not public domain. Chris Smeets sold CS-DOS and SFX.ML to Parsec, Inc, which now holds the copyright. Parsec does not allow the use of any CS-DOS code with any other product without formal licensing. The following is an excerpt of an E-mail letter that I received from John Brown, the president of Parsec, Inc.: "YOU MAY NOT USE ANY PART OR OFFER ANY PART OF CS-DOS/ARC/OR ITS TOOLS/ AND OR SOURCE CODE WITH ANY PROGRAM WITHOUT FORMAL LICENSING. Anyone who does will be considered violating our copyright and it will not be allowed. Also, any part of the CSDOS/ARC package must be offered WHOLE and not separately, including the ML fragments on a file server." I tried to contact him again and ask him if I could write a shareware version of LHX64 for them, but never got an answer. So, now I am doing it without their license. In order to avoid breaking their copyright, I distribute LHX64 as a patch to the SFX header. It is up to you, the user, to decide if you want to make the patches and to use the LHX64 utility. To make an LHX64 executable, load the self-extracting archive LHX64.SFX, run it, and terminate it by holding the STOP key down and punching the RESTORE key, or let it extract the files to a disk. You could press the RESET button as well, if your system had one. Then issue the commands CLR:NEW and LOAD"LHX PATCHER 8192",8,1 (replace the 8 with another device number if necessary). After the patcher has been loaded, issue the command SYS8192. It will create the program file LHX64 on the last accessed drive, or on unit 8, if you pressed RESET after loading the patcher. The LHX64 may be a bit hard to use, as it is a fast hack after all. After loading the program and issuing the RUN command, you will be prompted for a source drive device number. Enter the device number for the drive that holds the .LZH or .SFX file. Then you must enter the file name. If you enter a non-existent file name, the program will stop without printing any error message. If the file does not contain any LHarchive records, everything you get is an ALL DONE message. If a LHArchive record is found, the program will continue by showing an archive title, if any, and asking the device number and the drive number for the files to be extracted. Then you have nothing to do but wait until all files have been extracted. To learn more about CS-DOS LHARC files and their peculiarities, get your hands to the cbmconvert archive conversion package. With it, you can convert other CBM archives to LHARC format on a Unix system, without losing any file name information. The cbmconvert package is available via anonymous FTP on FTP.FUNET.FI in the /pub/cbm/archiving directory. You might want to let Parsec know that there is a need for an LHARC extractor that runs on the C64. The contact information is: Parsec, Inc. John Brown P.O. BOX 111 Salem, MA 01970-0111 U.S.A. The GEnie address of John Brown is C128.JBEE. He refuses to reply to E-mail that is sent to him outside GEnie, i.e. using the Internet address . If you want to write a better LHX64 version that lets you to change disks when using a single drive, is able to create REL files, and has an option to access the disk drive at warp speed, I am glad to help you. The source code for SFX.ML is included to the CS-DOS distribution archives, which can be retrieved via anonymous FTP from CCOSUN.CALTECH.EDU:/pub/rknop/parsec or FTP.FUNET.FI:/pub/cbm/c128/cs-dos. The current version was only a fast hack to show that it is possible to extract LHARC files on a Commodore 64. My Internet E-mail address is . If you don't have access to the Internet, you can always use snail mail: Marko M"akel"a Sillitie 10 A 01480 Vantaa Finland