home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 9 Archive / 09-Archive.zip / unzip540.zip / wince / README < prev    next >
Text File  |  1997-04-26  |  10KB  |  183 lines

  1. _______________________________________________________________________________
  2.  
  3.    This is the Windows CE Info-ZIP port README, last updated 5 April 1997.
  4. _______________________________________________________________________________
  5.  
  6. Contents of the "WinCE" subdirectory for UnZip 5.30 and later:
  7.  
  8.    README       This file.
  9.    Contents     A file containing this Contents list.
  10.    punzip.dsp   Visual C++ 5.0 project for WinCE (SH3 and MIPS) and WinNT.
  11.    punzip.h     Main header file for the entire Pocket UnZip project.
  12.    winmain.cpp  Contains the entire user interface and all Windows code.
  13.    winmain.h    Header for winmain.cpp.
  14.    intrface.cpp The interface between the Windows code and Info-ZIP code.
  15.    intrface.h   Header for intrface.cpp.
  16.    wince.cpp    All the Win32 APIs and C runtimes called by Info-ZIP.
  17.    wince.h      Header for wince.cpp.
  18.    punzip.rc    Resource file for all dialogs, bitmaps, menus, icons, etc.
  19.    resource.h   Resource header file for punzip.rc and other source modules.
  20.    punzip.rcv   Version resource and version defines.
  21.    punzip.ic2   Windows CE app icons (16x16 and 32x32, both 2 bits/pixel).
  22.    zipfile.ic2  Windows CE zip icons (16x16 and 32x32, both 2 bits/pixel).
  23.    imglist.2bp  Windows CE image list bitmap (2 bits/pixel).
  24.    ilmask.bmp   Windows CE image list mask bitmap (1 bit/pixel).
  25.    toolbar.2bp  Windows CE toolbar bitmap (2 bits/pixel).
  26.    punzip.ico   Windows NT application icons (16x16 and 32x32, 16 bits/pixel).
  27.    zipfile.ico  Windows NT zip file icons (16x16 and 32x32, 16 bits/pixel).
  28.    imglist.bmp  Windows NT image list bitmap (16 bits/pixel including mask).
  29.    toolbar.bmp  Windows NT toolbar bitmap (16 bits/pixel).
  30.    punzip.htp   Windows CE help file (rename to punzip.html for WinNT).
  31.    inc\         Contains dummy headers that are called by Info-ZIP code.
  32.  
  33. _______________________________________________________________________________
  34.  
  35.    Copyright and Disclaimer
  36. _______________________________________________________________________________
  37.  
  38. Copyright
  39.      
  40.      All the source files for Pocket UnZip, except for components
  41.      written by the Info-ZIP group, are copyrighted 1997 by Steve P.
  42.      Miller.  The product "Pocket UnZip" itself is property of the
  43.      author and cannot be altered in any way without written consent
  44.      from Steve P. Miller.
  45.  
  46. Disclaimer
  47.      
  48.      All project files are provided "as is" with no guarantee of
  49.      their correctness.  The authors are not liable for any outcome
  50.      that is the result of using this source.  The source for Pocket
  51.      UnZip has been placed in the public domain to help provide an
  52.      understanding of its implementation.  You are hereby granted
  53.      full permission to use this source in any way you wish, except
  54.      to alter Pocket UnZip itself.  For comments, suggestions, and
  55.      bug reports, please write to stevemil@pobox.com.
  56.  
  57. _______________________________________________________________________________
  58.  
  59.    About the Windows CE Port (known as "Pocket UnZip")
  60. _______________________________________________________________________________
  61.  
  62. The Windows CE port, known as Pocket UnZip, is designed to run on Microsoft's
  63. Windows CE operating system.  The port is completely contained in the files
  64. listed above.  There were very few minor modifications made to the Info-ZIP
  65. code in order for this port to work.  This was possible because the Info-ZIP
  66. code is fairly generic and also because several hooks have already been placed
  67. in the code from past Windows ports.  The Windows CE port leverages off of
  68. these efforts for two reasons.  Mainly, I wanted to avoid modifying the
  69. Info-ZIP core code since people don't like it when your changes break other
  70. ports.  Second, this makes the Windows CE port easy to upgrade when fixes and
  71. features are released by the Info-ZIP group.
  72.  
  73. The port is made up of the project file (punzip.dsp), one global header
  74. (punzip.h), three main source modules (winmain.cpp/h, intrface.cpp/h, and
  75. wince.cpp/h), the resource script files (punzip.rc, punzip.rcv, and resource.h),
  76. several resources (punzip.ic2, zipfile.ic2, imglist.2bp, ilmask.bmp,
  77. toolbar.2bp, punzip.ico, zipfile.ico, imglist.bmp, and toolbar.bmp), and the
  78. help file (punzip.htp).
  79.  
  80. The application's entry point is WinMain(), which is located in winmain.cpp
  81. (what a surprise).  winmain.cpp basically contains all the Windows code and the
  82. user interface.  It knows nothing about the Info-ZIP code or things like the
  83. Globals struct.  That stuff is the job of the intrface module.  intrface.cpp
  84. implements an easy (or at least easier) to understand interface to the Info-ZIP
  85. routines.  It also handles all the callbacks from Info-ZIP and relays the
  86. appropriate information back to the code in winmain.cpp.  The final module is
  87. wince.cpp.  This module implements all the Win32 APIs and C runtime functions
  88. that are called by the rest of the code, but are not natively implemented on
  89. Windows CE.  Most all of this module is excluded for NT native builds.
  90.  
  91. Two preprocessor defines are used in conjunction with several defines from
  92. the Info-ZIP code and from other ports.  The two that are specific to the
  93. Windows CE port are:
  94.  
  95.      POCKET_UNZIP   Always set for the Windows CE port (CE and NT).
  96.      _WIN32_WCE     Set for Windows CE native; not set for Windows NT native.
  97.  
  98. These three defines are the minimum defines that must be addressed by the
  99. project file in order to build this port.  This port's main header, punzip.h,
  100. gets included by all the Info-ZIP source files when POCKET_UNZIP is defined.
  101. punzip.h in turn ensures that all the other relevant Info-ZIP defines are set
  102. to correctly build the port.  If you wish to alter the Info-ZIP defines used to
  103. build this port, you can do so by altering punzip.h.
  104.  
  105. There are quite a few _WIN32_WCE checks throughout the source files for this
  106. port.  These checks allow the application to build natively for Windows NT for
  107. debugging purposes, and just because it can with little effort due to the
  108. similarities between the Windows CE API and the Windows NT API. Any non-Windows
  109. CE code is assumed to be for Windows NT only.  This project currently will not
  110. work on Windows 95 because Windows CE is mostly UNICODE, and this port assumes
  111. that all Win32 calls to the operating system take UNICODE parameters.  I could
  112. scatter a few dozen "#ifdef UNICODE" checks around and make it work on Windows
  113. 95, but I see no reason to complicate this port's code for that reason since
  114. there is already a Windows 95 port of the Info-ZIP code.
  115.  
  116. _______________________________________________________________________________
  117.  
  118.    Building the Windows CE Port (known as "Pocket UnZip")
  119. _______________________________________________________________________________
  120.  
  121. At the time this README was written, Microsoft just released Visual C++ for
  122. Windows CE version 1.0.  This development kit uses the the standard Microsoft
  123. Visual C++ version 5.0 development environment and project files (DSP files).
  124. To build Windows CE binaries of Pocket UnZip, you will need version 1.0 or
  125. later of Visual C++ for Windows CE.
  126.  
  127. This port's project file, punzip.dsp, contains the information for building all
  128. the various binaries.  These include Windows NT native, Windows CE native for
  129. Hitachi SH-3 processors, and Windows CE native for MIPS processors.  All
  130. projects have Debug and Retail flavors as well.  The following table lists the
  131. Windows CE devices and which binary they run:
  132.  
  133.      Manufacturer             CPU             Binary
  134.      ---------------------    ------------    ------
  135.      Philips Electronics      MIPS R3910      MIPS
  136.      NEC Corp.                NEC VR4101      MIPS
  137.      Casio Computer Co.       Hitachi SH-3    SH-3
  138.      Compaq Computer Corp.    Hitachi SH-3    SH-3
  139.      Hewlett-Packard Co.      Hitachi SH-3    SH-3
  140.      Hitachi Ltd.             Hitachi SH-3    SH-3
  141.      LG Electronics Inc.      Hitachi SH-3    SH-3
  142.  
  143. Before building Pocket UnZip, you will need to move some files around.  If you
  144. have just unzipped the Info-ZIP's UnZip 5.30 sources, you should have a root
  145. directory with the core Info-ZIP files in it and several subdirectories under it
  146. for the various ports, one of which is the WinCE directory.  Move punzip.dsp
  147. from the WinCE subdirectory to the Info-ZIP root and open it with Visual C++ for
  148. Windows CE version 1.0 or later.  The project file uses all the files in the
  149. WinCE subdirectory as well as the following files in the Info-ZIP root:
  150.  
  151.      api.c        crypt.h      globals.c    process.c    unzip.h
  152.      consts.h     ebcdic.h     globals.h    ttyio.c      unzpriv.h
  153.      crc32.c      explode.c    inflate.c    ttyio.h      version.h
  154.      crctab.c     extract.c    inflate.h    unreduce.c   zip.h
  155.      crypt.c      fileio.c     list.c       unshrink.c
  156.  
  157. _______________________________________________________________________________
  158.  
  159.    Contacting the Authors
  160. _______________________________________________________________________________
  161.  
  162. The Info-ZIP group is made up of dozens of people, past and present, who
  163. have devoted countless hours to providing the public with free and portable
  164. compression software.  The author of the Windows CE port, Pocket UnZip, is
  165. Steve P. Miller.
  166.  
  167. If you have questions, comments, suggestions, or bug reports concerning Pocket
  168. UnZip itself, you can write Steve Miller at:
  169.  
  170.      stevemil@pobox.com
  171.  
  172. If you find a bug that appears to be more Info-ZIP related (i.e. the actual
  173. decompression part of Pocket UnZip), you can send mail to:
  174.  
  175.      Zip-Bugs@lists.wku.edu
  176.  
  177. For all other general discussion type questions or comments, you can send mail
  178. to (as well as join) the following mailing list:
  179.  
  180.      Info-Zip@lists.wku.edu
  181.  
  182. See the main UnZip README file for info on how to join the latter list.
  183.