dave@interlan.Interlan.COM (Dave Goldblatt) (01/06/91)
In article <1991Jan4.231850.24022@maytag.waterloo.edu> dmurdoch@watstat.waterloo.edu (Duncan Murdoch) writes: WARNING: > Don't use PKLITE 1.03 on the files TPCX.EXE or TD286.EXE that come > with the professional version of Borland's TP 6.0. (TD286 probably > also comes with TC or TC++ professional, and there might be a 286 > version of the compiler there too; I'd suspect the same problems with > it.) The reason for this is simple. These programs contain overlays. Think about it -- overlays are loaded off the disk as needed. Unless your compressor/decompressor (PKLITE, LZEXE, etc.) hangs around and responds to all accesses to that particular file, when an external module is required and loaded, it will be loaded in *compressed* form. Naturally, the software will (+poof+) at that point. > The problem is that these two programs use a DOS extender called > OS/286 which apparently has a non-standard .EXE format. PKLITE will > compress the files, and will claim to uncompress them, but they won't > run in either format. Some 8 or 9 bytes of the .EXE file get zeroed > in the compress/uncompress cycle. You'll have to restore new copies > from a backup or the original disk. The OS/286 you refer to is the protected mode kernel Borland runs TD286 underneath. > For those unfamiliar with it: PKLITE is a program like LZEXE. It > compresses executable files, and uncompresses them at load time. One > of its biggest selling points for me was that it is supposed to be > reversible; if the compressed version doesn't work, just uncompress > and don't worry about it. Looks like you can't trust this feature. I'm sure in the documentation it states for both PKLITE and LZEXE that you cannot use them on files containing overlays. For the same reason, any software you create using either Borland's VROOM overlays or Microsoft's overlays won't work either. Disclaimer: I've never gotten around to poking into PKLITE or LZEXE, nor do I use either. I still have enough disk space. ;-) > Duncan Murdoch > dmurdoch@watstat.waterloo.edu -dg- -- "Never, I repeat never, * Dave Goldblatt [dave@interlan.com] give peace a chance!" * Diagnostic Engineering - _Zarlor Mercenary_, * Racal InterLan Atari Corp. (Lynx) * Boxborough MA (508) 263-9929
dmurdoch@watstat.waterloo.edu (Duncan Murdoch) (01/07/91)
In article <DAVE.91Jan5171933@slam.InterLan.COM> dave@interlan.interlan.com writes: >In article <1991Jan4.231850.24022@maytag.waterloo.edu> dmurdoch@watstat.waterloo.edu (Duncan Murdoch) writes: >> Don't use PKLITE 1.03 on the files TPCX.EXE or TD286.EXE that come > >The reason for this is simple. These programs contain overlays. Think >about it -- overlays are loaded off the disk as needed. Unless your >compressor/decompressor (PKLITE, LZEXE, etc.) hangs around and responds >to all accesses to that particular file, when an external module is >required and loaded, it will be loaded in *compressed* form. Naturally, >the software will (+poof+) at that point. No, PKLITE works fine on many (but not all) programs with overlays. It doesn't attempt to compress the overlay code, so it's not spectacularly effective, but it does work. It depends on the assumption that the overlay manager doesn't care about the length of the .EXE file, it counts back from the end. This is true about Borland's overlay manager, but it might not be true of Microsoft's: one program I've got that was compiled under some version of MSC complains that it can't find the overlay after PKLITE has compressed it. It works fine if I just undo the compression. Duncan Murdoch
rschmidt@copper.ucs.indiana.edu (roy schmidt) (01/08/91)
In article <1991Jan7.044434.7063@maytag.waterloo.edu> dmurdoch@watstat.waterloo.edu (Duncan Murdoch) writes: >In article <DAVE.91Jan5171933@slam.InterLan.COM> dave@interlan.interlan.com writes: >>In article <1991Jan4.231850.24022@maytag.waterloo.edu> dmurdoch@watstat.waterloo.edu (Duncan Murdoch) writes: >>> Don't use PKLITE 1.03 on the files TPCX.EXE or TD286.EXE that come >> >>The reason for this is simple. These programs contain overlays. > >No, PKLITE works fine on many (but not all) programs with overlays. In either case, this is *not* the problem in this instance, because: "TD286 ... does not allow the -y option that sets the overlay code pool size. This option is not necessary because TD286 does not use overlays." -- Turbo Debugger (2.0) Users's Guide, p. 254. -- -------------------------------------------------------------------------- Roy Schmidt | #include <disclaimer.h> Indiana University | /* They are _my_ thoughts, and you can't Graduate School of Business | have them, so there! */
cgordon@vpnet.chi.il.us (gordon hlavenka) (01/09/91)
I believe the original complaint was not that PKLITE didn't work with these programs -- the complaint was that compressing and then reexpanding the file yielded a file which _differed from the original_. This, if true, is a big bug. -- ----------------------------------------------------- Gordon S. Hlavenka cgordon@vpnet.chi.il.us Disclaimer: Yeah, I said it. So what? -- ----------------------------------------------------- Gordon S. Hlavenka cgordon@vpnet.chi.il.us Disclaimer: Yeah, I said it. So what?