which included commits to RCS files with non-trunk default branches. git-svn-id: svn://10.65.10.50/trunk@5403 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			118 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			118 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
| 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.
 | |
| 
 | |
|  - Some(?) Borland compilers are apparently incapable of putting static
 | |
|    data into far memory; this means all of UnZip's strings are in near
 | |
|    memory, and there is not enough room to enable ZipInfo in the small
 | |
|    memory model.  The medium memory model is the default for now, but
 | |
|    it may be necessary in some cases to use the large model.
 | |
| 
 | |
|  - 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.
 | |
| 
 | |
|  - The Borland 5.00 compiler is simply too buggy to use on WizUnZip, both
 | |
|    16-bit and 32-bit versions, and we recommend avoiding it for now even
 | |
|    on the commmand-line version of UnZip.
 | |
| 
 | |
|  - 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 is hovering at the doorstep
 | |
|    of the large memory model, 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 2.x (currently 2.01) is no longer distributed with the go32 extender.
 | |
|    Instead, a 2K stub bound into the executable searches for a DPMI server;
 | |
|    if none is found, it loads the default DPMI server while executing UnZip.
 | |
|    Both djgpp 1.x and 2.x are capable of substituting a list of files in an
 | |
|    ASCII file (say, `foo') on the command line; for example, "unzip archive
 | |
|    @foo" will extract from `archive' all of the files listed in `foo'.  Note,
 | |
|    however, that djgpp 2.x is considerably slower than 1.x at file extraction
 | |
|    (roughly twice as slow, in fact); see proginfo/perform.dos in the UnZip 5.3
 | |
|    source distribution for details.
 | |
| 
 | |
|  - djgpp 2.0's long-filename support is somewhat flaky; users should upgrade
 | |
|    to version 2.01 instead.
 | |
| 
 | |
|  - The default wildcard ("globbing") behavior of djgpp 1.x/go32 is disabled
 | |
|    by default in UnZip, but this can be overridden if the GO32 environment
 | |
|    variable is set to "glob".  This will cause UnZip to fail with various
 | |
|    odd errors about "filename not matched" and the like; to avoid this, set
 | |
|    the GO32 variable to "noglob" or unset it altogether.  (The documented
 | |
|    method of avoiding this by quoting wildcards with single quotes was 
 | |
|    buggy in djgpp 1.11 but is reported fixed in 1.12; not tested.)
 | |
| 
 | |
|  - djgpp 1.x's handling of timezones, necessary for the correct conversion of
 | |
|    MS-DOS file times to those used in the Unix-like C library, is completely
 | |
|    broken in djgpp 1.12 and probably earlier versions as well.  It is fixed
 | |
|    (or very close to it) in the 1.12m4 patch release and reportedly in the
 | |
|    2.x series, so be sure to use one of those when compiling.  Otherwise
 | |
|    UnZip's -f and -u (freshen/update) functions will not work correctly.
 | |
|    It is reportedly necessary to set the TZDIR environment variable correctly
 | |
|    with 1.12m4; for example, add `set TZDIR=c:/djgpp/zoneinfo' or similar to
 | |
|    autoexec.bat.
 | |
| 
 | |
|  - djgpp 1.x/go32 executables, when run in a DOS box under OS/2 *and* extrac-
 | |
|    ting to an HPFS disk *and* overwriting existing files (intentionally, that
 | |
|    is), do not set the files' timestamps correctly.  Instead, the timestamps
 | |
|    remain set to whatever the original files' stamps were.  This is a pretty
 | |
|    obscure bug, but it does *not* occur in the 16-bit version so it seems
 | |
|    to be go32's fault somehow.
 | |
| 
 | |
|  - According to notes found in another package, there was a known conflict
 | |
|    between djgpp 1.x's go32 extender and QEMM's DPMI; this was apparently
 | |
|    fixed in QEMM 7.04/QDPMI 1.05, but if you still have an older version
 | |
|    (1.03 or 1.01), add "set GO32=nodpmi" to your autoexec.bat to avoid the
 | |
|    conflict.)
 | |
| 
 | |
|  - [For Zip only, the djgpp/go32 extender goes nuts with the copying and/or
 | |
|    deletion of some sort of a temporary file (swap file?) after compression
 | |
|    is finished; this can take 30 seconds or more and really hurts perfor-
 | |
|    mance.  It doesn't affect UnZip, apparently.]
 | |
| 
 | |
|  - [Also apparently for Zip only, djgpp/go32 is reported to have problems
 | |
|    when EMM386 is set to NOEMS; it sometimes gives the error message, "CPU
 | |
|    must be in REAL mode (not V86 mode) to run this program without VCPI.
 | |
|    (If you are using an EMS emulator, make sure that EMS isn't disabled)"
 | |
|    Sometimes Zip works correctly, however, possibly due to other software
 | |
|    having been run previously.]
 | |
| 
 | |
|  - emx+gcc's DOS extender does not understand DPMI, and while there is an
 | |
|    alternative extender called RSX available (found in dpmigcc4.zip as of
 | |
|    August 1994), its setup is somewhat kludgy when the local memory manager
 | |
|    supports both DPMI and VCPI (or something else).  It's also not yet as
 | |
|    widely known or available as djgpp.
 | |
| 
 | |
|  - The free PMODE/W extender, used in conjunction with executables compiled
 | |
|    with Watcom C 10.x and run in an OS/2 DOS box, appears to use up some
 | |
|    critical DPMI resource and will fail to run after a few dozen executions
 | |
|    ("PMODE/W: DPMI error" and/or SYS 3176).  Some newer versions of PMODE/W,
 | |
|    in combination with "unzip -v" on certain zipfiles (e.g., APMTST.ZIP from
 | |
|    IBM/EWS), fail immediately (SYS 3176).  And on some OS/2 systems, *any*
 | |
|    use of the PMODE/W executables causes the machine to lock up.
 | |
| 
 | |
|  - PMODE/W is also reported to lock up pure DOS systems if QEMM is running.
 | |
| 
 | |
|  - At least older versions of PMODE/W, used in conjunction with Microsoft's
 | |
|    EMM386, cause UnZip to start up extremely slowly.  (This problem does not
 | |
|    occur with QEMM.)
 | |
| 
 | |
| For these reasons Info-ZIP's distributed 32-bit MS-DOS executables will 
 | |
| probably be compiled with djgpp 2.01, mainly because of its nice long-filename
 | |
| support when running in a Win32 DOS box.  The cwsdpmi DPMI server will be
 | |
| bundled if necessary.
 | |
| 
 | |
| GRR 970330
 |