home *** CD-ROM | disk | FTP | other *** search
- Notes about MS-DOS executables and compilers:
-
- - Borland start-up code is reported to switch the screen mode auto-
- matically if it's not 80 columns (or possibly 40) and either 25, 43
- or 50 lines. In particular, extended modes such as 100x40 are not
- retained.
-
- - Borland start-up code also uses interrupt 1Ah, causing incorrect
- behavior (including lock-ups) on some Japanese MS-DOS machines such
- as the Fujitsu FMR series, which lack this interrupt.
-
- - Older Borland compilers do not understand source files with Unix
- line-endings (LF rather than CR/LF). Use "flip" or a similar utility
- to convert the line endings before compiling, or take a look at the
- Borland.fix file in the UnZip source distribution.
-
- - Microsoft C 5.1 large-model code is more than an order of magnitude
- slower than the identical code compiled with MSC 6 or 7 (a factor of
- 15 in our tests, actually). This may be due to a lousy optimizer or
- lousy libraries; regardless, since UnZip does not really fit into
- the small model anymore, we recommend upgrading to a later version
- of the compiler.
-
- For these reasons, Info-ZIP's distributed versions of the 16-bit MS-DOS
- executables are compiled with MSC 6 or 7.
-
- - djgpp/go32 1.11m2 apparently does not provide a way to disable its
- built-in wildcard expansion ("globbing") at compile time (or, if it
- does, we didn't find it). In addition its handling of single quotes
- is incorrect. SEE BELOW FOR A WORK-AROUND.
-
- Info-ZIP's distributed 32-bit MS-DOS executables are compiled with djgpp
- 1.11.m2. These are stand-alone programs; the "go32" DOS extender is in-
- cluded inside the executables. They generally run up to twice as fast
- as the 16-bit versions, but they only work on 386's and above. In some
- cases they're actually slower. If this is the case for you, first try
- running under plain DOS, after removing any memory manager in your
- config.sys and rebooting, to check if the slowdown is due to your memory
- manager. The problem may also be due to the time spent by the djgpp
- runtime creating and deleting a swap file. If you use SMARTDRV or another
- disk cache, make sure that writes are also cached.
-
- If you already have djgpp 1.11 or later, you can remove go32.exe from
- unzip386.exe to get a smaller executable:
-
- exe2coff unzip386.exe
- coff2exe unzip386
- del unzip386
-
- As noted above, go32/djgpp has its own wildcard-expansion routines, and
- these are not compatible with UnZip. The documented method of avoiding
- this by quoting wildcards with single quotes is buggy: trying to unzip
- '..\*.zip' will result in the first file being unzipped, but none of the
- others; trying to unzip ..\..\'*.zip' will result in go32 passing the
- quoted string, with quotes intact, to UnZip (which can't find any files
- with single quotes in their names, since they don't exist). The only
- method which does work is to set the GO32 environment variable to "noglob"
- as follows (add to autoexec.bat, for example, or invoke unzip386 in a
- batch file which has this setting):
-
- set GO32=noglob
-
- With this setting quotes are unnecessary; unzip386.exe behaves just like
- unzip.exe.
-
- You may also need to set the TZ environment variable to get correct time-
- stamps on extracted files when using unzip386.exe. Adding the line
-
- set TZ=MET0
-
- to autoexec.bat works for our French contingent; a Californian user might
- need "set TZ=PST8PDT" instead. The 16-bit version always uses local time.
-
- For other problems related to DJGPP, read the documentation provided
- in oak.oakland.edu:/pub/msdos/djgpp/djdev111.zip. If a problem occurs
- with unzip386.exe, check first if it also occurs with unzip.exe before
- reporting it.
-