Imported from libpng-1.0.9beta1.tar
diff --git a/ANNOUNCE b/ANNOUNCE
index 34b5b39..a3dcaf0 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,25 +1,30 @@
 
-Libpng 1.0.8 - July 24, 2000
+Libpng 1.0.9beta1 - November 10, 2000
 
 This is a public release of libpng, intended for use in production codes.
 
-Changes since the last public release (1.0.7):
+Changes since the last public release (1.0.8):
 
-  Added png_free(png_ptr, key) two places in pngpread.c to stop memory leaks.
-  Changed PNG_NO_STDIO to PNG_NO_CONSOLE_IO, several places in pngrutil.c and
-     pngwutil.c.
-  Changed PNG_EXPORT_VAR to use PNG_IMPEXP, in pngconf.h.
-  Removed unused "#include <assert.h>" from png.c
-  Added WindowsCE support.
-  Revised pnggccrd.c to work with gcc-2.95.2 and in the Cygwin environment.
-  Only set the PNG_FLAG_FREE_TRNS or PNG_FREE_TRNS flag in png_handle_tRNS()
-     for indexed-color input files to avoid potential double-freeing trans array
-     under some unusual conditions; problem was introduced in version 1.0.7.
-  Added the files pngbar.png and pngbar.jpg to the distribution.
-  Added cygwin subdirectory, makefile.cygwin, and cygwin support in pngconf.h
-  Added PNG_NO_ZALLOC_ZERO macro (makes png_zalloc skip zeroing memory)
-  Revised png_debug() macros and statements to eliminate compiler warnings.
-  Updated makefile.hpux to build a shared library.
+  Fixed typo in scripts/makefile.hpux
+  Fixed seqence-point bug in contrib/pngminus/png2pnm (Martin Zinser)
+  Updated makevms.com in scripts and contrib/* and contrib/* (Martin Zinser)
+  Changed "cdrom.com" in documentation to "libpng.org"
+  Revised pnggccrd.c to get it all working, and updated makefile.gcmmx (Greg).
+  Changed type of "params" from voidp to png_voidp in png_read|write_png().
+  Added MNG_EXTENSIONS_SUPPORTED macro and support for some proposed MNG
+     features, for testing purposes.
+  Make sure PNGAPI and PNG_IMPEXP are defined in pngconf.h.
+  Revised the 3 instances of WRITEFILE in pngtest.c.
+  Relocated "msvc" and "wince" project subdirectories into "dll" subdirectory.
+  Updated png.rc in dll/msvc project
+  Revised makefile.dec to define and use LIBPATH and INCPATH
+  Increased size of global png_libpng_ver[] array from 12 to 18 chars.
+  Made global png_libpng_ver[], png_sig[] and png_pass_*[] arrays const.
+  Removed duplicate png_crc_finish() from png_handle_bKGD() function.
+  Added a warning when application calls png_read_update_info() multiple times.
+  Revised makefile.cygwin
+  Fixed bugs in iCCP support in pngrutil.c and pngwutil.c.
+  Replaced png_set_empty_plte_permitted() with png_permit_mng_features().
 
 Send comments/corrections/commendations to
 png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/CHANGES b/CHANGES
index 1e44344..2519c27 100644
--- a/CHANGES
+++ b/CHANGES
@@ -778,7 +778,8 @@
   Added a check for overlength PLTE chunk in pngrutil.c.
   Added PNG_NO_POINTER_INDEXING macro to use array-indexing instead of pointer
     indexing in pngrutil.c and pngwutil.c to accommodate a buggy compiler.
-  Added a warning in png_decompress_chunk() when it runs out of data.
+  Added a warning in png_decompress_chunk() when it runs out of data, e.g.
+    when it tries to read an erroneous PhotoShop iCCP chunk.
   Added PNG_USE_DLL macro.
   Revised the copyright/disclaimer/license notice.
   Added contrib/msvctest directory
@@ -797,7 +798,7 @@
   Fixed "DJBPP" typo in pnggccrd.c introduced in beta18.
 version 1.0.7 [July 1, 2000]
   Revised the definition of "trans_values" in libpng.3/libpng.txt
-version 1.0.8 [July 24, 2000]
+version 1.0.9beta1 [November 10, 2000]
 version 1.0.8beta1 [July 8, 2000]
   Added png_free(png_ptr, key) two places in pngpread.c to stop memory leaks.
   Changed PNG_NO_STDIO to PNG_NO_CONSOLE_IO, several places in pngrutil.c and
@@ -816,13 +817,32 @@
   Further revisions to pngtest.c and files in the wince subdirectory.
 version 1.0.8beta4 [July 14, 2000]
   Added the files pngbar.png and pngbar.jpg to the distribution.
-  Added cygwin subdirectory, makefile.cygwin, and cygwin support in pngconf.h
+  Added makefile.cygwin, and cygwin support in pngconf.h
   Added PNG_NO_ZALLOC_ZERO macro (makes png_zalloc skip zeroing memory)
 version 1.0.8rc1 [July 16, 2000]
   Revised png_debug() macros and statements to eliminate compiler warnings.
 version 1.0.8 [July 24, 2000]
   Added png_flush() in pngwrite.c, after png_write_IEND().
   Updated makefile.hpux to build a shared library.
+version 1.0.9beta1 [November 10, 2000]
+  Fixed typo in scripts/makefile.hpux
+  Updated makevms.com in scripts and contrib/* and contrib/* (Martin Zinser)
+  Fixed seqence-point bug in contrib/pngminus/png2pnm (Martin Zinser)
+  Changed "cdrom.com" in documentation to "libpng.org"
+  Revised pnggccrd.c to get it all working, and updated makefile.gcmmx (Greg).
+  Changed type of "params" from voidp to png_voidp in png_read|write_png().
+  Make sure PNGAPI and PNG_IMPEXP are defined in pngconf.h.
+  Revised the 3 instances of WRITEFILE in pngtest.c.
+  Relocated "msvc" and "wince" project subdirectories into "dll" subdirectory.
+  Updated png.rc in dll/msvc project
+  Revised makefile.dec to define and use LIBPATH and INCPATH
+  Increased size of global png_libpng_ver[] array from 12 to 18 chars.
+  Made global png_libpng_ver[], png_sig[] and png_pass_*[] arrays const.
+  Removed duplicate png_crc_finish() from png_handle_bKGD() function.
+  Added a warning when application calls png_read_update_info() multiple times.
+  Revised makefile.cygwin
+  Fixed bugs in iCCP support in pngrutil.c and pngwutil.c.
+  Replaced png_set_empty_plte_permitted() with png_permit_mng_features().
 
 Send comments/corrections/commendations to
 png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/INSTALL b/INSTALL
index 869d810..c35948a 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.0.8 - July 24, 2000
+Installing libpng version 1.0.9beta1 - November 10, 2000
 
 Before installing libpng, you must first install zlib.  zlib
 can usually be found wherever you got libpng.  zlib can be
@@ -10,7 +10,7 @@
 version of zlib that's installed.
 
 You can rename the directories that you downloaded (they
-might be called "libpng-1.0.8" or "lpng107" and "zlib-1.1.3"
+might be called "libpng-1.0.9beta1" or "lpng109" and "zlib-1.1.3"
 or "zlib113") so that you have directories called "zlib" and "libpng".
 
 Your directory structure should look like this:
@@ -27,11 +27,12 @@
              pngminus
              pngsuite
              visupng
-          msvc
+          dll
+             msvc
+             wince
           scripts
              makefile.*
           pngtest.png
-          wince
           etc.
       zlib
           README
@@ -57,22 +58,23 @@
 include
 
  makefile.std      =>  Generic UNIX makefile (cc, creates static libpng.a)
- makefile.linux    =>  Linux/ELF makefile (gcc, creates libpng.so.2.1.0.8)
- makefile.gcmmx    =>  Linux/ELF makefile (gcc, creates libpng.so.2.1.0.8,
+ makefile.linux    =>  Linux/ELF makefile (gcc, creates libpng.so.2.1.0.9beta1)
+ makefile.gcmmx    =>  Linux/ELF makefile (gcc, creates libpng.so.2.1.0.9beta1,
                        uses assembler code tuned for Intel MMX platform)
  makefile.gcc      =>  Generic makefile (gcc, creates static libpng.a)
  makefile.knr      =>  Archaic UNIX Makefile that converts files with
                        ansi2knr (Requires ansi2knr.c from
                        ftp://ftp.cs.wisc.edu/ghost)
+ makefile.cygwin   =>  Cygwin/gcc makefile
  makefile.dec      =>  DEC Alpha UNIX makefile
  makefile.hpux     =>  HPUX (10.20 and 11.00) makefile
  makefile.ibmc     =>  IBM C/C++ version 3.x for Win32 and OS/2 (static)
  makefile.intel    =>  Intel C/C++ version 4.0 and later
  libpng.icc        =>  Project file for IBM VisualAge/C++ version 4.0 or later
  makefile.sgi      =>  Silicon Graphics IRIX makefile (cc, creates static lib)
- makefile.sggcc    =>  Silicon Graphics (gcc, creates libpng.so.2.1.0.8)
+ makefile.sggcc    =>  Silicon Graphics (gcc, creates libpng.so.2.1.0.9beta1)
  makefile.sunos    =>  Sun makefile
- makefile.solaris  =>  Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.8)
+ makefile.solaris  =>  Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.9beta1)
  makefile.sco      =>  For SCO OSr5  ELF and Unixware 7 with Native cc
  makefile.mips     =>  MIPS makefile
  makefile.acorn    =>  Acorn makefile
@@ -125,5 +127,5 @@
 do that, run "make install" in the zlib directory first if necessary).
 
 Further information can be found in the README and libpng.txt
-files, in the individual makefiles, in png.h, and the manual pages
-libpng.3 and png.5.
+files, in the individual makefiles, in png.h, in the README files in
+subdirectories of the dll directory, and the manual pages libpng.3 and png.5.
diff --git a/KNOWNBUG b/KNOWNBUG
index 013c06e..d879ce0 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -1,15 +1,32 @@
 
 Known bugs and suggested enhancements in libpng-1.0.8
 
-1. July 2, 2000 -- BUG -- pnggccrd.c
+0: November 3, 2000 -- BUG -- incorrect iCCP chunk is written
 
-   The png_read_filter() function has still not been fully converted and
+   The compression_type byte in the iCCP chunk written by libpng is
+   usually incorrect.
+
+   Status: Fixed in libpng-1.0.9beta1
+
+1. October 12, 2000 -- BUG -- pngtest fails
+
+   The three WRITEFILE calls in pngtest.c are incorrect.  They must be
+   changed to read
+
+   WRITEFILE((png_FILE_p)png_ptr->io_ptr,  data, length, check);
+   WRITEFILE(io_ptr, near_data, length, check);
+   WRITEFILE(io_ptr, buf, written, err);
+
+2. August 28, 2000 -- BUG -- pnggccrd.c
+
+   The interlacing() function has still not been fully converted and
    will not compile under gcc-2.95.2; it is currently ifdef'ed out.
 
-   STATUS: Under investigation.  Experts on MMX assembler code are
-   invited to help with the debugging.  Note that pngvcrd.c works fine.
+   STATUS: Fixed in libpng-1.0.9.  There were also bugs in pngvcrd.c
+   which have been fixed.  The replacement files are available at the
+   PNG web site (http://www.libpng.org/pub/png).
 
-2. March 15, 1998 -- OPTIMIZATION -- Kevin Bracey
+3. March 15, 1998 -- OPTIMIZATION -- Kevin Bracey
 
    Loops need to be optimized everywhere
 
@@ -24,7 +41,7 @@
    libpng-2.0.0.  About 160 loops will be turned around
    in libpng-2.0.x betaxx, for testing.
 
-3. July 4, 1998 -- ENHANCEMENT -- Glenn R-P
+4. July 4, 1998 -- ENHANCEMENT -- Glenn R-P
 
    libpng-1.0.5 and earlier transform colors to gamma=1.0 space for
    merging with background, and then back to the image's gamma.  The
@@ -36,9 +53,9 @@
 
    STATUS: under development.
 
-4. September 1999 -- ENHANCEMENT --
+5. September 1999 -- ENHANCEMENT --
 
-   It should be possible to use libpng without floating-point aritmetic.
+   It should be possible to use libpng without floating-point arithmetic.
 
    STATUS: Under investigation, implementation postponed until after
    libpng-2.0.0.
diff --git a/LICENSE b/LICENSE
index 24667b6..34345d3 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,10 +1,14 @@
 
+This copy of the libpng notices is provided for your convenience.  In case of
+any discrepancy between this copy and the notices in the file png.h that is
+included in the libpng distribution, the latter shall prevail.
+
 COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
 
 If you modify libpng you may insert additional notices immediately following
 this sentence.
 
-libpng versions 1.0.7, July 1, 2000, through 1.0.8, July 24, 2000, are
+libpng versions 1.0.7, July 1, 2000, through 1.0.9beta1, November 10, 2000, are
 Copyright (c) 2000 Glenn Randers-Pehrson
 and are distributed according to the same disclaimer and license as libpng-1.0.6
 with the following individuals added to the list of Contributing Authors
@@ -95,4 +99,4 @@
 
 Glenn Randers-Pehrson
 randeg@alum.rpi.edu
-July 24, 2000
+November 10, 2000
diff --git a/README b/README
index 93ac13e..c017a9b 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng 1.0.8 - July 24, 2000 (shared library 2.1)
+README for libpng 1.0.9beta1 - November 10, 2000 (shared library 2.1)
 See the note about version numbers near the top of png.h
 
 See INSTALL for instructions on how to install libpng.
@@ -171,30 +171,34 @@
        pngminus     =>  Simple pnm2png and png2pnm programs
        pngsuite     =>  Test images
        visupng      =>  Contains a MSVC workspace for VisualPng
-      msvc          =>  Contains a Microsoft Visual C++ (MSVC) workspace
-                        for building libpng and zlib
+      dll           =>  Contains project files and workspaces for building DLL
+       msvc             =>  Contains a Microsoft Visual C++ (MSVC) workspace
+                            for building libpng and zlib
+       wince            =>  Contains a Microsoft Visual C++ (Windows CD Toolkit)
+                            workspace for building libpng and zlib on WindowsCE
       scripts       =>  Directory containing scripts for building libpng:
        descrip.mms      =>  VMS makefile for MMS or MMK
        makefile.std     =>  Generic UNIX makefile (cc, creates static libpng.a)
        makefile.linux   =>  Linux/ELF makefile
-                            (gcc, creates libpng.so.2.1.0.8)
+                            (gcc, creates libpng.so.2.1.0.9beta1)
        makefile.gcmmx   =>  Linux/ELF makefile (gcc, creates
-                            libpng.so.2.1.0.8, uses assembler code
+                            libpng.so.2.1.0.9beta1, uses assembler code
                             tuned for Intel MMX platform)
        makefile.gcc     =>  Generic makefile (gcc, creates static libpng.a)
        makefile.knr     =>  Archaic UNIX Makefile that converts files with
                             ansi2knr (Requires ansi2knr.c from
                             ftp://ftp.cs.wisc.edu/ghost)
+       makefile.cygwin  =>  Cygwin/gcc makefile
        makefile.dec     =>  DEC Alpha UNIX makefile
        makefile.hpux    =>  HPUX (10.20 and 11.00) makefile
        makefile.ibmc    =>  IBM C/C++ version 3.x for Win32 and OS/2 (static)
        makefile.intel   =>  Intel C/C++ version 4.0 and later
        libpng.icc       =>  Project file, IBM VisualAge/C++ 4.0 or later
        makefile.sgi     =>  Silicon Graphics IRIX (cc, creates static lib)
-       makefile.sggcc   =>  Silicon Graphics (gcc, creates libpng.so.2.1.0.8)
+       makefile.sggcc   =>  Silicon Graphics (gcc, creates libpng.so.2.1.0.9beta1)
        makefile.sunos   =>  Sun makefile
        makefile.solaris =>  Solaris 2.X makefile
-                            (gcc, creates libpng.so.2.1.0.8)
+                            (gcc, creates libpng.so.2.1.0.9beta1)
        makefile.sco     =>  For SCO OSr5  ELF and Unixware 7 with Native cc
        makefile.mips    =>  MIPS makefile
        makefile.acorn   =>  Acorn makefile
@@ -221,8 +225,6 @@
        makevms.com      =>  VMS build script
        pngdef.pas       =>  Defines for a png32bd.dll with Borland C++ 4.5
        SCOPTIONS.ppc    =>  Used with smakefile.ppc
-      wince         =>  Contains a Microsoft Visual C++ (Windows CD Toolkit)
-                        workspace for building libpng and zlib on WindowsCE
 
 Good luck, and happy coding.
 
diff --git a/Y2KINFO b/Y2KINFO
index 241dd69..6e6a46b 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -1,13 +1,13 @@
    Y2K compliance in libpng:
    =========================
 
-      July 24, 2000
+      November 10, 2000
 
       Since the PNG Development group is an ad-hoc body, we can't make
       an official declaration.
 
       This is your unofficial assurance that libpng from version 0.71 and
-      upward through 1.0.8 are Y2K compliant.  It is my belief that earlier
+      upward through 1.0.9beta1 are Y2K compliant.  It is my belief that earlier
       versions were also Y2K compliant.
 
       Libpng only has three year fields.  One is a 2-byte unsigned integer
diff --git a/configure b/configure
index 85668cd..8e5992a 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 echo "
-  There is no \"configure\" script for Libpng-1.0.8.  Instead, please
+  There is no \"configure\" script for Libpng-1.0.9beta1.  Instead, please
   copy the appropriate makefile for your system from the \"scripts\"
   directory.  Read the INSTALL file for more details.
 "
diff --git a/contrib/gregbook/makevms.com b/contrib/gregbook/makevms.com
index b8cbfae..373926b 100644
--- a/contrib/gregbook/makevms.com
+++ b/contrib/gregbook/makevms.com
@@ -7,12 +7,25 @@
 $!
 $!    Set locations where zlib and libpng sources live.
 $!
-$ zpath = "[-.zlib]"
-$ pngpath = "[-.libpng]"
+$ zpath   = ""
+$ pngpath = ""
+$ if f$search("[-.zlib]zlib.h").nes."" then zpath = "[-.zlib]"
+$ if f$search("[-.libpng]png.h").nes."" then pngpath = "[-.libpng]"
 $!
-$! USE THESE INSTEAD if building from libpng's [.contrib.gregbook] directory:
-$! zpath = "[---.zlib]"
-$! pngpath = "[--]"
+$ if f$search("[---.zlib]zlib.h").nes."" then zpath = "[---.zlib]"
+$ if f$search("[--]png.h").nes."" then pngpath = "[--]"
+$!
+$ if zpath .eqs. ""
+$ then
+$   write sys$output "Zlib include not found. Exiting..."
+$   exit 2
+$ endif 
+$!
+$ if pngpath .eqs. ""
+$ then
+$   write sys$output "Libpng include not found. Exiting..."
+$   exit 2
+$ endif 
 $!
 $!    Look for the compiler used.
 $!
diff --git a/contrib/msvctest/README.txt b/contrib/msvctest/README.txt
index 1805780..67360bc 100644
--- a/contrib/msvctest/README.txt
+++ b/contrib/msvctest/README.txt
@@ -1,8 +1,8 @@
 Microsoft Developer Studio Build File, Format Version 6.00 for
 msvctest
 
-Assumes that libpng DLLs and LIBs are in ..\..\msvc\win32\libpng
-Assumes that zlib DLLs and LIBs are in ..\..\msvc\win32\zlib
+Assumes that libpng DLLs and LIBs are in ..\..\dll\msvc\win32\libpng
+Assumes that zlib DLLs and LIBs are in ..\..\dll\msvc\win32\zlib
 
 To build:
 
diff --git a/contrib/msvctest/msvctest.dsp b/contrib/msvctest/msvctest.dsp
index d743840..c691e0e 100644
--- a/contrib/msvctest/msvctest.dsp
+++ b/contrib/msvctest/msvctest.dsp
@@ -54,12 +54,12 @@
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\msvc\win32\libpng\dll\libpng1.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ..\..\dll\msvc\win32\libpng\dll\libpng1.lib /nologo /subsystem:console /machine:I386
 # Begin Special Build Tool
 OutDir=.\dll
 SOURCE="$(InputPath)"
 PostBuild_Desc=[Run Test]
-PostBuild_Cmds=set path=..\..\msvc\win32\libpng\dll;..\..\msvc\win32\zlib\dll;	$(outdir)\msvctest.exe ..\..\pngtest.png
+PostBuild_Cmds=set path=..\..\dll\msvc\win32\libpng\dll;..\..\dll\msvc\win32\zlib\dll;	$(outdir)\msvctest.exe ..\..\pngtest.png
 # End Special Build Tool
 
 !ELSEIF  "$(CFG)" == "msvctest - Win32 Debug DLL"
@@ -84,12 +84,12 @@
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\msvc\win32\libpng\dll_dbg\libpng1d.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 ..\..\dll\msvc\win32\libpng\dll_dbg\libpng1d.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
 # Begin Special Build Tool
 OutDir=.\dll_dbg
 SOURCE="$(InputPath)"
 PostBuild_Desc=[Run Test]
-PostBuild_Cmds=set path=..\..\msvc\win32\libpng\dll_dbg;..\..\msvc\win32\zlib\dll_dbg;	$(outdir)\msvctest.exe ..\..\pngtest.png
+PostBuild_Cmds=set path=..\..\dll\msvc\win32\libpng\dll_dbg;..\..\dll\msvc\win32\zlib\dll_dbg;	$(outdir)\msvctest.exe ..\..\pngtest.png
 # End Special Build Tool
 
 !ELSEIF  "$(CFG)" == "msvctest - Win32 ASM DLL"
@@ -114,12 +114,12 @@
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\msvc\win32\libpng\dll_asm\libpng1a.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ..\..\dll\msvc\win32\libpng\dll_asm\libpng1a.lib /nologo /subsystem:console /machine:I386
 # Begin Special Build Tool
 OutDir=.\dll_asm
 SOURCE="$(InputPath)"
 PostBuild_Desc=[Run Test]
-PostBuild_Cmds=set path=..\..\msvc\win32\libpng\dll_asm;..\..\msvc\win32\zlib\dll_asm;	$(outdir)\msvctest.exe ..\..\pngtest.png
+PostBuild_Cmds=set path=..\..\dll\msvc\win32\libpng\dll_asm;..\..\dll\msvc\win32\zlib\dll_asm;	$(outdir)\msvctest.exe ..\..\pngtest.png
 # End Special Build Tool
 
 !ELSEIF  "$(CFG)" == "msvctest - Win32 Debug ASM DLL"
@@ -144,12 +144,12 @@
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\msvc\win32\libpng\dll_dbga\libpng1b.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 ..\..\dll\msvc\win32\libpng\dll_dbga\libpng1b.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
 # Begin Special Build Tool
 OutDir=.\dll_dbga
 SOURCE="$(InputPath)"
 PostBuild_Desc=[Run Test]
-PostBuild_Cmds=set path=..\..\msvc\win32\libpng\dll_dbga;..\..\msvc\win32\zlib\dll_dbga;	$(outdir)\msvctest.exe ..\..\pngtest.png
+PostBuild_Cmds=set path=..\..\dll\msvc\win32\libpng\dll_dbga;..\..\dll\msvc\win32\zlib\dll_dbga;	$(outdir)\msvctest.exe ..\..\pngtest.png
 # End Special Build Tool
 
 !ELSEIF  "$(CFG)" == "msvctest - Win32 LIB"
@@ -174,7 +174,7 @@
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\msvc\win32\libpng\lib\libpng.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ..\..\dll\msvc\win32\libpng\lib\libpng.lib /nologo /subsystem:console /machine:I386
 # Begin Special Build Tool
 OutDir=.\lib
 SOURCE="$(InputPath)"
@@ -204,7 +204,7 @@
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\msvc\win32\libpng\lib_dbg\libpng.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 ..\..\dll\msvc\win32\libpng\lib_dbg\libpng.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
 # Begin Special Build Tool
 OutDir=.\lib_dbg
 SOURCE="$(InputPath)"
diff --git a/contrib/pngminus/makevms.com b/contrib/pngminus/makevms.com
index 7a14be5..00561bc 100644
--- a/contrib/pngminus/makevms.com
+++ b/contrib/pngminus/makevms.com
@@ -45,9 +45,9 @@
 $   write sys$output "Building png2pnm..."
 $   CALL MAKE png2pnm.OBJ "cc ''CCOPT' png2pnm" -
 	png2pnm.c
-$   call make pnm2png.exe -
-	"LINK pnm2png,lib.opt/opt" -
-	pnm2png.obj
+$   call make png2pnm.exe -
+	"LINK png2pnm,lib.opt/opt" -
+	png2pnm.obj
 $ exit
 $!
 $!
diff --git a/contrib/pngminus/png2pnm.c b/contrib/pngminus/png2pnm.c
index 84e2448..010870a 100644
--- a/contrib/pngminus/png2pnm.c
+++ b/contrib/pngminus/png2pnm.c
@@ -204,6 +204,7 @@
   int           row, col;
   int           ret;
   int           i;
+  long          dep_16;
 
   /* read and check signature in PNG file */
   ret = fread (buf, 1, 8, png_file);
@@ -379,8 +380,10 @@
         if (raw)
           fputc ((int) *pix_ptr++ , pnm_file);
         else
-          if (bit_depth == 16)
-            fprintf (pnm_file, "%ld ", ((long) *pix_ptr++ << 8) + (long) *pix_ptr++);
+          if (bit_depth == 16){
+	    dep_16 = (long) *pix_ptr++;
+            fprintf (pnm_file, "%ld ", (dep_16 << 8) + ((long) *pix_ptr++));
+          }
           else
             fprintf (pnm_file, "%ld ", (long) *pix_ptr++);
       }
@@ -397,8 +400,10 @@
           if (raw)
             fputc ((int) *pix_ptr++ , alpha_file);
           else
-            if (bit_depth == 16)
-              fprintf (alpha_file, "%ld ", ((long) *pix_ptr++ << 8) + (long) *pix_ptr++);
+            if (bit_depth == 16){
+	      dep_16 = (long) *pix_ptr++;
+              fprintf (alpha_file, "%ld ", (dep_16 << 8) + (long) *pix_ptr++);
+	    }  
             else
               fprintf (alpha_file, "%ld ", (long) *pix_ptr++);
         }
diff --git a/contrib/visupng/README.txt b/contrib/visupng/README.txt
index 7594ec3..94b1e58 100644
--- a/contrib/visupng/README.txt
+++ b/contrib/visupng/README.txt
@@ -13,8 +13,8 @@
 
 Assumes that
 
-   libpng DLLs and LIBs are in ..\..\msvc\win32\libpng
-   zlib DLLs and LIBs are in   ..\..\msvc\win32\zlib
+   libpng DLLs and LIBs are in ..\..\dll\msvc\win32\libpng
+   zlib DLLs and LIBs are in   ..\..\dll\msvc\win32\zlib
    libpng header files are in  ..\..\..\libpng
    zlib header files are in    ..\..\..\zlib
    the pngsuite images are in  ..\pngsuite
diff --git a/contrib/visupng/VisualPng.dsp b/contrib/visupng/VisualPng.dsp
index fb42c81..77d2b5b 100644
--- a/contrib/visupng/VisualPng.dsp
+++ b/contrib/visupng/VisualPng.dsp
@@ -60,11 +60,11 @@
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 libpng1.lib zlibd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /libpath:"libpng" /libpath:"zlib"
-# ADD LINK32 libpng1.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /libpath:"..\..\msvc\win32\libpng\dll"
+# ADD LINK32 libpng1.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /libpath:"..\..\dll\msvc\win32\libpng\dll"
 # Begin Special Build Tool
 OutDir=.\dll
 SOURCE="$(InputPath)"
-PostBuild_Cmds=set path=..\..\msvc\win32\libpng\dll;..\..\msvc\win32\zlib\dll;	$(outdir)\VisualPng.exe ..\..\contrib\pngsuite\basn6a16.png
+PostBuild_Cmds=set path=..\..\dll\msvc\win32\libpng\dll;..\..\dll\msvc\win32\zlib\dll;	$(outdir)\VisualPng.exe ..\..\contrib\pngsuite\basn6a16.png
 # End Special Build Tool
 
 !ELSEIF  "$(CFG)" == "VisualPng - Win32 Debug DLL"
@@ -94,12 +94,12 @@
 LINK32=link.exe
 # ADD BASE LINK32 libpng1.lib zlibd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"libpng" /libpath:"zlib"
 # SUBTRACT BASE LINK32 /nodefaultlib
-# ADD LINK32 libpng1d.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"..\..\msvc\win32\libpng\dll_dbg"
+# ADD LINK32 libpng1d.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"..\..\dll\msvc\win32\libpng\dll_dbg"
 # SUBTRACT LINK32 /nodefaultlib
 # Begin Special Build Tool
 OutDir=.\dll_dbg
 SOURCE="$(InputPath)"
-PostBuild_Cmds=set path=..\..\msvc\win32\libpng\dll_dbg;..\..\msvc\win32\zlib\dll_dbg;	$(outdir)\VisualPng.exe ..\..\contrib\pngsuite\basn6a16.png
+PostBuild_Cmds=set path=..\..\dll\msvc\win32\libpng\dll_dbg;..\..\dll\msvc\win32\zlib\dll_dbg;	$(outdir)\VisualPng.exe ..\..\contrib\pngsuite\basn6a16.png
 # End Special Build Tool
 
 !ELSEIF  "$(CFG)" == "VisualPng - Win32 LIB"
@@ -128,8 +128,8 @@
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LINK32=link.exe
-# ADD BASE LINK32 libpng1.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /libpath:"..\..\msvc\win32\libpng\dll"
-# ADD LINK32 libpng.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /libpath:"..\..\msvc\win32\libpng\lib"
+# ADD BASE LINK32 libpng1.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /libpath:"..\..\dll\msvc\win32\libpng\dll"
+# ADD LINK32 libpng.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /libpath:"..\..\dll\msvc\win32\libpng\lib"
 # Begin Special Build Tool
 OutDir=.\lib
 SOURCE="$(InputPath)"
@@ -161,9 +161,9 @@
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LINK32=link.exe
-# ADD BASE LINK32 libpng1d.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"..\..\msvc\win32\libpng\dll_dbg"
+# ADD BASE LINK32 libpng1d.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"..\..\dll\msvc\win32\libpng\dll_dbg"
 # SUBTRACT BASE LINK32 /nodefaultlib
-# ADD LINK32 libpng.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"..\..\msvc\win32\libpng\lib_dbg"
+# ADD LINK32 libpng.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"..\..\dll\msvc\win32\libpng\lib_dbg"
 # SUBTRACT LINK32 /nodefaultlib
 # Begin Special Build Tool
 OutDir=.\lib_dbg
diff --git a/msvc/README.txt b/dll/msvc/README.txt
similarity index 92%
rename from msvc/README.txt
rename to dll/msvc/README.txt
index 11aa150..932f721 100644
--- a/msvc/README.txt
+++ b/dll/msvc/README.txt
@@ -1,11 +1,11 @@
 Microsoft Developer Studio Build File, Format Version 6.00 for
-libpng 1.0.8 (July 24, 2000) and zlib
+libpng 1.0.9beta1 (November 10, 2000) and zlib
 
 Copyright (C) 2000 Simon-Pierre Cadieux
 For conditions of distribution and use, see copyright notice in png.h
 
-Assumes that libpng sources are in ..
-Assumes that zlib sources have been copied to ..\..\zlib
+Assumes that libpng sources are in ..\..
+Assumes that zlib sources have been copied to ..\..\..\zlib
 
 To build:
 
diff --git a/msvc/libpng.dsp b/dll/msvc/libpng.dsp
similarity index 83%
rename from msvc/libpng.dsp
rename to dll/msvc/libpng.dsp
index 1fb6b26..4421782 100644
--- a/msvc/libpng.dsp
+++ b/dll/msvc/libpng.dsp
@@ -46,11 +46,11 @@
 # PROP Target_Dir ""
 CPP=cl.exe
 # ADD BASE CPP /nologo /MD /W3 /O1 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /FD /c
-# ADD CPP /nologo /MD /W3 /O1 /I ".." /I "..\..\zlib" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /Yu"png.h" /FD /c
+# ADD CPP /nologo /MD /W3 /O1 /I "..\.." /I "..\..\..\zlib" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /Yu"png.h" /FD /c
 MTL=midl.exe
 RSC=rc.exe
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /i ".." /d "NDEBUG"
+# ADD RSC /l 0x409 /i "..\.." /d "NDEBUG"
 BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
@@ -74,11 +74,11 @@
 # PROP Target_Dir ""
 CPP=cl.exe
 # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Zi /Od /I ".." /I "..\..\zlib" /D "DEBUG" /D "_DEBUG" /D PNG_DEBUG=1 /D "WIN32" /D "_WINDOWS" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /Yu"png.h" /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Zi /Od /I "..\.." /I "..\..\..\zlib" /D "DEBUG" /D "_DEBUG" /D PNG_DEBUG=1 /D "WIN32" /D "_WINDOWS" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /Yu"png.h" /FD /GZ /c
 MTL=midl.exe
 RSC=rc.exe
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /i ".." /d "_DEBUG" /d PNG_DEBUG=1
+# ADD RSC /l 0x409 /i "..\.." /d "_DEBUG" /d PNG_DEBUG=1
 BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
@@ -101,11 +101,11 @@
 # PROP Target_Dir ""
 CPP=cl.exe
 # ADD BASE CPP /nologo /MD /W3 /O1 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /FD /c
-# ADD CPP /nologo /MD /W3 /O1 /I ".." /I "..\..\zlib" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "PNG_USE_PNGVCRD" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /Yu"png.h" /FD /c
+# ADD CPP /nologo /MD /W3 /O1 /I "..\.." /I "..\..\..\zlib" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "PNG_USE_PNGVCRD" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /Yu"png.h" /FD /c
 MTL=midl.exe
 RSC=rc.exe
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /i ".." /d "NDEBUG" /d "PNG_USE_PNGVCRD"
+# ADD RSC /l 0x409 /i "..\.." /d "NDEBUG" /d "PNG_USE_PNGVCRD"
 BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
@@ -129,11 +129,11 @@
 # PROP Target_Dir ""
 CPP=cl.exe
 # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Zi /Od /I ".." /I "..\..\zlib" /D "DEBUG" /D "_DEBUG" /D PNG_DEBUG=1 /D "WIN32" /D "_WINDOWS" /D "PNG_USE_PNGVCRD" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /Yu"png.h" /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Zi /Od /I "..\.." /I "..\..\..\zlib" /D "DEBUG" /D "_DEBUG" /D PNG_DEBUG=1 /D "WIN32" /D "_WINDOWS" /D "PNG_USE_PNGVCRD" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /Yu"png.h" /FD /GZ /c
 MTL=midl.exe
 RSC=rc.exe
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /i ".." /d "_DEBUG" /d PNG_DEBUG=1  /d "PNG_USE_PNGVCRD"
+# ADD RSC /l 0x409 /i "..\.." /d "_DEBUG" /d PNG_DEBUG=1  /d "PNG_USE_PNGVCRD"
 BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
@@ -156,10 +156,10 @@
 MTL=midl.exe
 CPP=cl.exe
 # ADD BASE CPP /nologo /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_LIB" /FD /c
-# ADD CPP /nologo /W3 /O1 /I ".." /I "..\..\zlib" /D "WIN32" /D "NDEBUG" /Yu"png.h" /FD /c
+# ADD CPP /nologo /W3 /O1 /I "..\.." /I "..\..\..\zlib" /D "WIN32" /D "NDEBUG" /Yu"png.h" /FD /c
 RSC=rc.exe
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /i ".." /d "NDEBUG"
+# ADD RSC /l 0x409 /i "..\.." /d "NDEBUG"
 BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
@@ -182,7 +182,7 @@
 MTL=midl.exe
 CPP=cl.exe
 # ADD BASE CPP /nologo /W3 /Zi /Od /D "_DEBUG" /D "WIN32" /D "_LIB" /FD /GZ /c
-# ADD CPP /nologo /W3 /Zi /Od /I ".." /I "..\..\zlib" /D "DEBUG" /D "_DEBUG" /D PNG_DEBUG=1 /D "WIN32" /Yu"png.h" /FD /GZ /c
+# ADD CPP /nologo /W3 /Zi /Od /I "..\.." /I "..\..\..\zlib" /D "DEBUG" /D "_DEBUG" /D PNG_DEBUG=1 /D "WIN32" /Yu"png.h" /FD /GZ /c
 RSC=rc.exe
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
 # ADD RSC /l 0x409 /d "_DEBUG"
@@ -208,7 +208,7 @@
 # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
 # Begin Source File
 
-SOURCE=..\png.c
+SOURCE=..\..\png.c
 # SUBTRACT CPP /YX /Yc /Yu
 # End Source File
 # Begin Source File
@@ -259,48 +259,48 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngerror.c
+SOURCE=..\..\pngerror.c
 # ADD CPP /Yc"png.h"
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngget.c
+SOURCE=..\..\pngget.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngmem.c
+SOURCE=..\..\pngmem.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngpread.c
+SOURCE=..\..\pngpread.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngread.c
+SOURCE=..\..\pngread.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngrio.c
+SOURCE=..\..\pngrio.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngrtran.c
+SOURCE=..\..\pngrtran.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngrutil.c
+SOURCE=..\..\pngrutil.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngset.c
+SOURCE=..\..\pngset.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngtrans.c
+SOURCE=..\..\pngtrans.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngvcrd.c
+SOURCE=..\..\pngvcrd.c
 
 !IF  "$(CFG)" == "libpng - Win32 DLL"
 
@@ -327,19 +327,19 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngwio.c
+SOURCE=..\..\pngwio.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngwrite.c
+SOURCE=..\..\pngwrite.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngwtran.c
+SOURCE=..\..\pngwtran.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngwutil.c
+SOURCE=..\..\pngwutil.c
 # End Source File
 # End Group
 # Begin Group "Header Files"
@@ -347,11 +347,11 @@
 # PROP Default_Filter "h;hpp;hxx;hm;inl"
 # Begin Source File
 
-SOURCE=..\png.h
+SOURCE=..\..\png.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngconf.h
+SOURCE=..\..\pngconf.h
 # End Source File
 # End Group
 # Begin Group "Resource Files"
diff --git a/msvc/libpng.dsw b/dll/msvc/libpng.dsw
similarity index 100%
rename from msvc/libpng.dsw
rename to dll/msvc/libpng.dsw
diff --git a/msvc/png.rc b/dll/msvc/png.rc
similarity index 95%
rename from msvc/png.rc
rename to dll/msvc/png.rc
index dec02e5..dc21c2b 100644
--- a/msvc/png.rc
+++ b/dll/msvc/png.rc
@@ -18,6 +18,9 @@
 #  else
 #    define DLLFNAME_POSTFIX "A"
 #  endif /* !defined(DLLFNAME_POSTFIX)... */
+#  if !defined(SPECIALBUILD)
+#    define SPECIALBUILD "Use MMX instructions"
+#  endif /* SPECIALBUILD */
 #endif
 
 #if defined(PNG_DEBUG) && (PNG_DEBUG > 0)
diff --git a/msvc/png32ms.def b/dll/msvc/png32ms.def
similarity index 99%
rename from msvc/png32ms.def
rename to dll/msvc/png32ms.def
index e9f6cc6..685e41c 100644
--- a/msvc/png32ms.def
+++ b/dll/msvc/png32ms.def
@@ -6,7 +6,7 @@
 DESCRIPTION "PNG image compression library for Windows"
 
 EXPORTS
-;Version 1.0.8
+;Version 1.0.9beta1
   png_build_grayscale_palette  @1
   png_check_sig        @2
   png_chunk_error      @3
diff --git a/msvc/zlib.def b/dll/msvc/zlib.def
similarity index 100%
rename from msvc/zlib.def
rename to dll/msvc/zlib.def
diff --git a/msvc/zlib.dsp b/dll/msvc/zlib.dsp
similarity index 87%
rename from msvc/zlib.dsp
rename to dll/msvc/zlib.dsp
index 92243a6..e82d612 100644
--- a/msvc/zlib.dsp
+++ b/dll/msvc/zlib.dsp
@@ -101,11 +101,11 @@
 # PROP Target_Dir ""
 CPP=cl.exe
 # ADD BASE CPP /nologo /MD /W3 /O1 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /FD /c
-# ADD CPP /nologo /MD /W3 /O1 /I "..\..\zlib" /D "NDEBUG" /D "WIN32" /D "_WIN32" /D "_WINDOWS" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /D "ASMV" /FAcs /FD /c
+# ADD CPP /nologo /MD /W3 /O1 /I "..\..\..\zlib" /D "NDEBUG" /D "WIN32" /D "_WIN32" /D "_WINDOWS" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /D "ASMV" /FAcs /FD /c
 MTL=midl.exe
 RSC=rc.exe
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /i ".." /d "NDEBUG"
+# ADD RSC /l 0x409 /i "..\.." /d "NDEBUG"
 BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
@@ -129,11 +129,11 @@
 # PROP Target_Dir ""
 CPP=cl.exe
 # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Zi /Od /I "..\..\zlib" /D "_DEBUG" /D "WIN32" /D "_WIN32" /D "_WINDOWS" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /D "ASMV" /FAcs /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Zi /Od /I "..\..\..\zlib" /D "_DEBUG" /D "WIN32" /D "_WIN32" /D "_WINDOWS" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /D "ASMV" /FAcs /FD /GZ /c
 MTL=midl.exe
 RSC=rc.exe
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /i ".." /d "_DEBUG"
+# ADD RSC /l 0x409 /i "..\.." /d "_DEBUG"
 BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
@@ -208,23 +208,23 @@
 # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
 # Begin Source File
 
-SOURCE=..\..\zlib\adler32.c
+SOURCE=..\..\..\zlib\adler32.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\compress.c
+SOURCE=..\..\..\zlib\compress.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\crc32.c
+SOURCE=..\..\..\zlib\crc32.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\deflate.c
+SOURCE=..\..\..\zlib\deflate.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\contrib\asm386\gvmat32c.c
+SOURCE=..\..\..\zlib\contrib\asm386\gvmat32c.c
 
 !IF  "$(CFG)" == "zlib - Win32 DLL"
 
@@ -251,46 +251,46 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\gzio.c
+SOURCE=..\..\..\zlib\gzio.c
 # ADD CPP /Yc"zutil.h"
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\infblock.c
+SOURCE=..\..\..\zlib\infblock.c
 # ADD CPP /Yu"zutil.h"
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\infcodes.c
+SOURCE=..\..\..\zlib\infcodes.c
 # ADD CPP /Yu"zutil.h"
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\inffast.c
+SOURCE=..\..\..\zlib\inffast.c
 # ADD CPP /Yu"zutil.h"
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\inflate.c
+SOURCE=..\..\..\zlib\inflate.c
 # ADD CPP /Yu"zutil.h"
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\inftrees.c
+SOURCE=..\..\..\zlib\inftrees.c
 # ADD CPP /Yu"zutil.h"
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\infutil.c
+SOURCE=..\..\..\zlib\infutil.c
 # ADD CPP /Yu"zutil.h"
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\trees.c
+SOURCE=..\..\..\zlib\trees.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\uncompr.c
+SOURCE=..\..\..\zlib\uncompr.c
 # End Source File
 # Begin Source File
 
@@ -317,7 +317,7 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\msdos\zlib.rc
+SOURCE=..\..\..\zlib\msdos\zlib.rc
 
 !IF  "$(CFG)" == "zlib - Win32 DLL"
 
@@ -340,7 +340,7 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\zutil.c
+SOURCE=..\..\..\zlib\zutil.c
 # ADD CPP /Yu"zutil.h"
 # End Source File
 # End Group
@@ -349,47 +349,47 @@
 # PROP Default_Filter "h;hpp;hxx;hm;inl"
 # Begin Source File
 
-SOURCE=..\..\zlib\deflate.h
+SOURCE=..\..\..\zlib\deflate.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\infblock.h
+SOURCE=..\..\..\zlib\infblock.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\infcodes.h
+SOURCE=..\..\..\zlib\infcodes.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\inffast.h
+SOURCE=..\..\..\zlib\inffast.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\inffixed.h
+SOURCE=..\..\..\zlib\inffixed.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\inftrees.h
+SOURCE=..\..\..\zlib\inftrees.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\infutil.h
+SOURCE=..\..\..\zlib\infutil.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\trees.h
+SOURCE=..\..\..\zlib\trees.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\zconf.h
+SOURCE=..\..\..\zlib\zconf.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\zlib.h
+SOURCE=..\..\..\zlib\zlib.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\zutil.h
+SOURCE=..\..\..\zlib\zutil.h
 # End Source File
 # End Group
 # Begin Group "Resource Files"
diff --git a/wince/READMEE.WCE b/dll/wince/READMEE.WCE
similarity index 68%
rename from wince/READMEE.WCE
rename to dll/wince/READMEE.WCE
index 8e608fd..e314c34 100644
--- a/wince/READMEE.WCE
+++ b/dll/wince/READMEE.WCE
@@ -8,9 +8,9 @@
 
 Introduction
 ============
-This is libpng 1.0.7 ported to WindowsCE 2.0 and 2.11.
-libpng 1.0.7 is a PNG reference library.
-See README, a document of original libpng 1.0.7.
+This is libpng 1.0.9beta1 ported to WindowsCE 2.0 and 2.11.
+libpng 1.0.9beta1 is a PNG reference library.
+See README, a document of original libpng 1.0.9beta1.
 
 zlib for WindowsCE
 ==================
@@ -23,7 +23,7 @@
 warranty.  In no event will the authors be held liable for any damages
 arising from the use of this software.
 
-See README and LICENSE, documents of original libpng 1.0.7, for conditions
+See README and LICENSE, documents of original libpng 1.0.9beta1, for conditions
 of use and distribution.
 
 Files
@@ -33,8 +33,8 @@
  READMEJ.WCE - this file(in Japanese)
  png32ce.def - module definition file to make DLLs
 
-Sample programs(../pngtest.c and ../contrib/*) can build on WindowsCE 2.11.
-WindowsCE 2.0 and below do not support 'console' functions.
+Sample programs(../../pngtest.c and ../../contrib/*) can build on WindowsCE
+2.11.  WindowsCE 2.0 and below do not support 'console' functions.
 
 Author
 ======
diff --git a/wince/READMEJ.WCE b/dll/wince/READMEJ.WCE
similarity index 98%
rename from wince/READMEJ.WCE
rename to dll/wince/READMEJ.WCE
index a24f731..41e9a33 100644
--- a/wince/READMEJ.WCE
+++ b/dll/wince/READMEJ.WCE
@@ -24,7 +24,7 @@
 ‚É‚È‚Á‚½‚¢‚©‚È‚é”íŠQ‚ɂ‚¢‚Ä‚àAìŽÒA”z•zŽÒA‚»‚Ì‘¼—˜—pŽÒˆÈŠO‚̐l•¨A
 ’c‘̂ɐӔC‚ð‚Æ‚é‹`–±‚Í‚È‚¢‚à‚Ì‚Æ‚µ‚Ü‚·B
 
-‚»‚Ì‘¼A‚±‚̃\ƒtƒgƒEƒFƒA‚Ì—˜—pðŒ‚ɂ‚¢‚ẮAŒ´”Å‚Å‚ ‚é libpng 1.0.7‚É
+‚»‚Ì‘¼A‚±‚̃\ƒtƒgƒEƒFƒA‚Ì—˜—pðŒ‚ɂ‚¢‚ẮAŒ´”Å‚Å‚ ‚é libpng 1.0.9beta1‚É
 €‹’‚·‚é‚à‚Ì‚Æ‚µ‚Ü‚·BÚ‚µ‚­‚́A•t‘®‚Ì README,LICENSE ‚ð‚¨“Ç‚Ý‚­‚¾‚³‚¢B
 
 Žû˜^“à—e
diff --git a/wince/READMEZE.WCE b/dll/wince/READMEZE.WCE
similarity index 100%
rename from wince/READMEZE.WCE
rename to dll/wince/READMEZE.WCE
diff --git a/wince/READMEZJ.WCE b/dll/wince/READMEZJ.WCE
similarity index 100%
rename from wince/READMEZJ.WCE
rename to dll/wince/READMEZJ.WCE
diff --git a/wince/lpngce.dsp b/dll/wince/lpngce.dsp
similarity index 63%
rename from wince/lpngce.dsp
rename to dll/wince/lpngce.dsp
index 829a519..b3a0b3d 100644
--- a/wince/lpngce.dsp
+++ b/dll/wince/lpngce.dsp
@@ -62,7 +62,7 @@
 # PROP Target_Dir ""
 CPP=clmips.exe
 # ADD BASE CPP /nologo /M$(CECrt) /W3 /O2 /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "NDEBUG" /D "MIPS" /D "_MIPS_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "LPNGCE_EXPORTS" /YX /QMRWCE /c
-# ADD CPP /nologo /M$(CECrt) /W3 /O2 /I "..\..\zlib" /D "NDEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /QMRWCE /c
+# ADD CPP /nologo /M$(CECrt) /W3 /O2 /I "..\..\..\zlib" /D "NDEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /QMRWCE /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "MIPS" /d "_MIPS_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "NDEBUG"
@@ -93,7 +93,7 @@
 # PROP Target_Dir ""
 CPP=clmips.exe
 # ADD BASE CPP /nologo /M$(CECrtDebug) /W3 /Zi /Od /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "LPNGCE_EXPORTS" /YX /QMRWCE /c
-# ADD CPP /nologo /M$(CECrtDebug) /W3 /Zi /Od /I ".." /I "..\..\zlib" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /QMRWCE /c
+# ADD CPP /nologo /M$(CECrtDebug) /W3 /Zi /Od /I "..\.." /I "..\..\..\zlib" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /QMRWCE /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "MIPS" /d "_MIPS_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "DEBUG"
@@ -124,7 +124,7 @@
 # PROP Target_Dir ""
 CPP=shcl.exe
 # ADD BASE CPP /nologo /Qsh4 /MC /W3 /O2 /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "NDEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "LPNGCE_EXPORTS" /YX /c
-# ADD CPP /nologo /Qsh4 /MC /W3 /O2 /I ".." /I "..\..\zlib" /D "NDEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
+# ADD CPP /nologo /Qsh4 /MC /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "NDEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "SHx" /d "SH4" /d "_SH4_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "NDEBUG"
@@ -155,7 +155,7 @@
 # PROP Target_Dir ""
 CPP=shcl.exe
 # ADD BASE CPP /nologo /Qsh4 /MC /W3 /Zi /Od /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "DEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "LPNGCE_EXPORTS" /YX /c
-# ADD CPP /nologo /Qsh4 /MC /W3 /Zi /Od /I ".." /I "..\..\zlib" /D "DEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
+# ADD CPP /nologo /Qsh4 /MC /W3 /Zi /Od /I "..\.." /I "..\..\..\zlib" /D "DEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "SHx" /d "SH4" /d "_SH4_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "DEBUG"
@@ -186,7 +186,7 @@
 # PROP Target_Dir ""
 CPP=shcl.exe
 # ADD BASE CPP /nologo /M$(CECrt) /W3 /O2 /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "NDEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "LPNGCE_EXPORTS" /YX /c
-# ADD CPP /nologo /M$(CECrt) /W3 /O2 /I ".." /I "..\..\zlib" /D "NDEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
+# ADD CPP /nologo /M$(CECrt) /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "NDEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "SHx" /d "SH3" /d "_SH3_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "NDEBUG"
@@ -217,7 +217,7 @@
 # PROP Target_Dir ""
 CPP=shcl.exe
 # ADD BASE CPP /nologo /M$(CECrtDebug) /W3 /Zi /Od /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "DEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "LPNGCE_EXPORTS" /YX /c
-# ADD CPP /nologo /M$(CECrtDebug) /W3 /Zi /Od /I ".." /I "..\..\zlib" /D "DEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
+# ADD CPP /nologo /M$(CECrtDebug) /W3 /Zi /Od /I "..\.." /I "..\..\..\zlib" /D "DEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "SHx" /d "SH3" /d "_SH3_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "DEBUG"
@@ -248,7 +248,7 @@
 # PROP Target_Dir ""
 CPP=clarm.exe
 # ADD BASE CPP /nologo /MC /W3 /O2 /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "NDEBUG" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "LPNGCE_EXPORTS" /YX /c
-# ADD CPP /nologo /MC /W3 /O2 /I ".." /I "..\..\zlib" /D "NDEBUG" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
+# ADD CPP /nologo /MC /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "NDEBUG" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "ARM" /d "_ARM_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "NDEBUG"
@@ -279,7 +279,7 @@
 # PROP Target_Dir ""
 CPP=clarm.exe
 # ADD BASE CPP /nologo /MC /W3 /Zi /Od /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "DEBUG" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "LPNGCE_EXPORTS" /YX /c
-# ADD CPP /nologo /MC /W3 /Zi /Od /I ".." /I "..\..\zlib" /D "DEBUG" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
+# ADD CPP /nologo /MC /W3 /Zi /Od /I "..\.." /I "..\..\..\zlib" /D "DEBUG" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "ARM" /d "_ARM_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "DEBUG"
@@ -310,7 +310,7 @@
 # PROP Target_Dir ""
 CPP=clmips.exe
 # ADD BASE CPP /nologo /QMFWCE /MC /W3 /O2 /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "NDEBUG" /D "MIPS" /D "_MIPS_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "LPNGCE_EXPORTS" /YX /c
-# ADD CPP /nologo /QMFWCE /MC /W3 /O2 /I ".." /I "..\..\zlib" /D "NDEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
+# ADD CPP /nologo /QMFWCE /MC /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "NDEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "MIPS" /d "_MIPS_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "NDEBUG"
@@ -341,7 +341,7 @@
 # PROP Target_Dir ""
 CPP=clmips.exe
 # ADD BASE CPP /nologo /QMFWCE /MC /W3 /Zi /Od /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "LPNGCE_EXPORTS" /YX /c
-# ADD CPP /nologo /QMFWCE /MC /W3 /Zi /Od /I ".." /I "..\..\zlib" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
+# ADD CPP /nologo /QMFWCE /MC /W3 /Zi /Od /I "..\.." /I "..\..\..\zlib" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "MIPS" /d "_MIPS_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "DEBUG"
@@ -372,7 +372,7 @@
 # PROP Target_Dir ""
 CPP=cl.exe
 # ADD BASE CPP /nologo /ML /W3 /O2 /D "x86" /D "_i386_" /D "_x86_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "NDEBUG" /D "i_386_" /D "_MBCS" /D "_USRDLL" /D "LPNGCE_EXPORTS" /Gs8192 /GF /c
-# ADD CPP /nologo /ML /W3 /O2 /I ".." /I "..\..\zlib" /D "x86" /D "_i386_" /D "_x86_" /D "NDEBUG" /D "i_386_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /Gs8192 /GF /c
+# ADD CPP /nologo /ML /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "x86" /D "_i386_" /D "_x86_" /D "NDEBUG" /D "i_386_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /Gs8192 /GF /c
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "x86" /d "_i386_" /d "_x86_" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "NDEBUG"
 # ADD RSC /l 0x411 /r /d "x86" /d "_i386_" /d "_x86_" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "NDEBUG"
@@ -402,7 +402,7 @@
 # PROP Target_Dir ""
 CPP=cl.exe
 # ADD BASE CPP /nologo /MLd /W3 /Zi /Od /D "x86" /D "_i386_" /D "_x86_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "DEBUG" /D "i_386_" /D "_MBCS" /D "_USRDLL" /D "LPNGCE_EXPORTS" /Gs8192 /GF /c
-# ADD CPP /nologo /MLd /W3 /Zi /Od /I ".." /I "..\..\zlib" /D "x86" /D "_i386_" /D "_x86_" /D "DEBUG" /D "i_386_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /Gs8192 /GF /c
+# ADD CPP /nologo /MLd /W3 /Zi /Od /I "..\.." /I "..\..\..\zlib" /D "x86" /D "_i386_" /D "_x86_" /D "DEBUG" /D "i_386_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /Gs8192 /GF /c
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "x86" /d "_i386_" /d "_x86_" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "DEBUG"
 # ADD RSC /l 0x411 /r /d "x86" /d "_i386_" /d "_x86_" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "DEBUG"
@@ -432,7 +432,7 @@
 # PROP Target_Dir ""
 CPP=cl.exe
 # ADD BASE CPP /nologo /ML /W3 /O2 /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "WIN32" /D "STRICT" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "NDEBUG" /D "x86" /D "i486" /D "_x86_" /D "_MBCS" /D "_USRDLL" /D "LPNGCE_EXPORTS" /YX /c
-# ADD CPP /nologo /ML /W3 /O2 /I ".." /I "..\..\zlib" /D "_UNICODE" /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "NDEBUG" /D "x86" /D "i486" /D "_x86_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
+# ADD CPP /nologo /ML /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "_UNICODE" /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "NDEBUG" /D "x86" /D "i486" /D "_x86_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "WIN32" /d "STRICT" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "_WIN32_WCE_EMULATION" /d "INTERNATIONAL" /d "USA" /d "INTLMSG_CODEPAGE" /d "NDEBUG"
@@ -461,7 +461,7 @@
 # PROP Target_Dir ""
 CPP=cl.exe
 # ADD BASE CPP /nologo /MLd /W3 /Gm /Zi /Od /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "WIN32" /D "STRICT" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "_DEBUG" /D "x86" /D "i486" /D "_x86_" /D "_MBCS" /D "_USRDLL" /D "LPNGCE_EXPORTS" /YX /c
-# ADD CPP /nologo /MLd /W3 /Gm /Zi /Od /I ".." /I "..\..\zlib" /D "_UNICODE" /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "_DEBUG" /D "x86" /D "i486" /D "_x86_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
+# ADD CPP /nologo /MLd /W3 /Gm /Zi /Od /I "..\.." /I "..\..\..\zlib" /D "_UNICODE" /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "_DEBUG" /D "x86" /D "i486" /D "_x86_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "WIN32" /d "STRICT" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "_WIN32_WCE_EMULATION" /d "INTERNATIONAL" /d "USA" /d "INTLMSG_CODEPAGE" /d "_DEBUG" /d "x86" /d "i486" /d "_x86_"
@@ -490,7 +490,7 @@
 # PROP Target_Dir ""
 CPP=clppc.exe
 # ADD BASE CPP /nologo /M$(CECrt) /W3 /O2 /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "NDEBUG" /D "PPC" /D "_PPC_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "LPNGCE_EXPORTS" /YX /c
-# ADD CPP /nologo /M$(CECrt) /W3 /O2 /I ".." /I "..\..\zlib" /D "NDEBUG" /D "PPC" /D "_PPC_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
+# ADD CPP /nologo /M$(CECrt) /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "NDEBUG" /D "PPC" /D "_PPC_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "ppc" /d "_ppc_" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "NDEBUG"
@@ -521,7 +521,7 @@
 # PROP Target_Dir ""
 CPP=clppc.exe
 # ADD BASE CPP /nologo /M$(CECrtDebug) /W3 /Zi /Od /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "DEBUG" /D "PPC" /D "_PPC_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "LPNGCE_EXPORTS" /YX /c
-# ADD CPP /nologo /M$(CECrtDebug) /W3 /Zi /Od /I ".." /I "..\..\zlib" /D "DEBUG" /D "PPC" /D "_PPC_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
+# ADD CPP /nologo /M$(CECrtDebug) /W3 /Zi /Od /I "..\.." /I "..\..\..\zlib" /D "DEBUG" /D "PPC" /D "_PPC_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_BUILD_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "ppc" /d "_ppc_" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "DEBUG"
@@ -563,200 +563,200 @@
 # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
 # Begin Source File
 
-SOURCE=..\png.c
+SOURCE=..\..\png.c
 
 !IF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_PNG_C=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_PNG_C=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Release"
 
 DEP_CPP_PNG_C=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_PNG_C=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Release"
 
 DEP_CPP_PNG_C=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_PNG_C=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Release"
 
 DEP_CPP_PNG_C=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_PNG_C=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_PNG_C=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_PNG_C=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Release"
 
 DEP_CPP_PNG_C=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Debug"
 
 DEP_CPP_PNG_C=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Release"
 
 DEP_CPP_PNG_C=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_PNG_C=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Release"
 
 DEP_CPP_PNG_C=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_PNG_C=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ENDIF 
@@ -768,200 +768,200 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngerror.c
+SOURCE=..\..\pngerror.c
 
 !IF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_PNGER=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_PNGER=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Release"
 
 DEP_CPP_PNGER=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_PNGER=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Release"
 
 DEP_CPP_PNGER=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_PNGER=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Release"
 
 DEP_CPP_PNGER=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_PNGER=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_PNGER=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_PNGER=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Release"
 
 DEP_CPP_PNGER=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Debug"
 
 DEP_CPP_PNGER=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Release"
 
 DEP_CPP_PNGER=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_PNGER=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Release"
 
 DEP_CPP_PNGER=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_PNGER=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ENDIF 
@@ -969,200 +969,200 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\pnggccrd.c
+SOURCE=..\..\pnggccrd.c
 
 !IF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_PNGGC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_PNGGC=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Release"
 
 DEP_CPP_PNGGC=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_PNGGC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Release"
 
 DEP_CPP_PNGGC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_PNGGC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Release"
 
 DEP_CPP_PNGGC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_PNGGC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_PNGGC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_PNGGC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Release"
 
 DEP_CPP_PNGGC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Debug"
 
 DEP_CPP_PNGGC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Release"
 
 DEP_CPP_PNGGC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_PNGGC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Release"
 
 DEP_CPP_PNGGC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_PNGGC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ENDIF 
@@ -1170,200 +1170,200 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngget.c
+SOURCE=..\..\pngget.c
 
 !IF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_PNGGE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_PNGGE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Release"
 
 DEP_CPP_PNGGE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_PNGGE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Release"
 
 DEP_CPP_PNGGE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_PNGGE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Release"
 
 DEP_CPP_PNGGE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_PNGGE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_PNGGE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_PNGGE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Release"
 
 DEP_CPP_PNGGE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Debug"
 
 DEP_CPP_PNGGE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Release"
 
 DEP_CPP_PNGGE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_PNGGE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Release"
 
 DEP_CPP_PNGGE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_PNGGE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ENDIF 
@@ -1371,200 +1371,200 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngmem.c
+SOURCE=..\..\pngmem.c
 
 !IF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_PNGME=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_PNGME=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Release"
 
 DEP_CPP_PNGME=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_PNGME=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Release"
 
 DEP_CPP_PNGME=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_PNGME=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Release"
 
 DEP_CPP_PNGME=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_PNGME=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_PNGME=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_PNGME=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Release"
 
 DEP_CPP_PNGME=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Debug"
 
 DEP_CPP_PNGME=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Release"
 
 DEP_CPP_PNGME=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_PNGME=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Release"
 
 DEP_CPP_PNGME=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_PNGME=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ENDIF 
@@ -1572,200 +1572,200 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngpread.c
+SOURCE=..\..\pngpread.c
 
 !IF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_PNGPR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_PNGPR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Release"
 
 DEP_CPP_PNGPR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_PNGPR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Release"
 
 DEP_CPP_PNGPR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_PNGPR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Release"
 
 DEP_CPP_PNGPR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_PNGPR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_PNGPR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_PNGPR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Release"
 
 DEP_CPP_PNGPR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Debug"
 
 DEP_CPP_PNGPR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Release"
 
 DEP_CPP_PNGPR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_PNGPR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Release"
 
 DEP_CPP_PNGPR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_PNGPR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ENDIF 
@@ -1773,200 +1773,200 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngread.c
+SOURCE=..\..\pngread.c
 
 !IF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_PNGRE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_PNGRE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Release"
 
 DEP_CPP_PNGRE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_PNGRE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Release"
 
 DEP_CPP_PNGRE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_PNGRE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Release"
 
 DEP_CPP_PNGRE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_PNGRE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_PNGRE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_PNGRE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Release"
 
 DEP_CPP_PNGRE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Debug"
 
 DEP_CPP_PNGRE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Release"
 
 DEP_CPP_PNGRE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_PNGRE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Release"
 
 DEP_CPP_PNGRE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_PNGRE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ENDIF 
@@ -1974,200 +1974,200 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngrio.c
+SOURCE=..\..\pngrio.c
 
 !IF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_PNGRI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_PNGRI=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Release"
 
 DEP_CPP_PNGRI=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_PNGRI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Release"
 
 DEP_CPP_PNGRI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_PNGRI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Release"
 
 DEP_CPP_PNGRI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_PNGRI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_PNGRI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_PNGRI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Release"
 
 DEP_CPP_PNGRI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Debug"
 
 DEP_CPP_PNGRI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Release"
 
 DEP_CPP_PNGRI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_PNGRI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Release"
 
 DEP_CPP_PNGRI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_PNGRI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ENDIF 
@@ -2175,200 +2175,200 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngrtran.c
+SOURCE=..\..\pngrtran.c
 
 !IF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_PNGRT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_PNGRT=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Release"
 
 DEP_CPP_PNGRT=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_PNGRT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Release"
 
 DEP_CPP_PNGRT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_PNGRT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Release"
 
 DEP_CPP_PNGRT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_PNGRT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_PNGRT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_PNGRT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Release"
 
 DEP_CPP_PNGRT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Debug"
 
 DEP_CPP_PNGRT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Release"
 
 DEP_CPP_PNGRT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_PNGRT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Release"
 
 DEP_CPP_PNGRT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_PNGRT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ENDIF 
@@ -2376,200 +2376,200 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngrutil.c
+SOURCE=..\..\pngrutil.c
 
 !IF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_PNGRU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_PNGRU=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Release"
 
 DEP_CPP_PNGRU=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_PNGRU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Release"
 
 DEP_CPP_PNGRU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_PNGRU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Release"
 
 DEP_CPP_PNGRU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_PNGRU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_PNGRU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_PNGRU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Release"
 
 DEP_CPP_PNGRU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Debug"
 
 DEP_CPP_PNGRU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Release"
 
 DEP_CPP_PNGRU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_PNGRU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Release"
 
 DEP_CPP_PNGRU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_PNGRU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ENDIF 
@@ -2577,200 +2577,200 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngset.c
+SOURCE=..\..\pngset.c
 
 !IF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_PNGSE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_PNGSE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Release"
 
 DEP_CPP_PNGSE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_PNGSE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Release"
 
 DEP_CPP_PNGSE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_PNGSE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Release"
 
 DEP_CPP_PNGSE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_PNGSE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_PNGSE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_PNGSE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Release"
 
 DEP_CPP_PNGSE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Debug"
 
 DEP_CPP_PNGSE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Release"
 
 DEP_CPP_PNGSE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_PNGSE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Release"
 
 DEP_CPP_PNGSE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_PNGSE=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ENDIF 
@@ -2778,200 +2778,200 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngtrans.c
+SOURCE=..\..\pngtrans.c
 
 !IF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_PNGTR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_PNGTR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Release"
 
 DEP_CPP_PNGTR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_PNGTR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Release"
 
 DEP_CPP_PNGTR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_PNGTR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Release"
 
 DEP_CPP_PNGTR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_PNGTR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_PNGTR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_PNGTR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Release"
 
 DEP_CPP_PNGTR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Debug"
 
 DEP_CPP_PNGTR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Release"
 
 DEP_CPP_PNGTR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_PNGTR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Release"
 
 DEP_CPP_PNGTR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_PNGTR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ENDIF 
@@ -2979,200 +2979,200 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngvcrd.c
+SOURCE=..\..\pngvcrd.c
 
 !IF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_PNGVC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_PNGVC=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Release"
 
 DEP_CPP_PNGVC=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_PNGVC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Release"
 
 DEP_CPP_PNGVC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_PNGVC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Release"
 
 DEP_CPP_PNGVC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_PNGVC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_PNGVC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_PNGVC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Release"
 
 DEP_CPP_PNGVC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Debug"
 
 DEP_CPP_PNGVC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Release"
 
 DEP_CPP_PNGVC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_PNGVC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Release"
 
 DEP_CPP_PNGVC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_PNGVC=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ENDIF 
@@ -3180,200 +3180,200 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngwio.c
+SOURCE=..\..\pngwio.c
 
 !IF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_PNGWI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_PNGWI=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Release"
 
 DEP_CPP_PNGWI=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_PNGWI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Release"
 
 DEP_CPP_PNGWI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_PNGWI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Release"
 
 DEP_CPP_PNGWI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_PNGWI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_PNGWI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_PNGWI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Release"
 
 DEP_CPP_PNGWI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Debug"
 
 DEP_CPP_PNGWI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Release"
 
 DEP_CPP_PNGWI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_PNGWI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Release"
 
 DEP_CPP_PNGWI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_PNGWI=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ENDIF 
@@ -3381,200 +3381,200 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngwrite.c
+SOURCE=..\..\pngwrite.c
 
 !IF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_PNGWR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_PNGWR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Release"
 
 DEP_CPP_PNGWR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_PNGWR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Release"
 
 DEP_CPP_PNGWR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_PNGWR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Release"
 
 DEP_CPP_PNGWR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_PNGWR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_PNGWR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_PNGWR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Release"
 
 DEP_CPP_PNGWR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Debug"
 
 DEP_CPP_PNGWR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Release"
 
 DEP_CPP_PNGWR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_PNGWR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Release"
 
 DEP_CPP_PNGWR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_PNGWR=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ENDIF 
@@ -3582,200 +3582,200 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngwtran.c
+SOURCE=..\..\pngwtran.c
 
 !IF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_PNGWT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_PNGWT=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Release"
 
 DEP_CPP_PNGWT=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_PNGWT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Release"
 
 DEP_CPP_PNGWT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_PNGWT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Release"
 
 DEP_CPP_PNGWT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_PNGWT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_PNGWT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_PNGWT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Release"
 
 DEP_CPP_PNGWT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Debug"
 
 DEP_CPP_PNGWT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Release"
 
 DEP_CPP_PNGWT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_PNGWT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Release"
 
 DEP_CPP_PNGWT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_PNGWT=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ENDIF 
@@ -3783,200 +3783,200 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngwutil.c
+SOURCE=..\..\pngwutil.c
 
 !IF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_PNGWU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_PNGWU=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Release"
 
 DEP_CPP_PNGWU=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_PNGWU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Release"
 
 DEP_CPP_PNGWU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_PNGWU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Release"
 
 DEP_CPP_PNGWU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_PNGWU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_PNGWU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_PNGWU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Release"
 
 DEP_CPP_PNGWU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86) Debug"
 
 DEP_CPP_PNGWU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Release"
 
 DEP_CPP_PNGWU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_PNGWU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Release"
 
 DEP_CPP_PNGWU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "lpngce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_PNGWU=\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
-	"..\alloc.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\alloc.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ENDIF 
@@ -3988,15 +3988,15 @@
 # PROP Default_Filter "h;hpp;hxx;hm;inl"
 # Begin Source File
 
-SOURCE=..\png.h
+SOURCE=..\..\png.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngasmrd.h
+SOURCE=..\..\pngasmrd.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\pngconf.h
+SOURCE=..\..\pngconf.h
 # End Source File
 # End Group
 # Begin Group "Resource Files"
diff --git a/wince/lpngce.dsw b/dll/wince/lpngce.dsw
similarity index 100%
rename from wince/lpngce.dsw
rename to dll/wince/lpngce.dsw
diff --git a/wince/png32ce.def b/dll/wince/png32ce.def
similarity index 99%
rename from wince/png32ce.def
rename to dll/wince/png32ce.def
index e0e739a..8f13791 100644
--- a/wince/png32ce.def
+++ b/dll/wince/png32ce.def
@@ -5,7 +5,7 @@
 LIBRARY lpngce
 
 EXPORTS
-;Version 1.0.7
+;Version 1.0.9beta1
   png_build_grayscale_palette  @1
   png_check_sig        @2
   png_chunk_error      @3
diff --git a/wince/pngtest.dsp b/dll/wince/pngtest.dsp
similarity index 84%
rename from wince/pngtest.dsp
rename to dll/wince/pngtest.dsp
index 38266c7..4d1da2d 100644
--- a/wince/pngtest.dsp
+++ b/dll/wince/pngtest.dsp
@@ -62,7 +62,7 @@
 # PROP Target_Dir ""
 CPP=clmips.exe
 # ADD BASE CPP /nologo /M$(CECrt) /W3 /O2 /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "NDEBUG" /D "MIPS" /D "_MIPS_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /YX /QMRWCE /c
-# ADD CPP /nologo /M$(CECrt) /W3 /O2 /I ".." /I "..\..\zlib" /D "NDEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /QMRWCE /c
+# ADD CPP /nologo /M$(CECrt) /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "NDEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /QMRWCE /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "MIPS" /d "_MIPS_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "NDEBUG"
@@ -93,7 +93,7 @@
 # PROP Target_Dir ""
 CPP=clmips.exe
 # ADD BASE CPP /nologo /M$(CECrtDebug) /W3 /Zi /Od /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /YX /QMRWCE /c
-# ADD CPP /nologo /M$(CECrtDebug) /W3 /Zi /Od /I ".." /I "..\..\zlib" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /QMRWCE /c
+# ADD CPP /nologo /M$(CECrtDebug) /W3 /Zi /Od /I "..\.." /I "..\..\..\zlib" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /QMRWCE /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "MIPS" /d "_MIPS_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "DEBUG"
@@ -124,7 +124,7 @@
 # PROP Target_Dir ""
 CPP=shcl.exe
 # ADD BASE CPP /nologo /Qsh4 /MC /W3 /O2 /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "NDEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /YX /c
-# ADD CPP /nologo /Qsh4 /MC /W3 /O2 /I ".." /I "..\..\zlib" /D "NDEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
+# ADD CPP /nologo /Qsh4 /MC /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "NDEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "SHx" /d "SH4" /d "_SH4_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "NDEBUG"
@@ -155,7 +155,7 @@
 # PROP Target_Dir ""
 CPP=shcl.exe
 # ADD BASE CPP /nologo /Qsh4 /MC /W3 /Zi /Od /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "DEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /YX /c
-# ADD CPP /nologo /Qsh4 /MC /W3 /Zi /Od /I ".." /I "..\..\zlib" /D "DEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
+# ADD CPP /nologo /Qsh4 /MC /W3 /Zi /Od /I "..\.." /I "..\..\..\zlib" /D "DEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "SHx" /d "SH4" /d "_SH4_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "DEBUG"
@@ -186,7 +186,7 @@
 # PROP Target_Dir ""
 CPP=shcl.exe
 # ADD BASE CPP /nologo /M$(CECrt) /W3 /O2 /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "NDEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /YX /c
-# ADD CPP /nologo /M$(CECrt) /W3 /O2 /I ".." /I "..\..\zlib" /D "NDEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
+# ADD CPP /nologo /M$(CECrt) /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "NDEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "SHx" /d "SH3" /d "_SH3_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "NDEBUG"
@@ -217,7 +217,7 @@
 # PROP Target_Dir ""
 CPP=shcl.exe
 # ADD BASE CPP /nologo /M$(CECrtDebug) /W3 /Zi /Od /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "DEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /YX /c
-# ADD CPP /nologo /M$(CECrtDebug) /W3 /Zi /Od /I ".." /I "..\..\zlib" /D "DEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
+# ADD CPP /nologo /M$(CECrtDebug) /W3 /Zi /Od /I "..\.." /I "..\..\..\zlib" /D "DEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "SHx" /d "SH3" /d "_SH3_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "DEBUG"
@@ -248,7 +248,7 @@
 # PROP Target_Dir ""
 CPP=clarm.exe
 # ADD BASE CPP /nologo /MC /W3 /O2 /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "NDEBUG" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /YX /c
-# ADD CPP /nologo /MC /W3 /O2 /I ".." /I "..\..\zlib" /D "NDEBUG" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
+# ADD CPP /nologo /MC /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "NDEBUG" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "ARM" /d "_ARM_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "NDEBUG"
@@ -279,7 +279,7 @@
 # PROP Target_Dir ""
 CPP=clarm.exe
 # ADD BASE CPP /nologo /MC /W3 /Zi /Od /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "DEBUG" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /YX /c
-# ADD CPP /nologo /MC /W3 /Zi /Od /I ".." /I "..\..\zlib" /D "DEBUG" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
+# ADD CPP /nologo /MC /W3 /Zi /Od /I "..\.." /I "..\..\..\zlib" /D "DEBUG" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "ARM" /d "_ARM_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "DEBUG"
@@ -310,7 +310,7 @@
 # PROP Target_Dir ""
 CPP=clmips.exe
 # ADD BASE CPP /nologo /QMFWCE /MC /W3 /O2 /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "NDEBUG" /D "MIPS" /D "_MIPS_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /YX /c
-# ADD CPP /nologo /QMFWCE /MC /W3 /O2 /I ".." /I "..\..\zlib" /D "NDEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
+# ADD CPP /nologo /QMFWCE /MC /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "NDEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "MIPS" /d "_MIPS_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "NDEBUG"
@@ -341,7 +341,7 @@
 # PROP Target_Dir ""
 CPP=clmips.exe
 # ADD BASE CPP /nologo /QMFWCE /MC /W3 /Zi /Od /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /YX /c
-# ADD CPP /nologo /QMFWCE /MC /W3 /Zi /Od /I ".." /I "..\..\zlib" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
+# ADD CPP /nologo /QMFWCE /MC /W3 /Zi /Od /I "..\.." /I "..\..\..\zlib" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "MIPS" /d "_MIPS_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "DEBUG"
@@ -372,7 +372,7 @@
 # PROP Target_Dir ""
 CPP=cl.exe
 # ADD BASE CPP /nologo /ML /W3 /O2 /D "x86" /D "_i386_" /D "_x86_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "NDEBUG" /D "i_386_" /D "_MBCS" /Gs8192 /GF /c
-# ADD CPP /nologo /ML /W3 /O2 /I ".." /I "..\..\zlib" /D "x86" /D "_i386_" /D "_x86_" /D "NDEBUG" /D "i_386_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /Gs8192 /GF /c
+# ADD CPP /nologo /ML /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "x86" /D "_i386_" /D "_x86_" /D "NDEBUG" /D "i_386_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /Gs8192 /GF /c
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "x86" /d "_i386_" /d "_x86_" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "NDEBUG"
 # ADD RSC /l 0x411 /r /d "x86" /d "_i386_" /d "_x86_" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "NDEBUG"
@@ -402,7 +402,7 @@
 # PROP Target_Dir ""
 CPP=cl.exe
 # ADD BASE CPP /nologo /MLd /W3 /Zi /Od /D "x86" /D "_i386_" /D "_x86_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "DEBUG" /D "i_386_" /D "_MBCS" /Gs8192 /GF /c
-# ADD CPP /nologo /MLd /W3 /Zi /Od /I ".." /I "..\..\zlib" /D "x86" /D "_i386_" /D "_x86_" /D "DEBUG" /D "i_386_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /Gs8192 /GF /c
+# ADD CPP /nologo /MLd /W3 /Zi /Od /I "..\.." /I "..\..\..\zlib" /D "x86" /D "_i386_" /D "_x86_" /D "DEBUG" /D "i_386_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /Gs8192 /GF /c
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "x86" /d "_i386_" /d "_x86_" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "DEBUG"
 # ADD RSC /l 0x411 /r /d "x86" /d "_i386_" /d "_x86_" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "DEBUG"
@@ -432,7 +432,7 @@
 # PROP Target_Dir ""
 CPP=cl.exe
 # ADD BASE CPP /nologo /ML /W3 /O2 /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "WIN32" /D "STRICT" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "NDEBUG" /D "x86" /D "i486" /D "_x86_" /D "_MBCS" /YX /c
-# ADD CPP /nologo /ML /W3 /O2 /I ".." /I "..\..\zlib" /D "_UNICODE" /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "NDEBUG" /D "x86" /D "i486" /D "_x86_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
+# ADD CPP /nologo /ML /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "_UNICODE" /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "NDEBUG" /D "x86" /D "i486" /D "_x86_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "WIN32" /d "STRICT" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "_WIN32_WCE_EMULATION" /d "INTERNATIONAL" /d "USA" /d "INTLMSG_CODEPAGE" /d "NDEBUG"
@@ -461,7 +461,7 @@
 # PROP Target_Dir ""
 CPP=cl.exe
 # ADD BASE CPP /nologo /MLd /W3 /Gm /Zi /Od /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "WIN32" /D "STRICT" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "_DEBUG" /D "x86" /D "i486" /D "_x86_" /D "_MBCS" /YX /c
-# ADD CPP /nologo /MLd /W3 /Gm /Zi /Od /I ".." /I "..\..\zlib" /D "_UNICODE" /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "_DEBUG" /D "x86" /D "i486" /D "_x86_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
+# ADD CPP /nologo /MLd /W3 /Gm /Zi /Od /I "..\.." /I "..\..\..\zlib" /D "_UNICODE" /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "_DEBUG" /D "x86" /D "i486" /D "_x86_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "WIN32" /d "STRICT" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "_WIN32_WCE_EMULATION" /d "INTERNATIONAL" /d "USA" /d "INTLMSG_CODEPAGE" /d "_DEBUG" /d "x86" /d "i486" /d "_x86_"
@@ -490,7 +490,7 @@
 # PROP Target_Dir ""
 CPP=clppc.exe
 # ADD BASE CPP /nologo /M$(CECrt) /W3 /O2 /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "NDEBUG" /D "PPC" /D "_PPC_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /YX /c
-# ADD CPP /nologo /M$(CECrt) /W3 /O2 /I ".." /I "..\..\zlib" /D "NDEBUG" /D "PPC" /D "_PPC_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
+# ADD CPP /nologo /M$(CECrt) /W3 /O2 /I "..\.." /I "..\..\..\zlib" /D "NDEBUG" /D "PPC" /D "_PPC_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "ppc" /d "_ppc_" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "NDEBUG"
@@ -521,7 +521,7 @@
 # PROP Target_Dir ""
 CPP=clppc.exe
 # ADD BASE CPP /nologo /M$(CECrtDebug) /W3 /Zi /Od /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "DEBUG" /D "PPC" /D "_PPC_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /YX /c
-# ADD CPP /nologo /M$(CECrtDebug) /W3 /Zi /Od /I ".." /I "..\..\zlib" /D "DEBUG" /D "PPC" /D "_PPC_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
+# ADD CPP /nologo /M$(CECrtDebug) /W3 /Zi /Od /I "..\.." /I "..\..\..\zlib" /D "DEBUG" /D "PPC" /D "_PPC_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "PNG_USE_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "ppc" /d "_ppc_" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "DEBUG"
@@ -568,209 +568,209 @@
 !IF  "$(CFG)" == "pngtest - Win32 (WCE MIPS) Release"
 
 DEP_CPP_PNGTE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "pngtest - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_PNGTE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "pngtest - Win32 (WCE SH4) Release"
 
 DEP_CPP_PNGTE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "pngtest - Win32 (WCE SH4) Debug"
 
 DEP_CPP_PNGTE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "pngtest - Win32 (WCE SH3) Release"
 
 DEP_CPP_PNGTE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "pngtest - Win32 (WCE SH3) Debug"
 
 DEP_CPP_PNGTE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "pngtest - Win32 (WCE ARM) Release"
 
 DEP_CPP_PNGTE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "pngtest - Win32 (WCE ARM) Debug"
 
 DEP_CPP_PNGTE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "pngtest - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_PNGTE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "pngtest - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_PNGTE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "pngtest - Win32 (WCE x86) Release"
 
 DEP_CPP_PNGTE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "pngtest - Win32 (WCE x86) Debug"
 
 DEP_CPP_PNGTE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "pngtest - Win32 (WCE x86em) Release"
 
 DEP_CPP_PNGTE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "pngtest - Win32 (WCE x86em) Debug"
 
 DEP_CPP_PNGTE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "pngtest - Win32 (WCE PPC) Release"
 
 DEP_CPP_PNGTE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ELSEIF  "$(CFG)" == "pngtest - Win32 (WCE PPC) Debug"
 
 DEP_CPP_PNGTE=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\png.h"\
-	"..\pngasmrd.h"\
-	"..\pngconf.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
+	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
-	"..\alloc.h"\
+	"..\..\alloc.h"\
 	
 
 !ENDIF 
diff --git a/wince/pngtest.dsw b/dll/wince/pngtest.dsw
similarity index 100%
rename from wince/pngtest.dsw
rename to dll/wince/pngtest.dsw
diff --git a/wince/winmain.c b/dll/wince/winmain.c
similarity index 100%
rename from wince/winmain.c
rename to dll/wince/winmain.c
diff --git a/dll/wince/zlib.diff b/dll/wince/zlib.diff
new file mode 100644
index 0000000..66ed29f
--- /dev/null
+++ b/dll/wince/zlib.diff
@@ -0,0 +1,2168 @@
+diff -ac zlib113/deflate.c zlibwce/deflate.c
+*** zlib113/deflate.c	Fri Jul 10 01:06:12 1998
+--- zlibwce/deflate.c	Thu May 25 16:42:18 2000
+***************
+*** 921,926 ****
+--- 921,930 ----
+  #endif /* ASMV */
+  
+  #ifdef DEBUG
++ #ifdef _WIN32_WCE
++ /* Windows CE is not support DEBUG version's zlib */
++ #  define check_match(s, start, match, length)
++ #else
+  /* ===========================================================================
+   * Check that the match at match_start is indeed a match.
+   */
+***************
+*** 944,949 ****
+--- 948,954 ----
+          do { putc(s->window[start++], stderr); } while (--length != 0);
+      }
+  }
++ #endif
+  #else
+  #  define check_match(s, start, match, length)
+  #endif
+diff -ac zlib113/trees.c zlibwce/trees.c
+*** zlib113/trees.c	Thu Jul 09 01:32:58 1998
+--- zlibwce/trees.c	Thu May 25 16:42:50 2000
+***************
+*** 168,176 ****
+--- 168,182 ----
+     /* Send a code of the given tree. c and tree must not have side effects */
+  
+  #else /* DEBUG */
++ #ifdef _WIN32_WCE
++ /* Windows CE is not support DEBUG version's zlib */
++ #  define send_code(s, c, tree) send_bits(s, tree[c].Code, tree[c].Len)
++ 
++ #else
+  #  define send_code(s, c, tree) \
+       { if (z_verbose>2) fprintf(stderr,"\ncd %3d ",(c)); \
+         send_bits(s, tree[c].Code, tree[c].Len); }
++ #endif
+  #endif
+  
+  /* ===========================================================================
+diff -ac zlib113/zconf.h zlibwce/zconf.h
+*** zlib113/zconf.h	Thu Jul 09 02:55:28 1998
+--- zlibwce/zconf.h	Thu May 25 16:36:16 2000
+***************
+*** 96,101 ****
+--- 96,106 ----
+  #  define NEED_DUMMY_RETURN
+  #endif
+  
++ /* Windows CE is not have errno.h file: */
++ #if defined(_WIN32_WCE)
++ #  define NO_ERRNO_H
++ #endif
++ 
+  
+  /* Maximum value for memLevel in deflateInit2 */
+  #ifndef MAX_MEM_LEVEL
+***************
+*** 162,168 ****
+  
+  /* Compile with -DZLIB_DLL for Windows DLL support */
+  #if defined(ZLIB_DLL)
+! #  if defined(_WINDOWS) || defined(WINDOWS)
+  #    ifdef FAR
+  #      undef FAR
+  #    endif
+--- 167,173 ----
+  
+  /* Compile with -DZLIB_DLL for Windows DLL support */
+  #if defined(ZLIB_DLL)
+! #  if defined(_WINDOWS) || defined(WINDOWS) || defined(_WIN32_WCE)
+  #    ifdef FAR
+  #      undef FAR
+  #    endif
+diff -ac zlib113/zutil.c zlibwce/zutil.c
+*** zlib113/zutil.c	Thu Jul 09 02:01:48 1998
+--- zlibwce/zutil.c	Thu May 25 16:43:34 2000
+***************
+*** 32,37 ****
+--- 32,40 ----
+  }
+  
+  #ifdef DEBUG
++ #ifdef _WIN32_WCE
++ /* Windows CE is not support DEBUG version's zlib */
++ #else
+  
+  #  ifndef verbose
+  #    define verbose 0
+***************
+*** 45,50 ****
+--- 48,54 ----
+      exit(1);
+  }
+  #endif
++ #endif
+  
+  /* exported to allow conversion of error code to string for compress() and
+   * uncompress()
+***************
+*** 211,217 ****
+--- 215,225 ----
+      unsigned size;
+  {
+      if (opaque) items += size - size; /* make compiler happy */
++ #ifdef _WIN32_WCE
++     return (voidpf)malloc(items * size);
++ #else
+      return (voidpf)calloc(items, size);
++ #endif
+  }
+  
+  void  zcfree (opaque, ptr)
+diff -ac zlib113/zutil.h zlibwce/zutil.h
+*** zlib113/zutil.h	Thu Jul 09 02:01:48 1998
+--- zlibwce/zutil.h	Thu May 25 16:41:44 2000
+***************
+*** 16,22 ****
+--- 16,26 ----
+  #include "zlib.h"
+  
+  #ifdef STDC
++ #ifdef _WIN32_WCE
++ #  include <malloc.h>
++ #else
+  #  include <stddef.h>
++ #endif
+  #  include <string.h>
+  #  include <stdlib.h>
+  #endif
+***************
+*** 188,193 ****
+--- 192,206 ----
+  
+  /* Diagnostic functions */
+  #ifdef DEBUG
++ #ifdef _WIN32_WCE
++ /* Windows CE is not support DEBUG version's zlib */
++ #  define Assert(cond,msg)
++ #  define Trace(x)
++ #  define Tracev(x)
++ #  define Tracevv(x)
++ #  define Tracec(c,x)
++ #  define Tracecv(c,x)
++ #else
+  #  include <stdio.h>
+     extern int z_verbose;
+     extern void z_error    OF((char *m));
+***************
+*** 197,202 ****
+--- 210,216 ----
+  #  define Tracevv(x) {if (z_verbose>1) fprintf x ;}
+  #  define Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;}
+  #  define Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;}
++ #endif
+  #else
+  #  define Assert(cond,msg)
+  #  define Trace(x)
+*** zlib113/gzio.c	Sat Jul  8 13:59:49 2000
+--- zlibwce/gzio.c	Sat Jul  8 13:58:29 2000
+***************
+*** 1,5 ****
+! /* gzio.c -- IO on .gz files
+   * Copyright (C) 1995-1998 Jean-loup Gailly.
+   * For conditions of distribution and use, see copyright notice in zlib.h
+   *
+   * Compile this file with -DNO_DEFLATE to avoid the compression code.
+--- 1,6 ----
+! /* gzio.c -- IO on .gz files for WindowsCE
+   * Copyright (C) 1995-1998 Jean-loup Gailly.
++  * Copyright (C) 2000      Tenik Co.,Ltd.
+   * For conditions of distribution and use, see copyright notice in zlib.h
+   *
+   * Compile this file with -DNO_DEFLATE to avoid the compression code.
+***************
+*** 7,13 ****
+  
+  /* @(#) $Id$ */
+  
+! #include <stdio.h>
+  
+  #include "zutil.h"
+  
+--- 8,14 ----
+  
+  /* @(#) $Id$ */
+  
+! #include <windows.h>
+  
+  #include "zutil.h"
+  
+***************
+*** 41,47 ****
+      z_stream stream;
+      int      z_err;   /* error code for last stream operation */
+      int      z_eof;   /* set if end of input file */
+!     FILE     *file;   /* .gz file */
+      Byte     *inbuf;  /* input buffer */
+      Byte     *outbuf; /* output buffer */
+      uLong    crc;     /* crc32 of uncompressed data */
+--- 42,48 ----
+      z_stream stream;
+      int      z_err;   /* error code for last stream operation */
+      int      z_eof;   /* set if end of input file */
+!     HANDLE   file;    /* .gz file */
+      Byte     *inbuf;  /* input buffer */
+      Byte     *outbuf; /* output buffer */
+      uLong    crc;     /* crc32 of uncompressed data */
+***************
+*** 58,64 ****
+  local int    get_byte     OF((gz_stream *s));
+  local void   check_header OF((gz_stream *s));
+  local int    destroy      OF((gz_stream *s));
+! local void   putLong      OF((FILE *file, uLong x));
+  local uLong  getLong      OF((gz_stream *s));
+  
+  /* ===========================================================================
+--- 59,65 ----
+  local int    get_byte     OF((gz_stream *s));
+  local void   check_header OF((gz_stream *s));
+  local int    destroy      OF((gz_stream *s));
+! local void   putLong      OF((HANDLE file, uLong x));
+  local uLong  getLong      OF((gz_stream *s));
+  
+  /* ===========================================================================
+***************
+*** 82,87 ****
+--- 83,91 ----
+      gz_stream *s;
+      char fmode[80]; /* copy of mode, without the compression level */
+      char *m = fmode;
++     char cbuff[10];
++     DWORD size;
++     TCHAR file[MAX_PATH];
+  
+      if (!path || !mode) return Z_NULL;
+  
+***************
+*** 94,100 ****
+      s->stream.next_in = s->inbuf = Z_NULL;
+      s->stream.next_out = s->outbuf = Z_NULL;
+      s->stream.avail_in = s->stream.avail_out = 0;
+!     s->file = NULL;
+      s->z_err = Z_OK;
+      s->z_eof = 0;
+      s->crc = crc32(0L, Z_NULL, 0);
+--- 98,104 ----
+      s->stream.next_in = s->inbuf = Z_NULL;
+      s->stream.next_out = s->outbuf = Z_NULL;
+      s->stream.avail_in = s->stream.avail_out = 0;
+!     s->file = INVALID_HANDLE_VALUE;
+      s->z_err = Z_OK;
+      s->z_eof = 0;
+      s->crc = crc32(0L, Z_NULL, 0);
+***************
+*** 112,125 ****
+          if (*p == 'r') s->mode = 'r';
+          if (*p == 'w' || *p == 'a') s->mode = 'w';
+          if (*p >= '0' && *p <= '9') {
+! 	    level = *p - '0';
+! 	} else if (*p == 'f') {
+! 	  strategy = Z_FILTERED;
+! 	} else if (*p == 'h') {
+! 	  strategy = Z_HUFFMAN_ONLY;
+! 	} else {
+! 	    *m++ = *p; /* copy the mode */
+! 	}
+      } while (*p++ && m != fmode + sizeof(fmode));
+      if (s->mode == '\0') return destroy(s), (gzFile)Z_NULL;
+      
+--- 116,129 ----
+          if (*p == 'r') s->mode = 'r';
+          if (*p == 'w' || *p == 'a') s->mode = 'w';
+          if (*p >= '0' && *p <= '9') {
+!             level = *p - '0';
+!         } else if (*p == 'f') {
+!           strategy = Z_FILTERED;
+!         } else if (*p == 'h') {
+!           strategy = Z_HUFFMAN_ONLY;
+!         } else {
+!             *m++ = *p; /* copy the mode */
+!         }
+      } while (*p++ && m != fmode + sizeof(fmode));
+      if (s->mode == '\0') return destroy(s), (gzFile)Z_NULL;
+      
+***************
+*** 152,177 ****
+      }
+      s->stream.avail_out = Z_BUFSIZE;
+  
+!     errno = 0;
+!     s->file = fd < 0 ? F_OPEN(path, fmode) : (FILE*)fdopen(fd, fmode);
+  
+!     if (s->file == NULL) {
+          return destroy(s), (gzFile)Z_NULL;
+      }
+      if (s->mode == 'w') {
+          /* Write a very simple .gz header:
+           */
+!         fprintf(s->file, "%c%c%c%c%c%c%c%c%c%c", gz_magic[0], gz_magic[1],
+!              Z_DEFLATED, 0 /*flags*/, 0,0,0,0 /*time*/, 0 /*xflags*/, OS_CODE);
+! 	s->startpos = 10L;
+! 	/* We use 10L instead of ftell(s->file) to because ftell causes an
+           * fflush on some systems. This version of the library doesn't use
+           * startpos anyway in write mode, so this initialization is not
+           * necessary.
+           */
+      } else {
+! 	check_header(s); /* skip the .gz header */
+! 	s->startpos = (ftell(s->file) - s->stream.avail_in);
+      }
+      
+      return (gzFile)s;
+--- 156,195 ----
+      }
+      s->stream.avail_out = Z_BUFSIZE;
+  
+!     SetLastError(NO_ERROR);
+!     if ((HANDLE)fd == INVALID_HANDLE_VALUE) {
+!         MultiByteToWideChar(CP_ACP, 0, path, -1, file, MAX_PATH);
+!         s->file = CreateFile(file, GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, 0, NULL);
+!     } else {
+!         s->file = (HANDLE)fd;
+!     }
+  
+!     if (s->file == INVALID_HANDLE_VALUE) {
+          return destroy(s), (gzFile)Z_NULL;
+      }
+      if (s->mode == 'w') {
+          /* Write a very simple .gz header:
+           */
+!         cbuff[0] = gz_magic[0];
+!         cbuff[1] = gz_magic[1];
+!         cbuff[2] = Z_DEFLATED;
+!         cbuff[3] = 0; /*flags*/
+!         cbuff[4] = 0;
+!         cbuff[5] = 0;
+!         cbuff[6] = 0;
+!         cbuff[7] = 0; /*time*/;
+!         cbuff[8] = 0; /*xflags*/;
+!         cbuff[9] = OS_CODE;
+!         WriteFile(s->file, cbuff, 10, &size, NULL);
+!         s->startpos = 10L;
+!         /* We use 10L instead of ftell(s->file) to because ftell causes an
+           * fflush on some systems. This version of the library doesn't use
+           * startpos anyway in write mode, so this initialization is not
+           * necessary.
+           */
+      } else {
+!         check_header(s); /* skip the .gz header */
+!         s->startpos = (SetFilePointer(s->file, 0, NULL, FILE_CURRENT) - s->stream.avail_in);
+      }
+      
+      return (gzFile)s;
+***************
+*** 197,205 ****
+  {
+      char name[20];
+  
+!     if (fd < 0) return (gzFile)Z_NULL;
+!     sprintf(name, "<fd:%d>", fd); /* for debugging */
+  
+      return gz_open (name, mode, fd);
+  }
+  
+--- 215,225 ----
+  {
+      char name[20];
+  
+!     if ((HANDLE)fd == INVALID_HANDLE_VALUE)
+!         return (gzFile)Z_NULL;
+  
++     strcpy(name, "<gzdopen>"); /* for debugging */
++ 
+      return gz_open (name, mode, fd);
+  }
+  
+***************
+*** 212,217 ****
+--- 232,238 ----
+      int strategy;
+  {
+      gz_stream *s = (gz_stream*)file;
++     DWORD size;
+  
+      if (s == NULL || s->mode != 'w') return Z_STREAM_ERROR;
+  
+***************
+*** 218,228 ****
+      /* Make room to allow flushing */
+      if (s->stream.avail_out == 0) {
+  
+! 	s->stream.next_out = s->outbuf;
+! 	if (fwrite(s->outbuf, 1, Z_BUFSIZE, s->file) != Z_BUFSIZE) {
+! 	    s->z_err = Z_ERRNO;
+! 	}
+! 	s->stream.avail_out = Z_BUFSIZE;
+      }
+  
+      return deflateParams (&(s->stream), level, strategy);
+--- 239,249 ----
+      /* Make room to allow flushing */
+      if (s->stream.avail_out == 0) {
+  
+!         s->stream.next_out = s->outbuf;
+!         if (!WriteFile(s->file, s->outbuf, Z_BUFSIZE, &size, NULL) || size != Z_BUFSIZE) {
+!             s->z_err = Z_ERRNO;
+!         }
+!         s->stream.avail_out = Z_BUFSIZE;
+      }
+  
+      return deflateParams (&(s->stream), level, strategy);
+***************
+*** 236,251 ****
+  local int get_byte(s)
+      gz_stream *s;
+  {
+!     if (s->z_eof) return EOF;
+      if (s->stream.avail_in == 0) {
+! 	errno = 0;
+! 	s->stream.avail_in = fread(s->inbuf, 1, Z_BUFSIZE, s->file);
+! 	if (s->stream.avail_in == 0) {
+! 	    s->z_eof = 1;
+! 	    if (ferror(s->file)) s->z_err = Z_ERRNO;
+! 	    return EOF;
+! 	}
+! 	s->stream.next_in = s->inbuf;
+      }
+      s->stream.avail_in--;
+      return *(s->stream.next_in)++;
+--- 257,273 ----
+  local int get_byte(s)
+      gz_stream *s;
+  {
+!     if (s->z_eof) return -1;
+      if (s->stream.avail_in == 0) {
+!         SetLastError(NO_ERROR);
+!         if (!ReadFile(s->file, s->inbuf, Z_BUFSIZE, &s->stream.avail_in, NULL)) {
+!             s->z_err = Z_ERRNO;
+!         }
+!         if (s->stream.avail_in == 0) {
+!             s->z_eof = 1;
+!             return -1;
+!         }
+!         s->stream.next_in = s->inbuf;
+      }
+      s->stream.avail_in--;
+      return *(s->stream.next_in)++;
+***************
+*** 270,291 ****
+  
+      /* Check the gzip magic header */
+      for (len = 0; len < 2; len++) {
+! 	c = get_byte(s);
+! 	if (c != gz_magic[len]) {
+! 	    if (len != 0) s->stream.avail_in++, s->stream.next_in--;
+! 	    if (c != EOF) {
+! 		s->stream.avail_in++, s->stream.next_in--;
+! 		s->transparent = 1;
+! 	    }
+! 	    s->z_err = s->stream.avail_in != 0 ? Z_OK : Z_STREAM_END;
+! 	    return;
+! 	}
+      }
+      method = get_byte(s);
+      flags = get_byte(s);
+      if (method != Z_DEFLATED || (flags & RESERVED) != 0) {
+! 	s->z_err = Z_DATA_ERROR;
+! 	return;
+      }
+  
+      /* Discard time, xflags and OS code: */
+--- 292,313 ----
+  
+      /* Check the gzip magic header */
+      for (len = 0; len < 2; len++) {
+!         c = get_byte(s);
+!         if (c != gz_magic[len]) {
+!             if (len != 0) s->stream.avail_in++, s->stream.next_in--;
+!             if (c != -1) {
+!                 s->stream.avail_in++, s->stream.next_in--;
+!                 s->transparent = 1;
+!             }
+!             s->z_err = s->stream.avail_in != 0 ? Z_OK : Z_STREAM_END;
+!             return;
+!         }
+      }
+      method = get_byte(s);
+      flags = get_byte(s);
+      if (method != Z_DEFLATED || (flags & RESERVED) != 0) {
+!         s->z_err = Z_DATA_ERROR;
+!         return;
+      }
+  
+      /* Discard time, xflags and OS code: */
+***************
+*** 292,310 ****
+      for (len = 0; len < 6; len++) (void)get_byte(s);
+  
+      if ((flags & EXTRA_FIELD) != 0) { /* skip the extra field */
+! 	len  =  (uInt)get_byte(s);
+! 	len += ((uInt)get_byte(s))<<8;
+! 	/* len is garbage if EOF but the loop below will quit anyway */
+! 	while (len-- != 0 && get_byte(s) != EOF) ;
+      }
+      if ((flags & ORIG_NAME) != 0) { /* skip the original file name */
+! 	while ((c = get_byte(s)) != 0 && c != EOF) ;
+      }
+      if ((flags & COMMENT) != 0) {   /* skip the .gz file comment */
+! 	while ((c = get_byte(s)) != 0 && c != EOF) ;
+      }
+      if ((flags & HEAD_CRC) != 0) {  /* skip the header crc */
+! 	for (len = 0; len < 2; len++) (void)get_byte(s);
+      }
+      s->z_err = s->z_eof ? Z_DATA_ERROR : Z_OK;
+  }
+--- 314,332 ----
+      for (len = 0; len < 6; len++) (void)get_byte(s);
+  
+      if ((flags & EXTRA_FIELD) != 0) { /* skip the extra field */
+!         len  =  (uInt)get_byte(s);
+!         len += ((uInt)get_byte(s))<<8;
+!         /* len is garbage if EOF but the loop below will quit anyway */
+!         while (len-- != 0 && get_byte(s) != -1) ;
+      }
+      if ((flags & ORIG_NAME) != 0) { /* skip the original file name */
+!         while ((c = get_byte(s)) != 0 && c != -1) ;
+      }
+      if ((flags & COMMENT) != 0) {   /* skip the .gz file comment */
+!         while ((c = get_byte(s)) != 0 && c != -1) ;
+      }
+      if ((flags & HEAD_CRC) != 0) {  /* skip the header crc */
+!         for (len = 0; len < 2; len++) (void)get_byte(s);
+      }
+      s->z_err = s->z_eof ? Z_DATA_ERROR : Z_OK;
+  }
+***************
+*** 323,343 ****
+      TRYFREE(s->msg);
+  
+      if (s->stream.state != NULL) {
+! 	if (s->mode == 'w') {
+  #ifdef NO_DEFLATE
+! 	    err = Z_STREAM_ERROR;
+  #else
+! 	    err = deflateEnd(&(s->stream));
+  #endif
+! 	} else if (s->mode == 'r') {
+! 	    err = inflateEnd(&(s->stream));
+! 	}
+!     }
+!     if (s->file != NULL && fclose(s->file)) {
+! #ifdef ESPIPE
+! 	if (errno != ESPIPE) /* fclose is broken for pipes in HP/UX */
+! #endif
+! 	    err = Z_ERRNO;
+      }
+      if (s->z_err < 0) err = s->z_err;
+  
+--- 345,362 ----
+      TRYFREE(s->msg);
+  
+      if (s->stream.state != NULL) {
+!         if (s->mode == 'w') {
+  #ifdef NO_DEFLATE
+!             err = Z_STREAM_ERROR;
+  #else
+!             err = deflateEnd(&(s->stream));
+  #endif
+!         } else if (s->mode == 'r') {
+!             err = inflateEnd(&(s->stream));
+!         }
+!     }
+!     if (s->file != NULL && !CloseHandle(s->file)) {
+!         err = Z_ERRNO;
+      }
+      if (s->z_err < 0) err = s->z_err;
+  
+***************
+*** 360,365 ****
+--- 379,385 ----
+      gz_stream *s = (gz_stream*)file;
+      Bytef *start = (Bytef*)buf; /* starting point for crc computation */
+      Byte  *next_out; /* == stream.next_out but not forced far (for MSDOS) */
++     DWORD size;
+  
+      if (s == NULL || s->mode != 'r') return Z_STREAM_ERROR;
+  
+***************
+*** 372,440 ****
+  
+      while (s->stream.avail_out != 0) {
+  
+! 	if (s->transparent) {
+! 	    /* Copy first the lookahead bytes: */
+! 	    uInt n = s->stream.avail_in;
+! 	    if (n > s->stream.avail_out) n = s->stream.avail_out;
+! 	    if (n > 0) {
+! 		zmemcpy(s->stream.next_out, s->stream.next_in, n);
+! 		next_out += n;
+! 		s->stream.next_out = next_out;
+! 		s->stream.next_in   += n;
+! 		s->stream.avail_out -= n;
+! 		s->stream.avail_in  -= n;
+! 	    }
+! 	    if (s->stream.avail_out > 0) {
+! 		s->stream.avail_out -= fread(next_out, 1, s->stream.avail_out,
+! 					     s->file);
+! 	    }
+! 	    len -= s->stream.avail_out;
+! 	    s->stream.total_in  += (uLong)len;
+! 	    s->stream.total_out += (uLong)len;
+              if (len == 0) s->z_eof = 1;
+! 	    return (int)len;
+! 	}
+          if (s->stream.avail_in == 0 && !s->z_eof) {
+  
+!             errno = 0;
+!             s->stream.avail_in = fread(s->inbuf, 1, Z_BUFSIZE, s->file);
+              if (s->stream.avail_in == 0) {
+                  s->z_eof = 1;
+- 		if (ferror(s->file)) {
+- 		    s->z_err = Z_ERRNO;
+- 		    break;
+- 		}
+              }
+              s->stream.next_in = s->inbuf;
+          }
+          s->z_err = inflate(&(s->stream), Z_NO_FLUSH);
+  
+! 	if (s->z_err == Z_STREAM_END) {
+! 	    /* Check CRC and original size */
+! 	    s->crc = crc32(s->crc, start, (uInt)(s->stream.next_out - start));
+! 	    start = s->stream.next_out;
+! 
+! 	    if (getLong(s) != s->crc) {
+! 		s->z_err = Z_DATA_ERROR;
+! 	    } else {
+! 	        (void)getLong(s);
+                  /* The uncompressed length returned by above getlong() may
+                   * be different from s->stream.total_out) in case of
+! 		 * concatenated .gz files. Check for such files:
+! 		 */
+! 		check_header(s);
+! 		if (s->z_err == Z_OK) {
+! 		    uLong total_in = s->stream.total_in;
+! 		    uLong total_out = s->stream.total_out;
+! 
+! 		    inflateReset(&(s->stream));
+! 		    s->stream.total_in = total_in;
+! 		    s->stream.total_out = total_out;
+! 		    s->crc = crc32(0L, Z_NULL, 0);
+! 		}
+! 	    }
+! 	}
+! 	if (s->z_err != Z_OK || s->z_eof) break;
+      }
+      s->crc = crc32(s->crc, start, (uInt)(s->stream.next_out - start));
+  
+--- 392,461 ----
+  
+      while (s->stream.avail_out != 0) {
+  
+!         if (s->transparent) {
+!             /* Copy first the lookahead bytes: */
+!             uInt n = s->stream.avail_in;
+!             if (n > s->stream.avail_out) n = s->stream.avail_out;
+!             if (n > 0) {
+!                 zmemcpy(s->stream.next_out, s->stream.next_in, n);
+!                 next_out += n;
+!                 s->stream.next_out = next_out;
+!                 s->stream.next_in   += n;
+!                 s->stream.avail_out -= n;
+!                 s->stream.avail_in  -= n;
+!             }
+!             if (s->stream.avail_out > 0) {
+!                 if (ReadFile(s->file, next_out, s->stream.avail_out, &size, NULL)) {
+!                     s->stream.avail_out -= size;
+!                 }
+!             }
+!             len -= s->stream.avail_out;
+!             s->stream.total_in  += (uLong)len;
+!             s->stream.total_out += (uLong)len;
+              if (len == 0) s->z_eof = 1;
+!             return (int)len;
+!         }
+          if (s->stream.avail_in == 0 && !s->z_eof) {
+  
+!             SetLastError(NO_ERROR);
+!             if (!ReadFile(s->file, s->inbuf, Z_BUFSIZE, &s->stream.avail_in, NULL)) {
+!                 s->z_eof = 1;
+!                 s->z_err = Z_ERRNO;
+!                 break;
+!             }
+              if (s->stream.avail_in == 0) {
+                  s->z_eof = 1;
+              }
+              s->stream.next_in = s->inbuf;
+          }
+          s->z_err = inflate(&(s->stream), Z_NO_FLUSH);
+  
+!         if (s->z_err == Z_STREAM_END) {
+!             /* Check CRC and original size */
+!             s->crc = crc32(s->crc, start, (uInt)(s->stream.next_out - start));
+!             start = s->stream.next_out;
+! 
+!             if (getLong(s) != s->crc) {
+!                 s->z_err = Z_DATA_ERROR;
+!             } else {
+!                 (void)getLong(s);
+                  /* The uncompressed length returned by above getlong() may
+                   * be different from s->stream.total_out) in case of
+!                  * concatenated .gz files. Check for such files:
+!                  */
+!                 check_header(s);
+!                 if (s->z_err == Z_OK) {
+!                     uLong total_in = s->stream.total_in;
+!                     uLong total_out = s->stream.total_out;
+! 
+!                     inflateReset(&(s->stream));
+!                     s->stream.total_in = total_in;
+!                     s->stream.total_out = total_out;
+!                     s->crc = crc32(0L, Z_NULL, 0);
+!                 }
+!             }
+!         }
+!         if (s->z_err != Z_OK || s->z_eof) break;
+      }
+      s->crc = crc32(s->crc, start, (uInt)(s->stream.next_out - start));
+  
+***************
+*** 489,494 ****
+--- 510,516 ----
+      unsigned len;
+  {
+      gz_stream *s = (gz_stream*)file;
++     DWORD size;
+  
+      if (s == NULL || s->mode != 'w') return Z_STREAM_ERROR;
+  
+***************
+*** 500,506 ****
+          if (s->stream.avail_out == 0) {
+  
+              s->stream.next_out = s->outbuf;
+!             if (fwrite(s->outbuf, 1, Z_BUFSIZE, s->file) != Z_BUFSIZE) {
+                  s->z_err = Z_ERRNO;
+                  break;
+              }
+--- 522,528 ----
+          if (s->stream.avail_out == 0) {
+  
+              s->stream.next_out = s->outbuf;
+!             if (!WriteFile(s->file, s->outbuf, Z_BUFSIZE, &size, NULL) || size != Z_BUFSIZE) {
+                  s->z_err = Z_ERRNO;
+                  break;
+              }
+***************
+*** 527,540 ****
+      char buf[Z_PRINTF_BUFSIZE];
+      va_list va;
+      int len;
+  
+      va_start(va, format);
+! #ifdef HAS_vsnprintf
+!     (void)vsnprintf(buf, sizeof(buf), format, va);
+! #else
+!     (void)vsprintf(buf, format, va);
+! #endif
+      va_end(va);
+      len = strlen(buf); /* some *sprintf don't return the nb of bytes written */
+      if (len <= 0) return 0;
+  
+--- 549,574 ----
+      char buf[Z_PRINTF_BUFSIZE];
+      va_list va;
+      int len;
++     TCHAR form[Z_PRINTF_BUFSIZE];
++     TCHAR tbuf[Z_PRINTF_BUFSIZE];
++     int n;
+  
+      va_start(va, format);
+!     MultiByteToWideChar(CP_ACP, 0, format, -1, form, Z_PRINTF_BUFSIZE);
+!     len = lstrlen(form);
+!     for ( n = 0; n < len; n++ ) {
+!         if ( TEXT('%') == form[n] ) {
+!             n++;
+!             if ( TEXT('c') == form[n] ) {
+!                 form[n] = TEXT('C');
+!             } else if ( TEXT('s') == form[n] ) {
+!                 form[n] = TEXT('S');
+!             }
+!         }
+!     }
+!     (void)vswprintf(tbuf, form, va);
+      va_end(va);
++     WideCharToMultiByte(CP_ACP, 0, tbuf, -1, buf, Z_PRINTF_BUFSIZE, NULL, NULL);
+      len = strlen(buf); /* some *sprintf don't return the nb of bytes written */
+      if (len <= 0) return 0;
+  
+***************
+*** 543,553 ****
+  #else /* not ANSI C */
+  
+  int ZEXPORTVA gzprintf (file, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
+! 	               a11, a12, a13, a14, a15, a16, a17, a18, a19, a20)
+      gzFile file;
+      const char *format;
+      int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
+! 	a11, a12, a13, a14, a15, a16, a17, a18, a19, a20;
+  {
+      char buf[Z_PRINTF_BUFSIZE];
+      int len;
+--- 577,587 ----
+  #else /* not ANSI C */
+  
+  int ZEXPORTVA gzprintf (file, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
+!                        a11, a12, a13, a14, a15, a16, a17, a18, a19, a20)
+      gzFile file;
+      const char *format;
+      int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
+!         a11, a12, a13, a14, a15, a16, a17, a18, a19, a20;
+  {
+      char buf[Z_PRINTF_BUFSIZE];
+      int len;
+***************
+*** 554,563 ****
+  
+  #ifdef HAS_snprintf
+      snprintf(buf, sizeof(buf), format, a1, a2, a3, a4, a5, a6, a7, a8,
+! 	     a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
+  #else
+      sprintf(buf, format, a1, a2, a3, a4, a5, a6, a7, a8,
+! 	    a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
+  #endif
+      len = strlen(buf); /* old sprintf doesn't return the nb of bytes written */
+      if (len <= 0) return 0;
+--- 588,597 ----
+  
+  #ifdef HAS_snprintf
+      snprintf(buf, sizeof(buf), format, a1, a2, a3, a4, a5, a6, a7, a8,
+!              a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
+  #else
+      sprintf(buf, format, a1, a2, a3, a4, a5, a6, a7, a8,
+!             a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
+  #endif
+      len = strlen(buf); /* old sprintf doesn't return the nb of bytes written */
+      if (len <= 0) return 0;
+***************
+*** 604,609 ****
+--- 638,644 ----
+      uInt len;
+      int done = 0;
+      gz_stream *s = (gz_stream*)file;
++     DWORD size;
+  
+      if (s == NULL || s->mode != 'w') return Z_STREAM_ERROR;
+  
+***************
+*** 613,619 ****
+          len = Z_BUFSIZE - s->stream.avail_out;
+  
+          if (len != 0) {
+!             if ((uInt)fwrite(s->outbuf, 1, len, s->file) != len) {
+                  s->z_err = Z_ERRNO;
+                  return Z_ERRNO;
+              }
+--- 648,654 ----
+          len = Z_BUFSIZE - s->stream.avail_out;
+  
+          if (len != 0) {
+!             if (!WriteFile(s->file, s->outbuf, len, &size, NULL) || (uInt)size != len) {
+                  s->z_err = Z_ERRNO;
+                  return Z_ERRNO;
+              }
+***************
+*** 623,630 ****
+          if (done) break;
+          s->z_err = deflate(&(s->stream), flush);
+  
+! 	/* Ignore the second of two consecutive flushes: */
+! 	if (len == 0 && s->z_err == Z_BUF_ERROR) s->z_err = Z_OK;
+  
+          /* deflate has finished flushing only when it hasn't used up
+           * all the available space in the output buffer: 
+--- 658,665 ----
+          if (done) break;
+          s->z_err = deflate(&(s->stream), flush);
+  
+!         /* Ignore the second of two consecutive flushes: */
+!         if (len == 0 && s->z_err == Z_BUF_ERROR) s->z_err = Z_OK;
+  
+          /* deflate has finished flushing only when it hasn't used up
+           * all the available space in the output buffer: 
+***************
+*** 644,650 ****
+      int err = do_flush (file, flush);
+  
+      if (err) return err;
+!     fflush(s->file);
+      return  s->z_err == Z_STREAM_END ? Z_OK : s->z_err;
+  }
+  #endif /* NO_DEFLATE */
+--- 679,685 ----
+      int err = do_flush (file, flush);
+  
+      if (err) return err;
+! 
+      return  s->z_err == Z_STREAM_END ? Z_OK : s->z_err;
+  }
+  #endif /* NO_DEFLATE */
+***************
+*** 665,698 ****
+      gz_stream *s = (gz_stream*)file;
+  
+      if (s == NULL || whence == SEEK_END ||
+! 	s->z_err == Z_ERRNO || s->z_err == Z_DATA_ERROR) {
+! 	return -1L;
+      }
+      
+      if (s->mode == 'w') {
+  #ifdef NO_DEFLATE
+! 	return -1L;
+  #else
+! 	if (whence == SEEK_SET) {
+! 	    offset -= s->stream.total_in;
+! 	}
+! 	if (offset < 0) return -1L;
+! 
+! 	/* At this point, offset is the number of zero bytes to write. */
+! 	if (s->inbuf == Z_NULL) {
+! 	    s->inbuf = (Byte*)ALLOC(Z_BUFSIZE); /* for seeking */
+! 	    zmemzero(s->inbuf, Z_BUFSIZE);
+! 	}
+! 	while (offset > 0)  {
+! 	    uInt size = Z_BUFSIZE;
+! 	    if (offset < Z_BUFSIZE) size = (uInt)offset;
+! 
+! 	    size = gzwrite(file, s->inbuf, size);
+! 	    if (size == 0) return -1L;
+! 
+! 	    offset -= size;
+! 	}
+! 	return (z_off_t)s->stream.total_in;
+  #endif
+      }
+      /* Rest of function is for reading only */
+--- 700,733 ----
+      gz_stream *s = (gz_stream*)file;
+  
+      if (s == NULL || whence == SEEK_END ||
+!         s->z_err == Z_ERRNO || s->z_err == Z_DATA_ERROR) {
+!         return -1L;
+      }
+      
+      if (s->mode == 'w') {
+  #ifdef NO_DEFLATE
+!         return -1L;
+  #else
+!         if (whence == SEEK_SET) {
+!             offset -= s->stream.total_in;
+!         }
+!         if (offset < 0) return -1L;
+! 
+!         /* At this point, offset is the number of zero bytes to write. */
+!         if (s->inbuf == Z_NULL) {
+!             s->inbuf = (Byte*)ALLOC(Z_BUFSIZE); /* for seeking */
+!             zmemzero(s->inbuf, Z_BUFSIZE);
+!         }
+!         while (offset > 0)  {
+!             uInt size = Z_BUFSIZE;
+!             if (offset < Z_BUFSIZE) size = (uInt)offset;
+! 
+!             size = gzwrite(file, s->inbuf, size);
+!             if (size == 0) return -1L;
+! 
+!             offset -= size;
+!         }
+!         return (z_off_t)s->stream.total_in;
+  #endif
+      }
+      /* Rest of function is for reading only */
+***************
+*** 699,736 ****
+  
+      /* compute absolute position */
+      if (whence == SEEK_CUR) {
+! 	offset += s->stream.total_out;
+      }
+      if (offset < 0) return -1L;
+  
+      if (s->transparent) {
+! 	/* map to fseek */
+! 	s->stream.avail_in = 0;
+! 	s->stream.next_in = s->inbuf;
+!         if (fseek(s->file, offset, SEEK_SET) < 0) return -1L;
+  
+! 	s->stream.total_in = s->stream.total_out = (uLong)offset;
+! 	return offset;
+      }
+  
+      /* For a negative seek, rewind and use positive seek */
+      if ((uLong)offset >= s->stream.total_out) {
+! 	offset -= s->stream.total_out;
+      } else if (gzrewind(file) < 0) {
+! 	return -1L;
+      }
+      /* offset is now the number of bytes to skip. */
+  
+      if (offset != 0 && s->outbuf == Z_NULL) {
+! 	s->outbuf = (Byte*)ALLOC(Z_BUFSIZE);
+      }
+      while (offset > 0)  {
+! 	int size = Z_BUFSIZE;
+! 	if (offset < Z_BUFSIZE) size = (int)offset;
+  
+! 	size = gzread(file, s->outbuf, (uInt)size);
+! 	if (size <= 0) return -1L;
+! 	offset -= size;
+      }
+      return (z_off_t)s->stream.total_out;
+  }
+--- 734,771 ----
+  
+      /* compute absolute position */
+      if (whence == SEEK_CUR) {
+!         offset += s->stream.total_out;
+      }
+      if (offset < 0) return -1L;
+  
+      if (s->transparent) {
+!         /* map to fseek */
+!         s->stream.avail_in = 0;
+!         s->stream.next_in = s->inbuf;
+!         if (SetFilePointer(s->file, offset, NULL, FILE_BEGIN) == 0xFFFFFFFF) return -1L;
+  
+!         s->stream.total_in = s->stream.total_out = (uLong)offset;
+!         return offset;
+      }
+  
+      /* For a negative seek, rewind and use positive seek */
+      if ((uLong)offset >= s->stream.total_out) {
+!         offset -= s->stream.total_out;
+      } else if (gzrewind(file) < 0) {
+!         return -1L;
+      }
+      /* offset is now the number of bytes to skip. */
+  
+      if (offset != 0 && s->outbuf == Z_NULL) {
+!         s->outbuf = (Byte*)ALLOC(Z_BUFSIZE);
+      }
+      while (offset > 0)  {
+!         int size = Z_BUFSIZE;
+!         if (offset < Z_BUFSIZE) size = (int)offset;
+  
+!         size = gzread(file, s->outbuf, (uInt)size);
+!         if (size <= 0) return -1L;
+!         offset -= size;
+      }
+      return (z_off_t)s->stream.total_out;
+  }
+***************
+*** 742,748 ****
+      gzFile file;
+  {
+      gz_stream *s = (gz_stream*)file;
+!     
+      if (s == NULL || s->mode != 'r') return -1;
+  
+      s->z_err = Z_OK;
+--- 777,783 ----
+      gzFile file;
+  {
+      gz_stream *s = (gz_stream*)file;
+! 
+      if (s == NULL || s->mode != 'r') return -1;
+  
+      s->z_err = Z_OK;
+***************
+*** 750,763 ****
+      s->stream.avail_in = 0;
+      s->stream.next_in = s->inbuf;
+      s->crc = crc32(0L, Z_NULL, 0);
+! 	
+      if (s->startpos == 0) { /* not a compressed file */
+! 	rewind(s->file);
+! 	return 0;
+      }
+  
+      (void) inflateReset(&s->stream);
+!     return fseek(s->file, s->startpos, SEEK_SET);
+  }
+  
+  /* ===========================================================================
+--- 785,798 ----
+      s->stream.avail_in = 0;
+      s->stream.next_in = s->inbuf;
+      s->crc = crc32(0L, Z_NULL, 0);
+!         
+      if (s->startpos == 0) { /* not a compressed file */
+!         SetFilePointer(s->file, 0, NULL, FILE_BEGIN);
+!         return 0;
+      }
+  
+      (void) inflateReset(&s->stream);
+!     return SetFilePointer(s->file, s->startpos, NULL, FILE_BEGIN);
+  }
+  
+  /* ===========================================================================
+***************
+*** 787,798 ****
+     Outputs a long in LSB order to the given file
+  */
+  local void putLong (file, x)
+!     FILE *file;
+      uLong x;
+  {
+      int n;
+      for (n = 0; n < 4; n++) {
+!         fputc((int)(x & 0xff), file);
+          x >>= 8;
+      }
+  }
+--- 822,836 ----
+     Outputs a long in LSB order to the given file
+  */
+  local void putLong (file, x)
+!     HANDLE file;
+      uLong x;
+  {
+      int n;
++     char ch[1];
++     DWORD size;
+      for (n = 0; n < 4; n++) {
+!         ch[0] = (int)(x & 0xff);
+!         WriteFile(file, ch, 1, &size, NULL);
+          x >>= 8;
+      }
+  }
+***************
+*** 810,816 ****
+      x += ((uLong)get_byte(s))<<8;
+      x += ((uLong)get_byte(s))<<16;
+      c = get_byte(s);
+!     if (c == EOF) s->z_err = Z_DATA_ERROR;
+      x += ((uLong)c)<<24;
+      return x;
+  }
+--- 848,854 ----
+      x += ((uLong)get_byte(s))<<8;
+      x += ((uLong)get_byte(s))<<16;
+      c = get_byte(s);
+!     if (c == -1) s->z_err = Z_DATA_ERROR;
+      x += ((uLong)c)<<24;
+      return x;
+  }
+***************
+*** 829,835 ****
+  
+      if (s->mode == 'w') {
+  #ifdef NO_DEFLATE
+! 	return Z_STREAM_ERROR;
+  #else
+          err = do_flush (file, Z_FINISH);
+          if (err != Z_OK) return destroy((gz_stream*)file);
+--- 867,873 ----
+  
+      if (s->mode == 'w') {
+  #ifdef NO_DEFLATE
+!         return Z_STREAM_ERROR;
+  #else
+          err = do_flush (file, Z_FINISH);
+          if (err != Z_OK) return destroy((gz_stream*)file);
+***************
+*** 862,868 ****
+      *errnum = s->z_err;
+      if (*errnum == Z_OK) return (const char*)"";
+  
+!     m =  (char*)(*errnum == Z_ERRNO ? zstrerror(errno) : s->stream.msg);
+  
+      if (m == NULL || *m == '\0') m = (char*)ERR_MSG(s->z_err);
+  
+--- 900,906 ----
+      *errnum = s->z_err;
+      if (*errnum == Z_OK) return (const char*)"";
+  
+!     m =  (char*)(*errnum == Z_ERRNO ? zstrerror(GetLastError()) : s->stream.msg);
+  
+      if (m == NULL || *m == '\0') m = (char*)ERR_MSG(s->z_err);
+  
+*** zlib113/minigzip.c	Sat Jul  8 13:59:49 2000
+--- zlibwce/minigzip.c	Sat Jul  8 13:58:29 2000
+***************
+*** 1,5 ****
+--- 1,6 ----
+  /* minigzip.c -- simulate gzip using the zlib compression library
+   * Copyright (C) 1995-1998 Jean-loup Gailly.
++  * Copyright (C) 2000      Tenik Co.,Ltd.
+   * For conditions of distribution and use, see copyright notice in zlib.h 
+   */
+  
+***************
+*** 15,21 ****
+--- 16,30 ----
+  
+  /* @(#) $Id$ */
+  
++ #if defined(_WIN32_WCE)
++ #if _WIN32_WCE < 211
++ #error (f|w)printf functions is not support old WindowsCE.
++ #endif
++ #undef USE_MMAP
++ #include <windows.h>
++ #else
+  #include <stdio.h>
++ #endif
+  #include "zlib.h"
+  
+  #ifdef STDC
+***************
+*** 31,37 ****
+  #  include <sys/stat.h>
+  #endif
+  
+! #if defined(MSDOS) || defined(OS2) || defined(WIN32)
+  #  include <fcntl.h>
+  #  include <io.h>
+  #  define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY)
+--- 40,46 ----
+  #  include <sys/stat.h>
+  #endif
+  
+! #if (defined(MSDOS) || defined(OS2) || defined(WIN32)) && !defined(_WIN32_WCE)
+  #  include <fcntl.h>
+  #  include <io.h>
+  #  define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY)
+***************
+*** 71,84 ****
+  #  define local
+  #endif
+  
+  char *prog;
+  
+  void error            OF((const char *msg));
+! void gz_compress      OF((FILE   *in, gzFile out));
+  #ifdef USE_MMAP
+! int  gz_compress_mmap OF((FILE   *in, gzFile out));
+  #endif
+! void gz_uncompress    OF((gzFile in, FILE   *out));
+  void file_compress    OF((char  *file, char *mode));
+  void file_uncompress  OF((char  *file));
+  int  main             OF((int argc, char *argv[]));
+--- 80,103 ----
+  #  define local
+  #endif
+  
++ #if defined(_WIN32_WCE)
++ #undef  stderr
++ #define stderr  stdout
++ #define F_FILE  HANDLE
++ #define F_NULL  INVALID_HANDLE_VALUE
++ #else
++ #define F_FILE  FILE*
++ #define F_NULL  NULL
++ #endif
++ 
+  char *prog;
+  
+  void error            OF((const char *msg));
+! void gz_compress      OF((F_FILE in, gzFile out));
+  #ifdef USE_MMAP
+! int  gz_compress_mmap OF((F_FILE in, gzFile out));
+  #endif
+! void gz_uncompress    OF((gzFile in, F_FILE out));
+  void file_compress    OF((char  *file, char *mode));
+  void file_uncompress  OF((char  *file));
+  int  main             OF((int argc, char *argv[]));
+***************
+*** 93,104 ****
+      exit(1);
+  }
+  
+  /* ===========================================================================
+   * Compress input to output then close both files.
+   */
+  
+  void gz_compress(in, out)
+!     FILE   *in;
+      gzFile out;
+  {
+      local char buf[BUFLEN];
+--- 112,160 ----
+      exit(1);
+  }
+  
++ #if defined(_WIN32_WCE)
++ void perror(msg)
++     const char *msg;
++ {
++     DWORD dwError;
++     LPVOID lpMsgBuf;
++ 
++     dwError = GetLastError();
++     if ( FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
++         FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_FROM_HMODULE |
++         FORMAT_MESSAGE_IGNORE_INSERTS,
++         NULL,
++         dwError,
++         MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
++         (LPTSTR) &lpMsgBuf,
++         0,
++         NULL) )
++     {
++         wprintf(TEXT("%S: %s\n"), msg, (LPTSTR)lpMsgBuf);
++         LocalFree(lpMsgBuf);
++     }
++     else
++     {
++         wprintf(TEXT("%S: Error #%d\n"), msg, dwError);
++     }
++ }
++ 
++ int unlink(filename)
++     const char *filename;
++ {
++     TCHAR path[MAX_PATH];
++ 
++     MultiByteToWideChar(CP_ACP, 0, filename, -1, path, MAX_PATH);
++     return DeleteFile(path);
++ }
++ #endif
++ 
+  /* ===========================================================================
+   * Compress input to output then close both files.
+   */
+  
+  void gz_compress(in, out)
+!     F_FILE in;
+      gzFile out;
+  {
+      local char buf[BUFLEN];
+***************
+*** 112,119 ****
+--- 168,179 ----
+      if (gz_compress_mmap(in, out) == Z_OK) return;
+  #endif
+      for (;;) {
++ #if defined(_WIN32_WCE)
++         if (!ReadFile(in, buf, sizeof(buf), &len, NULL)) {
++ #else
+          len = fread(buf, 1, sizeof(buf), in);
+          if (ferror(in)) {
++ #endif
+              perror("fread");
+              exit(1);
+          }
+***************
+*** 121,127 ****
+--- 181,191 ----
+  
+          if (gzwrite(out, buf, (unsigned)len) != len) error(gzerror(out, &err));
+      }
++ #if defined(_WIN32_WCE)
++     CloseHandle(in);
++ #else
+      fclose(in);
++ #endif
+      if (gzclose(out) != Z_OK) error("failed gzclose");
+  }
+  
+***************
+*** 131,137 ****
+   * if success, Z_ERRNO otherwise.
+   */
+  int gz_compress_mmap(in, out)
+!     FILE   *in;
+      gzFile out;
+  {
+      int len;
+--- 195,201 ----
+   * if success, Z_ERRNO otherwise.
+   */
+  int gz_compress_mmap(in, out)
+!     F_FILE in;
+      gzFile out;
+  {
+      int len;
+***************
+*** 167,177 ****
+   */
+  void gz_uncompress(in, out)
+      gzFile in;
+!     FILE   *out;
+  {
+      local char buf[BUFLEN];
+      int len;
+      int err;
+  
+      for (;;) {
+          len = gzread(in, buf, sizeof(buf));
+--- 231,244 ----
+   */
+  void gz_uncompress(in, out)
+      gzFile in;
+!     F_FILE out;
+  {
+      local char buf[BUFLEN];
+      int len;
+      int err;
++ #if defined(_WIN32_WCE)
++     int size;
++ #endif
+  
+      for (;;) {
+          len = gzread(in, buf, sizeof(buf));
+***************
+*** 178,188 ****
+          if (len < 0) error (gzerror(in, &err));
+          if (len == 0) break;
+  
+          if ((int)fwrite(buf, 1, (unsigned)len, out) != len) {
+! 	    error("failed fwrite");
+! 	}
+      }
+      if (fclose(out)) error("failed fclose");
+  
+      if (gzclose(in) != Z_OK) error("failed gzclose");
+  }
+--- 245,263 ----
+          if (len < 0) error (gzerror(in, &err));
+          if (len == 0) break;
+  
++ #if defined(_WIN32_WCE)
++         if (!WriteFile(out, buf, (unsigned)len, &size, NULL) || size != len) {
++ #else
+          if ((int)fwrite(buf, 1, (unsigned)len, out) != len) {
+! #endif
+!             error("failed fwrite");
+!         }
+      }
++ #if defined(_WIN32_WCE)
++     if (!CloseHandle(out)) error("failed fclose");
++ #else
+      if (fclose(out)) error("failed fclose");
++ #endif
+  
+      if (gzclose(in) != Z_OK) error("failed gzclose");
+  }
+***************
+*** 197,215 ****
+      char  *mode;
+  {
+      local char outfile[MAX_NAME_LEN];
+!     FILE  *in;
+      gzFile out;
+  
+      strcpy(outfile, file);
+      strcat(outfile, GZ_SUFFIX);
+  
+      in = fopen(file, "rb");
+!     if (in == NULL) {
+          perror(file);
+          exit(1);
+      }
+      out = gzopen(outfile, mode);
+!     if (out == NULL) {
+          fprintf(stderr, "%s: can't gzopen %s\n", prog, outfile);
+          exit(1);
+      }
+--- 272,298 ----
+      char  *mode;
+  {
+      local char outfile[MAX_NAME_LEN];
+!     F_FILE in;
+      gzFile out;
++ #if defined(_WIN32_WCE)
++     TCHAR path[MAX_PATH];
++ #endif
+  
+      strcpy(outfile, file);
+      strcat(outfile, GZ_SUFFIX);
+  
++ #if defined(_WIN32_WCE)
++     MultiByteToWideChar(CP_ACP, 0, file, -1, path, MAX_PATH);
++     in = CreateFile(path, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
++ #else
+      in = fopen(file, "rb");
+! #endif
+!     if (in == F_NULL) {
+          perror(file);
+          exit(1);
+      }
+      out = gzopen(outfile, mode);
+!     if (out == F_NULL) {
+          fprintf(stderr, "%s: can't gzopen %s\n", prog, outfile);
+          exit(1);
+      }
+***************
+*** 227,235 ****
+  {
+      local char buf[MAX_NAME_LEN];
+      char *infile, *outfile;
+!     FILE  *out;
+      gzFile in;
+      int len = strlen(file);
+  
+      strcpy(buf, file);
+  
+--- 310,321 ----
+  {
+      local char buf[MAX_NAME_LEN];
+      char *infile, *outfile;
+!     F_FILE out;
+      gzFile in;
+      int len = strlen(file);
++ #if defined(_WIN32_WCE)
++     TCHAR path[MAX_PATH];
++ #endif
+  
+      strcpy(buf, file);
+  
+***************
+*** 243,254 ****
+          strcat(infile, GZ_SUFFIX);
+      }
+      in = gzopen(infile, "rb");
+!     if (in == NULL) {
+          fprintf(stderr, "%s: can't gzopen %s\n", prog, infile);
+          exit(1);
+      }
+      out = fopen(outfile, "wb");
+!     if (out == NULL) {
+          perror(file);
+          exit(1);
+      }
+--- 329,345 ----
+          strcat(infile, GZ_SUFFIX);
+      }
+      in = gzopen(infile, "rb");
+!     if (in == F_NULL) {
+          fprintf(stderr, "%s: can't gzopen %s\n", prog, infile);
+          exit(1);
+      }
++ #if defined(_WIN32_WCE)
++     MultiByteToWideChar(CP_ACP, 0, outfile, -1, path, MAX_PATH);
++     out = CreateFile(path, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL);
++ #else
+      out = fopen(outfile, "wb");
+! #endif
+!     if (out == F_NULL) {
+          perror(file);
+          exit(1);
+      }
+***************
+*** 272,278 ****
+--- 363,371 ----
+      char *argv[];
+  {
+      int uncompr = 0;
++ #if !defined(_WIN32_WCE)
+      gzFile file;
++ #endif
+      char outmode[20];
+  
+      strcpy(outmode, "wb6 ");
+***************
+*** 282,300 ****
+  
+      while (argc > 0) {
+        if (strcmp(*argv, "-d") == 0)
+! 	uncompr = 1;
+        else if (strcmp(*argv, "-f") == 0)
+! 	outmode[3] = 'f';
+        else if (strcmp(*argv, "-h") == 0)
+! 	outmode[3] = 'h';
+        else if ((*argv)[0] == '-' && (*argv)[1] >= '1' && (*argv)[1] <= '9' &&
+! 	       (*argv)[2] == 0)
+! 	outmode[2] = (*argv)[1];
+        else
+! 	break;
+        argc--, argv++;
+      }
+      if (argc == 0) {
+          SET_BINARY_MODE(stdin);
+          SET_BINARY_MODE(stdout);
+          if (uncompr) {
+--- 375,400 ----
+  
+      while (argc > 0) {
+        if (strcmp(*argv, "-d") == 0)
+!         uncompr = 1;
+        else if (strcmp(*argv, "-f") == 0)
+!         outmode[3] = 'f';
+        else if (strcmp(*argv, "-h") == 0)
+!         outmode[3] = 'h';
+        else if ((*argv)[0] == '-' && (*argv)[1] >= '1' && (*argv)[1] <= '9' &&
+!                (*argv)[2] == 0)
+!         outmode[2] = (*argv)[1];
+        else
+!         break;
+        argc--, argv++;
+      }
+      if (argc == 0) {
++ #if defined(_WIN32_WCE)
++         wprintf(TEXT("Usage:  minigzip [-d] [-f] [-h] [-1 to -9] [files...]\n"));
++         wprintf(TEXT("  -d : decompress\n"));
++         wprintf(TEXT("  -f : compress with Z_FILTERED\n"));
++         wprintf(TEXT("  -h : compress with Z_HUFFMAN_ONLY\n"));
++         wprintf(TEXT("  -1 to -9 : compression level\n"));
++ #else
+          SET_BINARY_MODE(stdin);
+          SET_BINARY_MODE(stdout);
+          if (uncompr) {
+***************
+*** 306,311 ****
+--- 406,412 ----
+              if (file == NULL) error("can't gzdopen stdout");
+              gz_compress(stdin, file);
+          }
++ #endif
+      } else {
+          do {
+              if (uncompr) {
+***************
+*** 318,320 ****
+--- 419,457 ----
+      exit(0);
+      return 0; /* to avoid warning */
+  }
++ 
++ #if defined(_WIN32_WCE)
++ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPWSTR lpszCmdLine, int nCmdShow)
++ {
++     #define SIZE_ARGV   (32)
++     int argc;
++     char *argv[SIZE_ARGV];
++     int size;
++     char *buff;
++     char *argp;
++ 
++     size = WideCharToMultiByte(CP_ACP, 0, lpszCmdLine, -1, NULL, 0, NULL, NULL);
++     buff = (char *)malloc(size);
++     size = WideCharToMultiByte(CP_ACP, 0, lpszCmdLine, -1, buff, size, NULL, NULL);
++     argp = buff;
++     argc = 0;
++     argv[argc++] = "minigzip.exe";
++     if (*argp) {
++         argv[argc++] = argp;
++         while (*argp) {
++             if (*argp == ' ') {
++                 *argp++ = '\0';
++                 while (*argp && *argp == ' ') {
++                     argp++;
++                 }
++                 if (*argp && argc < SIZE_ARGV) {
++                     argv[argc++] = argp;
++                 }
++             } else {
++                 argp++;
++             }
++         }
++     }
++     return main(argc, argv);
++ }
++ #endif
+*** zlib113/example.c	Sat Jul  8 13:59:49 2000
+--- zlibwce/example.c	Sat Jul  8 13:58:29 2000
+***************
+*** 1,11 ****
+--- 1,19 ----
+  /* example.c -- usage example of the zlib compression library
+   * Copyright (C) 1995-1998 Jean-loup Gailly.
++  * Copyright (C) 2000      Tenik Co.,Ltd.
+   * For conditions of distribution and use, see copyright notice in zlib.h 
+   */
+  
+  /* @(#) $Id$ */
+  
++ #if defined(_WIN32_WCE)
++ #if _WIN32_WCE < 211
++ #error (f|w)printf functions is not support old WindowsCE.
++ #endif
++ #include <windows.h>
++ #else
+  #include <stdio.h>
++ #endif
+  #include "zlib.h"
+  
+  #ifdef STDC
+***************
+*** 21,26 ****
+--- 29,43 ----
+  #  define TESTFILE "foo.gz"
+  #endif
+  
++ #if defined(_WIN32_WCE)
++ #define calloc(x,y) malloc((x)*(y))
++ #undef  stderr
++ #define stderr  stdout
++ #define F_NULL  INVALID_HANDLE_VALUE
++ #else
++ #define F_NULL  NULL
++ #endif
++ 
+  #define CHECK_ERR(err, msg) { \
+      if (err != Z_OK) { \
+          fprintf(stderr, "%s error: %d\n", msg, err); \
+***************
+*** 37,58 ****
+  uLong dictId; /* Adler32 value of the dictionary */
+  
+  void test_compress      OF((Byte *compr, uLong comprLen,
+! 		            Byte *uncompr, uLong uncomprLen));
+  void test_gzio          OF((const char *out, const char *in, 
+! 		            Byte *uncompr, int uncomprLen));
+  void test_deflate       OF((Byte *compr, uLong comprLen));
+  void test_inflate       OF((Byte *compr, uLong comprLen,
+! 		            Byte *uncompr, uLong uncomprLen));
+  void test_large_deflate OF((Byte *compr, uLong comprLen,
+! 		            Byte *uncompr, uLong uncomprLen));
+  void test_large_inflate OF((Byte *compr, uLong comprLen,
+! 		            Byte *uncompr, uLong uncomprLen));
+  void test_flush         OF((Byte *compr, uLong *comprLen));
+  void test_sync          OF((Byte *compr, uLong comprLen,
+! 		            Byte *uncompr, uLong uncomprLen));
+  void test_dict_deflate  OF((Byte *compr, uLong comprLen));
+  void test_dict_inflate  OF((Byte *compr, uLong comprLen,
+! 		            Byte *uncompr, uLong uncomprLen));
+  int  main               OF((int argc, char *argv[]));
+  
+  /* ===========================================================================
+--- 54,75 ----
+  uLong dictId; /* Adler32 value of the dictionary */
+  
+  void test_compress      OF((Byte *compr, uLong comprLen,
+!                             Byte *uncompr, uLong uncomprLen));
+  void test_gzio          OF((const char *out, const char *in, 
+!                             Byte *uncompr, int uncomprLen));
+  void test_deflate       OF((Byte *compr, uLong comprLen));
+  void test_inflate       OF((Byte *compr, uLong comprLen,
+!                             Byte *uncompr, uLong uncomprLen));
+  void test_large_deflate OF((Byte *compr, uLong comprLen,
+!                             Byte *uncompr, uLong uncomprLen));
+  void test_large_inflate OF((Byte *compr, uLong comprLen,
+!                             Byte *uncompr, uLong uncomprLen));
+  void test_flush         OF((Byte *compr, uLong *comprLen));
+  void test_sync          OF((Byte *compr, uLong comprLen,
+!                             Byte *uncompr, uLong uncomprLen));
+  void test_dict_deflate  OF((Byte *compr, uLong comprLen));
+  void test_dict_inflate  OF((Byte *compr, uLong comprLen,
+!                             Byte *uncompr, uLong uncomprLen));
+  int  main               OF((int argc, char *argv[]));
+  
+  /* ===========================================================================
+***************
+*** 75,81 ****
+  
+      if (strcmp((char*)uncompr, hello)) {
+          fprintf(stderr, "bad uncompress\n");
+! 	exit(1);
+      } else {
+          printf("uncompress(): %s\n", (char *)uncompr);
+      }
+--- 92,98 ----
+  
+      if (strcmp((char*)uncompr, hello)) {
+          fprintf(stderr, "bad uncompress\n");
+!         exit(1);
+      } else {
+          printf("uncompress(): %s\n", (char *)uncompr);
+      }
+***************
+*** 96,102 ****
+      z_off_t pos;
+  
+      file = gzopen(out, "wb");
+!     if (file == NULL) {
+          fprintf(stderr, "gzopen error\n");
+          exit(1);
+      }
+--- 113,119 ----
+      z_off_t pos;
+  
+      file = gzopen(out, "wb");
+!     if (file == F_NULL) {
+          fprintf(stderr, "gzopen error\n");
+          exit(1);
+      }
+***************
+*** 103,119 ****
+      gzputc(file, 'h');
+      if (gzputs(file, "ello") != 4) {
+          fprintf(stderr, "gzputs err: %s\n", gzerror(file, &err));
+! 	exit(1);
+      }
+      if (gzprintf(file, ", %s!", "hello") != 8) {
+          fprintf(stderr, "gzprintf err: %s\n", gzerror(file, &err));
+! 	exit(1);
+      }
+      gzseek(file, 1L, SEEK_CUR); /* add one zero byte */
+      gzclose(file);
+  
+      file = gzopen(in, "rb");
+!     if (file == NULL) {
+          fprintf(stderr, "gzopen error\n");
+      }
+      strcpy((char*)uncompr, "garbage");
+--- 120,136 ----
+      gzputc(file, 'h');
+      if (gzputs(file, "ello") != 4) {
+          fprintf(stderr, "gzputs err: %s\n", gzerror(file, &err));
+!         exit(1);
+      }
+      if (gzprintf(file, ", %s!", "hello") != 8) {
+          fprintf(stderr, "gzprintf err: %s\n", gzerror(file, &err));
+!         exit(1);
+      }
+      gzseek(file, 1L, SEEK_CUR); /* add one zero byte */
+      gzclose(file);
+  
+      file = gzopen(in, "rb");
+!     if (file == F_NULL) {
+          fprintf(stderr, "gzopen error\n");
+      }
+      strcpy((char*)uncompr, "garbage");
+***************
+*** 121,131 ****
+      uncomprLen = gzread(file, uncompr, (unsigned)uncomprLen);
+      if (uncomprLen != len) {
+          fprintf(stderr, "gzread err: %s\n", gzerror(file, &err));
+! 	exit(1);
+      }
+      if (strcmp((char*)uncompr, hello)) {
+          fprintf(stderr, "bad gzread: %s\n", (char*)uncompr);
+! 	exit(1);
+      } else {
+          printf("gzread(): %s\n", (char *)uncompr);
+      }
+--- 138,148 ----
+      uncomprLen = gzread(file, uncompr, (unsigned)uncomprLen);
+      if (uncomprLen != len) {
+          fprintf(stderr, "gzread err: %s\n", gzerror(file, &err));
+!         exit(1);
+      }
+      if (strcmp((char*)uncompr, hello)) {
+          fprintf(stderr, "bad gzread: %s\n", (char*)uncompr);
+!         exit(1);
+      } else {
+          printf("gzread(): %s\n", (char *)uncompr);
+      }
+***************
+*** 132,145 ****
+  
+      pos = gzseek(file, -8L, SEEK_CUR);
+      if (pos != 6 || gztell(file) != pos) {
+! 	fprintf(stderr, "gzseek error, pos=%ld, gztell=%ld\n",
+! 		(long)pos, (long)gztell(file));
+! 	exit(1);
+      }
+  
+      if (gzgetc(file) != ' ') {
+! 	fprintf(stderr, "gzgetc error\n");
+! 	exit(1);
+      }
+  
+      gzgets(file, (char*)uncompr, uncomprLen);
+--- 149,162 ----
+  
+      pos = gzseek(file, -8L, SEEK_CUR);
+      if (pos != 6 || gztell(file) != pos) {
+!         fprintf(stderr, "gzseek error, pos=%ld, gztell=%ld\n",
+!                 (long)pos, (long)gztell(file));
+!         exit(1);
+      }
+  
+      if (gzgetc(file) != ' ') {
+!         fprintf(stderr, "gzgetc error\n");
+!         exit(1);
+      }
+  
+      gzgets(file, (char*)uncompr, uncomprLen);
+***************
+*** 146,156 ****
+      uncomprLen = strlen((char*)uncompr);
+      if (uncomprLen != 6) { /* "hello!" */
+          fprintf(stderr, "gzgets err after gzseek: %s\n", gzerror(file, &err));
+! 	exit(1);
+      }
+      if (strcmp((char*)uncompr, hello+7)) {
+          fprintf(stderr, "bad gzgets after gzseek\n");
+! 	exit(1);
+      } else {
+          printf("gzgets() after gzseek: %s\n", (char *)uncompr);
+      }
+--- 163,173 ----
+      uncomprLen = strlen((char*)uncompr);
+      if (uncomprLen != 6) { /* "hello!" */
+          fprintf(stderr, "gzgets err after gzseek: %s\n", gzerror(file, &err));
+!         exit(1);
+      }
+      if (strcmp((char*)uncompr, hello+7)) {
+          fprintf(stderr, "bad gzgets after gzseek\n");
+!         exit(1);
+      } else {
+          printf("gzgets() after gzseek: %s\n", (char *)uncompr);
+      }
+***************
+*** 231,237 ****
+  
+      if (strcmp((char*)uncompr, hello)) {
+          fprintf(stderr, "bad inflate\n");
+! 	exit(1);
+      } else {
+          printf("inflate(): %s\n", (char *)uncompr);
+      }
+--- 248,254 ----
+  
+      if (strcmp((char*)uncompr, hello)) {
+          fprintf(stderr, "bad inflate\n");
+!         exit(1);
+      } else {
+          printf("inflate(): %s\n", (char *)uncompr);
+      }
+***************
+*** 266,272 ****
+      CHECK_ERR(err, "deflate");
+      if (c_stream.avail_in != 0) {
+          fprintf(stderr, "deflate not greedy\n");
+! 	exit(1);
+      }
+  
+      /* Feed in already compressed data and switch to no compression: */
+--- 283,289 ----
+      CHECK_ERR(err, "deflate");
+      if (c_stream.avail_in != 0) {
+          fprintf(stderr, "deflate not greedy\n");
+!         exit(1);
+      }
+  
+      /* Feed in already compressed data and switch to no compression: */
+***************
+*** 286,292 ****
+      err = deflate(&c_stream, Z_FINISH);
+      if (err != Z_STREAM_END) {
+          fprintf(stderr, "deflate should report Z_STREAM_END\n");
+! 	exit(1);
+      }
+      err = deflateEnd(&c_stream);
+      CHECK_ERR(err, "deflateEnd");
+--- 303,309 ----
+      err = deflate(&c_stream, Z_FINISH);
+      if (err != Z_STREAM_END) {
+          fprintf(stderr, "deflate should report Z_STREAM_END\n");
+!         exit(1);
+      }
+      err = deflateEnd(&c_stream);
+      CHECK_ERR(err, "deflateEnd");
+***************
+*** 316,322 ****
+  
+      for (;;) {
+          d_stream.next_out = uncompr;            /* discard the output */
+! 	d_stream.avail_out = (uInt)uncomprLen;
+          err = inflate(&d_stream, Z_NO_FLUSH);
+          if (err == Z_STREAM_END) break;
+          CHECK_ERR(err, "large inflate");
+--- 333,339 ----
+  
+      for (;;) {
+          d_stream.next_out = uncompr;            /* discard the output */
+!         d_stream.avail_out = (uInt)uncomprLen;
+          err = inflate(&d_stream, Z_NO_FLUSH);
+          if (err == Z_STREAM_END) break;
+          CHECK_ERR(err, "large inflate");
+***************
+*** 327,333 ****
+  
+      if (d_stream.total_out != 2*uncomprLen + comprLen/2) {
+          fprintf(stderr, "bad large inflate: %ld\n", d_stream.total_out);
+! 	exit(1);
+      } else {
+          printf("large_inflate(): OK\n");
+      }
+--- 344,350 ----
+  
+      if (d_stream.total_out != 2*uncomprLen + comprLen/2) {
+          fprintf(stderr, "bad large inflate: %ld\n", d_stream.total_out);
+!         exit(1);
+      } else {
+          printf("large_inflate(): OK\n");
+      }
+***************
+*** 407,413 ****
+      if (err != Z_DATA_ERROR) {
+          fprintf(stderr, "inflate should report DATA_ERROR\n");
+          /* Because of incorrect adler32 */
+! 	exit(1);
+      }
+      err = inflateEnd(&d_stream);
+      CHECK_ERR(err, "inflateEnd");
+--- 424,430 ----
+      if (err != Z_DATA_ERROR) {
+          fprintf(stderr, "inflate should report DATA_ERROR\n");
+          /* Because of incorrect adler32 */
+!         exit(1);
+      }
+      err = inflateEnd(&d_stream);
+      CHECK_ERR(err, "inflateEnd");
+***************
+*** 433,439 ****
+      CHECK_ERR(err, "deflateInit");
+  
+      err = deflateSetDictionary(&c_stream,
+! 			       (const Bytef*)dictionary, sizeof(dictionary));
+      CHECK_ERR(err, "deflateSetDictionary");
+  
+      dictId = c_stream.adler;
+--- 450,456 ----
+      CHECK_ERR(err, "deflateInit");
+  
+      err = deflateSetDictionary(&c_stream,
+!                                (const Bytef*)dictionary, sizeof(dictionary));
+      CHECK_ERR(err, "deflateSetDictionary");
+  
+      dictId = c_stream.adler;
+***************
+*** 446,452 ****
+      err = deflate(&c_stream, Z_FINISH);
+      if (err != Z_STREAM_END) {
+          fprintf(stderr, "deflate should report Z_STREAM_END\n");
+! 	exit(1);
+      }
+      err = deflateEnd(&c_stream);
+      CHECK_ERR(err, "deflateEnd");
+--- 463,469 ----
+      err = deflate(&c_stream, Z_FINISH);
+      if (err != Z_STREAM_END) {
+          fprintf(stderr, "deflate should report Z_STREAM_END\n");
+!         exit(1);
+      }
+      err = deflateEnd(&c_stream);
+      CHECK_ERR(err, "deflateEnd");
+***************
+*** 480,493 ****
+      for (;;) {
+          err = inflate(&d_stream, Z_NO_FLUSH);
+          if (err == Z_STREAM_END) break;
+! 	if (err == Z_NEED_DICT) {
+! 	    if (d_stream.adler != dictId) {
+! 		fprintf(stderr, "unexpected dictionary");
+! 		exit(1);
+! 	    }
+! 	    err = inflateSetDictionary(&d_stream, (const Bytef*)dictionary,
+! 				       sizeof(dictionary));
+! 	}
+          CHECK_ERR(err, "inflate with dict");
+      }
+  
+--- 497,510 ----
+      for (;;) {
+          err = inflate(&d_stream, Z_NO_FLUSH);
+          if (err == Z_STREAM_END) break;
+!         if (err == Z_NEED_DICT) {
+!             if (d_stream.adler != dictId) {
+!                 fprintf(stderr, "unexpected dictionary");
+!                 exit(1);
+!             }
+!             err = inflateSetDictionary(&d_stream, (const Bytef*)dictionary,
+!                                        sizeof(dictionary));
+!         }
+          CHECK_ERR(err, "inflate with dict");
+      }
+  
+***************
+*** 496,502 ****
+  
+      if (strcmp((char*)uncompr, hello)) {
+          fprintf(stderr, "bad inflate with dict\n");
+! 	exit(1);
+      } else {
+          printf("inflate with dictionary: %s\n", (char *)uncompr);
+      }
+--- 513,519 ----
+  
+      if (strcmp((char*)uncompr, hello)) {
+          fprintf(stderr, "bad inflate with dict\n");
+!         exit(1);
+      } else {
+          printf("inflate with dictionary: %s\n", (char *)uncompr);
+      }
+***************
+*** 530,542 ****
+       */
+      if (compr == Z_NULL || uncompr == Z_NULL) {
+          printf("out of memory\n");
+! 	exit(1);
+      }
+      test_compress(compr, comprLen, uncompr, uncomprLen);
+  
+      test_gzio((argc > 1 ? argv[1] : TESTFILE),
+                (argc > 2 ? argv[2] : TESTFILE),
+! 	      uncompr, (int)uncomprLen);
+  
+      test_deflate(compr, comprLen);
+      test_inflate(compr, comprLen, uncompr, uncomprLen);
+--- 547,559 ----
+       */
+      if (compr == Z_NULL || uncompr == Z_NULL) {
+          printf("out of memory\n");
+!         exit(1);
+      }
+      test_compress(compr, comprLen, uncompr, uncomprLen);
+  
+      test_gzio((argc > 1 ? argv[1] : TESTFILE),
+                (argc > 2 ? argv[2] : TESTFILE),
+!               uncompr, (int)uncomprLen);
+  
+      test_deflate(compr, comprLen);
+      test_inflate(compr, comprLen, uncompr, uncomprLen);
+***************
+*** 554,556 ****
+--- 571,609 ----
+      exit(0);
+      return 0; /* to avoid warning */
+  }
++ 
++ #if defined(_WIN32_WCE)
++ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPWSTR lpszCmdLine, int nCmdShow)
++ {
++     #define SIZE_ARGV   (32)
++     int argc;
++     char *argv[SIZE_ARGV];
++     int size;
++     char *buff;
++     char *argp;
++ 
++     size = WideCharToMultiByte(CP_ACP, 0, lpszCmdLine, -1, NULL, 0, NULL, NULL);
++     buff = (char *)malloc(size);
++     size = WideCharToMultiByte(CP_ACP, 0, lpszCmdLine, -1, buff, size, NULL, NULL);
++     argp = buff;
++     argc = 0;
++     argv[argc++] = "example.exe";
++     if (*argp) {
++         argv[argc++] = argp;
++         while (*argp) {
++             if (*argp == ' ') {
++                 *argp++ = '\0';
++                 while (*argp && *argp == ' ') {
++                     argp++;
++                 }
++                 if (*argp && argc < SIZE_ARGV) {
++                     argv[argc++] = argp;
++                 }
++             } else {
++                 argp++;
++             }
++         }
++     }
++     return main(argc, argv);
++ }
++ #endif
diff --git a/wince/zlibce.def b/dll/wince/zlibce.def
similarity index 100%
rename from wince/zlibce.def
rename to dll/wince/zlibce.def
diff --git a/wince/zlibce.dsp b/dll/wince/zlibce.dsp
similarity index 60%
rename from wince/zlibce.dsp
rename to dll/wince/zlibce.dsp
index a86ca5c..b2797ff 100644
--- a/wince/zlibce.dsp
+++ b/dll/wince/zlibce.dsp
@@ -62,7 +62,7 @@
 # PROP Target_Dir ""
 CPP=clmips.exe
 # ADD BASE CPP /nologo /M$(CECrt) /W3 /GX- /O2 /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "NDEBUG" /D "MIPS" /D "_MIPS_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "ZLIBCE_EXPORTS" /YX /QMRWCE  /c
-# ADD CPP /nologo /M$(CECrt) /W3 /GX- /O2 /I "..\..\zlib" /D "NDEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /QMRWCE  /c
+# ADD CPP /nologo /M$(CECrt) /W3 /GX- /O2 /I "..\..\..\zlib" /D "NDEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /QMRWCE  /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "MIPS" /d "_MIPS_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "NDEBUG"
@@ -93,7 +93,7 @@
 # PROP Target_Dir ""
 CPP=clmips.exe
 # ADD BASE CPP /nologo /M$(CECrtDebug) /W3 /GX- /Zi /Od /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "ZLIBCE_EXPORTS" /YX /QMRWCE  /c
-# ADD CPP /nologo /M$(CECrtDebug) /W3 /GX- /Zi /Od /I "..\..\zlib" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /QMRWCE  /c
+# ADD CPP /nologo /M$(CECrtDebug) /W3 /GX- /Zi /Od /I "..\..\..\zlib" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /QMRWCE  /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "MIPS" /d "_MIPS_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "DEBUG"
@@ -124,7 +124,7 @@
 # PROP Target_Dir ""
 CPP=shcl.exe
 # ADD BASE CPP /nologo /Qsh4 /MC /W3 /GX- /O2 /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "NDEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "ZLIBCE_EXPORTS" /YX /c
-# ADD CPP /nologo /Qsh4 /MC /W3 /GX- /O2 /I "..\..\zlib" /D "NDEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
+# ADD CPP /nologo /Qsh4 /MC /W3 /GX- /O2 /I "..\..\..\zlib" /D "NDEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "SHx" /d "SH4" /d "_SH4_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "NDEBUG"
@@ -155,7 +155,7 @@
 # PROP Target_Dir ""
 CPP=shcl.exe
 # ADD BASE CPP /nologo /Qsh4 /MC /W3 /GX- /Zi /Od /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "DEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "ZLIBCE_EXPORTS" /YX /c
-# ADD CPP /nologo /Qsh4 /MC /W3 /GX- /Zi /Od /I "..\..\zlib" /D "DEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
+# ADD CPP /nologo /Qsh4 /MC /W3 /GX- /Zi /Od /I "..\..\..\zlib" /D "DEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "SHx" /d "SH4" /d "_SH4_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "DEBUG"
@@ -186,7 +186,7 @@
 # PROP Target_Dir ""
 CPP=shcl.exe
 # ADD BASE CPP /nologo /M$(CECrt) /W3 /GX- /O2 /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "NDEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "ZLIBCE_EXPORTS" /YX /c
-# ADD CPP /nologo /M$(CECrt) /W3 /GX- /O2 /I "..\..\zlib" /D "NDEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
+# ADD CPP /nologo /M$(CECrt) /W3 /GX- /O2 /I "..\..\..\zlib" /D "NDEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "SHx" /d "SH3" /d "_SH3_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "NDEBUG"
@@ -217,7 +217,7 @@
 # PROP Target_Dir ""
 CPP=shcl.exe
 # ADD BASE CPP /nologo /M$(CECrtDebug) /W3 /GX- /Zi /Od /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "DEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "ZLIBCE_EXPORTS" /YX /c
-# ADD CPP /nologo /M$(CECrtDebug) /W3 /GX- /Zi /Od /I "..\..\zlib" /D "DEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
+# ADD CPP /nologo /M$(CECrtDebug) /W3 /GX- /Zi /Od /I "..\..\..\zlib" /D "DEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "SHx" /d "SH3" /d "_SH3_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "DEBUG"
@@ -248,7 +248,7 @@
 # PROP Target_Dir ""
 CPP=clarm.exe
 # ADD BASE CPP /nologo /MC /W3 /GX- /O2 /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "NDEBUG" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "ZLIBCE_EXPORTS" /YX /c
-# ADD CPP /nologo /MC /W3 /GX- /O2 /I "..\..\zlib" /D "NDEBUG" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
+# ADD CPP /nologo /MC /W3 /GX- /O2 /I "..\..\..\zlib" /D "NDEBUG" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "ARM" /d "_ARM_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "NDEBUG"
@@ -279,7 +279,7 @@
 # PROP Target_Dir ""
 CPP=clarm.exe
 # ADD BASE CPP /nologo /MC /W3 /GX- /Zi /Od /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "DEBUG" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "ZLIBCE_EXPORTS" /YX /c
-# ADD CPP /nologo /MC /W3 /GX- /Zi /Od /I "..\..\zlib" /D "DEBUG" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
+# ADD CPP /nologo /MC /W3 /GX- /Zi /Od /I "..\..\..\zlib" /D "DEBUG" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "ARM" /d "_ARM_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "DEBUG"
@@ -310,7 +310,7 @@
 # PROP Target_Dir ""
 CPP=clmips.exe
 # ADD BASE CPP /nologo /QMFWCE /MC /W3 /GX- /O2 /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "NDEBUG" /D "MIPS" /D "_MIPS_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "ZLIBCE_EXPORTS" /YX /c
-# ADD CPP /nologo /QMFWCE /MC /W3 /GX- /O2 /I "..\..\zlib" /D "NDEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
+# ADD CPP /nologo /QMFWCE /MC /W3 /GX- /O2 /I "..\..\..\zlib" /D "NDEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "MIPS" /d "_MIPS_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "NDEBUG"
@@ -341,7 +341,7 @@
 # PROP Target_Dir ""
 CPP=clmips.exe
 # ADD BASE CPP /nologo /QMFWCE /MC /W3 /GX- /Zi /Od /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "ZLIBCE_EXPORTS" /YX /c
-# ADD CPP /nologo /QMFWCE /MC /W3 /GX- /Zi /Od /I "..\..\zlib" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
+# ADD CPP /nologo /QMFWCE /MC /W3 /GX- /Zi /Od /I "..\..\..\zlib" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "MIPS" /d "_MIPS_" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "UNICODE" /d "DEBUG"
@@ -372,7 +372,7 @@
 # PROP Target_Dir ""
 CPP=cl.exe
 # ADD BASE CPP /nologo /ML /W3 /GX- /O2 /D "x86" /D "_i386_" /D "_x86_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "NDEBUG" /D "i_386_" /D "_MBCS" /D "_USRDLL" /D "ZLIBCE_EXPORTS" /Gs8192 /GF  /c
-# ADD CPP /nologo /ML /W3 /GX- /O2 /I "..\..\zlib" /D "x86" /D "_i386_" /D "_x86_" /D "NDEBUG" /D "i_386_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /Gs8192 /GF  /c
+# ADD CPP /nologo /ML /W3 /GX- /O2 /I "..\..\..\zlib" /D "x86" /D "_i386_" /D "_x86_" /D "NDEBUG" /D "i_386_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /Gs8192 /GF  /c
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "x86" /d "_i386_" /d "_x86_" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "NDEBUG"
 # ADD RSC /l 0x411 /r /d "x86" /d "_i386_" /d "_x86_" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "NDEBUG"
@@ -402,7 +402,7 @@
 # PROP Target_Dir ""
 CPP=cl.exe
 # ADD BASE CPP /nologo /MLd /W3 /GX- /Zi /Od /D "x86" /D "_i386_" /D "_x86_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "DEBUG" /D "i_386_" /D "_MBCS" /D "_USRDLL" /D "ZLIBCE_EXPORTS" /Gs8192 /GF  /c
-# ADD CPP /nologo /MLd /W3 /GX- /Zi /Od /I "..\..\zlib" /D "x86" /D "_i386_" /D "_x86_" /D "DEBUG" /D "i_386_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /Gs8192 /GF  /c
+# ADD CPP /nologo /MLd /W3 /GX- /Zi /Od /I "..\..\..\zlib" /D "x86" /D "_i386_" /D "_x86_" /D "DEBUG" /D "i_386_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /Gs8192 /GF  /c
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "x86" /d "_i386_" /d "_x86_" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "DEBUG"
 # ADD RSC /l 0x411 /r /d "x86" /d "_i386_" /d "_x86_" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "DEBUG"
@@ -432,7 +432,7 @@
 # PROP Target_Dir ""
 CPP=cl.exe
 # ADD BASE CPP /nologo /ML /W3 /GX- /O2 /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "WIN32" /D "STRICT" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "NDEBUG" /D "x86" /D "i486" /D "_x86_" /D "_MBCS" /D "_USRDLL" /D "ZLIBCE_EXPORTS" /YX /c
-# ADD CPP /nologo /ML /W3 /GX- /O2 /I "..\..\zlib" /D "_UNICODE" /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "NDEBUG" /D "x86" /D "i486" /D "_x86_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
+# ADD CPP /nologo /ML /W3 /GX- /O2 /I "..\..\..\zlib" /D "_UNICODE" /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "NDEBUG" /D "x86" /D "i486" /D "_x86_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "WIN32" /d "STRICT" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "_WIN32_WCE_EMULATION" /d "INTERNATIONAL" /d "USA" /d "INTLMSG_CODEPAGE" /d "NDEBUG"
@@ -461,7 +461,7 @@
 # PROP Target_Dir ""
 CPP=cl.exe
 # ADD BASE CPP /nologo /MLd /W3 /Gm /GX- /Zi /Od /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "WIN32" /D "STRICT" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "_DEBUG" /D "x86" /D "i486" /D "_x86_" /D "_MBCS" /D "_USRDLL" /D "ZLIBCE_EXPORTS" /YX /c
-# ADD CPP /nologo /MLd /W3 /Gm /GX- /Zi /Od /I "..\..\zlib" /D "_UNICODE" /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "_DEBUG" /D "x86" /D "i486" /D "_x86_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
+# ADD CPP /nologo /MLd /W3 /Gm /GX- /Zi /Od /I "..\..\..\zlib" /D "_UNICODE" /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "_DEBUG" /D "x86" /D "i486" /D "_x86_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "WIN32" /d "STRICT" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d "_WIN32_WCE_EMULATION" /d "INTERNATIONAL" /d "USA" /d "INTLMSG_CODEPAGE" /d "_DEBUG" /d "x86" /d "i486" /d "_x86_"
@@ -490,7 +490,7 @@
 # PROP Target_Dir ""
 CPP=clppc.exe
 # ADD BASE CPP /nologo /M$(CECrt) /W3 /GX- /O2 /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "NDEBUG" /D "PPC" /D "_PPC_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "ZLIBCE_EXPORTS" /YX /c
-# ADD CPP /nologo /M$(CECrt) /W3 /GX- /O2 /I "..\..\zlib" /D "NDEBUG" /D "PPC" /D "_PPC_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
+# ADD CPP /nologo /M$(CECrt) /W3 /GX- /O2 /I "..\..\..\zlib" /D "NDEBUG" /D "PPC" /D "_PPC_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "ppc" /d "_ppc_" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "NDEBUG"
@@ -521,7 +521,7 @@
 # PROP Target_Dir ""
 CPP=clppc.exe
 # ADD BASE CPP /nologo /M$(CECrtDebug) /W3 /GX- /Zi /Od /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D "DEBUG" /D "PPC" /D "_PPC_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "_USRDLL" /D "ZLIBCE_EXPORTS" /YX /c
-# ADD CPP /nologo /M$(CECrtDebug) /W3 /GX- /Zi /Od /I "..\..\zlib" /D "DEBUG" /D "PPC" /D "_PPC_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
+# ADD CPP /nologo /M$(CECrtDebug) /W3 /GX- /Zi /Od /I "..\..\..\zlib" /D "DEBUG" /D "PPC" /D "_PPC_" /D _WIN32_WCE=$(CEVersion) /D "$(CEConfigName)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_MBCS" /D "ZLIB_DLL" /c
 # SUBTRACT CPP /YX
 RSC=rc.exe
 # ADD BASE RSC /l 0x411 /r /d "ppc" /d "_ppc_" /d _WIN32_WCE=$(CEVersion) /d "$(CEConfigName)" /d UNDER_CE=$(CEVersion) /d "UNICODE" /d "DEBUG"
@@ -563,118 +563,118 @@
 # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
 # Begin Source File
 
-SOURCE=..\..\zlib\adler32.c
+SOURCE=..\..\..\zlib\adler32.c
 
 !IF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_ADLER=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_ADLER=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Release"
 
 DEP_CPP_ADLER=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_ADLER=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Release"
 
 DEP_CPP_ADLER=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_ADLER=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Release"
 
 DEP_CPP_ADLER=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_ADLER=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_ADLER=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_ADLER=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Release"
 
 DEP_CPP_ADLER=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Debug"
 
 DEP_CPP_ADLER=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Release"
 
 DEP_CPP_ADLER=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_ADLER=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Release"
 
 DEP_CPP_ADLER=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_ADLER=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ENDIF 
@@ -682,118 +682,118 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\compress.c
+SOURCE=..\..\..\zlib\compress.c
 
 !IF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_COMPR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_COMPR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Release"
 
 DEP_CPP_COMPR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_COMPR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Release"
 
 DEP_CPP_COMPR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_COMPR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Release"
 
 DEP_CPP_COMPR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_COMPR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_COMPR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_COMPR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Release"
 
 DEP_CPP_COMPR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Debug"
 
 DEP_CPP_COMPR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Release"
 
 DEP_CPP_COMPR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_COMPR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Release"
 
 DEP_CPP_COMPR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_COMPR=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ENDIF 
@@ -801,118 +801,118 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\crc32.c
+SOURCE=..\..\..\zlib\crc32.c
 
 !IF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_CRC32=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_CRC32=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Release"
 
 DEP_CPP_CRC32=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_CRC32=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Release"
 
 DEP_CPP_CRC32=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_CRC32=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Release"
 
 DEP_CPP_CRC32=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_CRC32=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_CRC32=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_CRC32=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Release"
 
 DEP_CPP_CRC32=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Debug"
 
 DEP_CPP_CRC32=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Release"
 
 DEP_CPP_CRC32=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_CRC32=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Release"
 
 DEP_CPP_CRC32=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_CRC32=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ENDIF 
@@ -920,150 +920,150 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\deflate.c
+SOURCE=..\..\..\zlib\deflate.c
 
 !IF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_DEFLA=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_DEFLA=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Release"
 
 DEP_CPP_DEFLA=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_DEFLA=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Release"
 
 DEP_CPP_DEFLA=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_DEFLA=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Release"
 
 DEP_CPP_DEFLA=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_DEFLA=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_DEFLA=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_DEFLA=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Release"
 
 DEP_CPP_DEFLA=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Debug"
 
 DEP_CPP_DEFLA=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Release"
 
 DEP_CPP_DEFLA=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_DEFLA=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Release"
 
 DEP_CPP_DEFLA=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_DEFLA=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ENDIF 
@@ -1071,134 +1071,134 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\gzio.c
+SOURCE=..\..\..\zlib\gzio.c
 
 !IF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_GZIO_C=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_GZIO_C=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Release"
 
 DEP_CPP_GZIO_C=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_GZIO_C=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Release"
 
 DEP_CPP_GZIO_C=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_GZIO_C=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Release"
 
 DEP_CPP_GZIO_C=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_GZIO_C=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_GZIO_C=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_GZIO_C=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Release"
 
 DEP_CPP_GZIO_C=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Debug"
 
 DEP_CPP_GZIO_C=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Release"
 
 DEP_CPP_GZIO_C=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_GZIO_C=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Release"
 
 DEP_CPP_GZIO_C=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_GZIO_C=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ENDIF 
@@ -1206,198 +1206,198 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\infblock.c
+SOURCE=..\..\..\zlib\infblock.c
 
 !IF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_INFBL=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_INFBL=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Release"
 
 DEP_CPP_INFBL=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_INFBL=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Release"
 
 DEP_CPP_INFBL=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_INFBL=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Release"
 
 DEP_CPP_INFBL=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_INFBL=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_INFBL=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_INFBL=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Release"
 
 DEP_CPP_INFBL=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Debug"
 
 DEP_CPP_INFBL=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Release"
 
 DEP_CPP_INFBL=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_INFBL=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Release"
 
 DEP_CPP_INFBL=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_INFBL=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ENDIF 
@@ -1405,214 +1405,214 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\infcodes.c
+SOURCE=..\..\..\zlib\infcodes.c
 
 !IF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_INFCO=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_INFCO=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Release"
 
 DEP_CPP_INFCO=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_INFCO=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Release"
 
 DEP_CPP_INFCO=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_INFCO=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Release"
 
 DEP_CPP_INFCO=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_INFCO=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_INFCO=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_INFCO=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Release"
 
 DEP_CPP_INFCO=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Debug"
 
 DEP_CPP_INFCO=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Release"
 
 DEP_CPP_INFCO=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_INFCO=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Release"
 
 DEP_CPP_INFCO=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_INFCO=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ENDIF 
@@ -1620,214 +1620,214 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\inffast.c
+SOURCE=..\..\..\zlib\inffast.c
 
 !IF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_INFFA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_INFFA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Release"
 
 DEP_CPP_INFFA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_INFFA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Release"
 
 DEP_CPP_INFFA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_INFFA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Release"
 
 DEP_CPP_INFFA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_INFFA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_INFFA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_INFFA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Release"
 
 DEP_CPP_INFFA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Debug"
 
 DEP_CPP_INFFA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Release"
 
 DEP_CPP_INFFA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_INFFA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Release"
 
 DEP_CPP_INFFA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_INFFA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inffast.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inffast.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ENDIF 
@@ -1835,150 +1835,150 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\inflate.c
+SOURCE=..\..\..\zlib\inflate.c
 
 !IF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_INFLA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_INFLA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Release"
 
 DEP_CPP_INFLA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_INFLA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Release"
 
 DEP_CPP_INFLA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_INFLA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Release"
 
 DEP_CPP_INFLA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_INFLA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_INFLA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_INFLA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Release"
 
 DEP_CPP_INFLA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Debug"
 
 DEP_CPP_INFLA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Release"
 
 DEP_CPP_INFLA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_INFLA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Release"
 
 DEP_CPP_INFLA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_INFLA=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ENDIF 
@@ -1986,166 +1986,166 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\inftrees.c
+SOURCE=..\..\..\zlib\inftrees.c
 
 !IF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_INFTR=\
-	"..\..\zlib\inffixed.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\inffixed.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_INFTR=\
-	"..\..\zlib\inffixed.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\inffixed.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Release"
 
 DEP_CPP_INFTR=\
-	"..\..\zlib\inffixed.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\inffixed.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_INFTR=\
-	"..\..\zlib\inffixed.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\inffixed.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Release"
 
 DEP_CPP_INFTR=\
-	"..\..\zlib\inffixed.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\inffixed.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_INFTR=\
-	"..\..\zlib\inffixed.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\inffixed.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Release"
 
 DEP_CPP_INFTR=\
-	"..\..\zlib\inffixed.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\inffixed.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_INFTR=\
-	"..\..\zlib\inffixed.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\inffixed.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_INFTR=\
-	"..\..\zlib\inffixed.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\inffixed.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_INFTR=\
-	"..\..\zlib\inffixed.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\inffixed.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Release"
 
 DEP_CPP_INFTR=\
-	"..\..\zlib\inffixed.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\inffixed.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Debug"
 
 DEP_CPP_INFTR=\
-	"..\..\zlib\inffixed.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\inffixed.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Release"
 
 DEP_CPP_INFTR=\
-	"..\..\zlib\inffixed.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\inffixed.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_INFTR=\
-	"..\..\zlib\inffixed.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\inffixed.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Release"
 
 DEP_CPP_INFTR=\
-	"..\..\zlib\inffixed.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\inffixed.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_INFTR=\
-	"..\..\zlib\inffixed.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\inffixed.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ENDIF 
@@ -2153,198 +2153,198 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\infutil.c
+SOURCE=..\..\..\zlib\infutil.c
 
 !IF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_INFUT=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_INFUT=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Release"
 
 DEP_CPP_INFUT=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_INFUT=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Release"
 
 DEP_CPP_INFUT=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_INFUT=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Release"
 
 DEP_CPP_INFUT=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_INFUT=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_INFUT=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_INFUT=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Release"
 
 DEP_CPP_INFUT=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Debug"
 
 DEP_CPP_INFUT=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Release"
 
 DEP_CPP_INFUT=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_INFUT=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Release"
 
 DEP_CPP_INFUT=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_INFUT=\
-	"..\..\zlib\infblock.h"\
-	"..\..\zlib\infcodes.h"\
-	"..\..\zlib\inftrees.h"\
-	"..\..\zlib\infutil.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\infblock.h"\
+	"..\..\..\zlib\infcodes.h"\
+	"..\..\..\zlib\inftrees.h"\
+	"..\..\..\zlib\infutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ENDIF 
@@ -2352,166 +2352,166 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\trees.c
+SOURCE=..\..\..\zlib\trees.c
 
 !IF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_TREES=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\trees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\trees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_TREES=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\trees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\trees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Release"
 
 DEP_CPP_TREES=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\trees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\trees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_TREES=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\trees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\trees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Release"
 
 DEP_CPP_TREES=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\trees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\trees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_TREES=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\trees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\trees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Release"
 
 DEP_CPP_TREES=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\trees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\trees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_TREES=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\trees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\trees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_TREES=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\trees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\trees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_TREES=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\trees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\trees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Release"
 
 DEP_CPP_TREES=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\trees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\trees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Debug"
 
 DEP_CPP_TREES=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\trees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\trees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Release"
 
 DEP_CPP_TREES=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\trees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\trees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_TREES=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\trees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\trees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Release"
 
 DEP_CPP_TREES=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\trees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\trees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_TREES=\
-	"..\..\zlib\deflate.h"\
-	"..\..\zlib\trees.h"\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\deflate.h"\
+	"..\..\..\zlib\trees.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ENDIF 
@@ -2519,118 +2519,118 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\uncompr.c
+SOURCE=..\..\..\zlib\uncompr.c
 
 !IF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_UNCOM=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_UNCOM=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Release"
 
 DEP_CPP_UNCOM=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_UNCOM=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Release"
 
 DEP_CPP_UNCOM=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_UNCOM=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Release"
 
 DEP_CPP_UNCOM=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_UNCOM=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_UNCOM=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_UNCOM=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Release"
 
 DEP_CPP_UNCOM=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Debug"
 
 DEP_CPP_UNCOM=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Release"
 
 DEP_CPP_UNCOM=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_UNCOM=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Release"
 
 DEP_CPP_UNCOM=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_UNCOM=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
 	
 
 !ENDIF 
@@ -2642,134 +2642,134 @@
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\zutil.c
+SOURCE=..\..\..\zlib\zutil.c
 
 !IF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Release"
 
 DEP_CPP_ZUTIL=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPS) Debug"
 
 DEP_CPP_ZUTIL=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Release"
 
 DEP_CPP_ZUTIL=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH4) Debug"
 
 DEP_CPP_ZUTIL=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Release"
 
 DEP_CPP_ZUTIL=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE SH3) Debug"
 
 DEP_CPP_ZUTIL=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Release"
 
 DEP_CPP_ZUTIL=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE ARM) Debug"
 
 DEP_CPP_ZUTIL=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Release"
 
 DEP_CPP_ZUTIL=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE MIPSFP) Debug"
 
 DEP_CPP_ZUTIL=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Release"
 
 DEP_CPP_ZUTIL=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86) Debug"
 
 DEP_CPP_ZUTIL=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Release"
 
 DEP_CPP_ZUTIL=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE x86em) Debug"
 
 DEP_CPP_ZUTIL=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Release"
 
 DEP_CPP_ZUTIL=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ELSEIF  "$(CFG)" == "zlibce - Win32 (WCE PPC) Debug"
 
 DEP_CPP_ZUTIL=\
-	"..\..\zlib\zconf.h"\
-	"..\..\zlib\zlib.h"\
-	"..\..\zlib\zutil.h"\
+	"..\..\..\zlib\zconf.h"\
+	"..\..\..\zlib\zlib.h"\
+	"..\..\..\zlib\zutil.h"\
 	
 
 !ENDIF 
@@ -2781,47 +2781,47 @@
 # PROP Default_Filter "h;hpp;hxx;hm;inl"
 # Begin Source File
 
-SOURCE=..\..\zlib\deflate.h
+SOURCE=..\..\..\zlib\deflate.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\infblock.h
+SOURCE=..\..\..\zlib\infblock.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\infcodes.h
+SOURCE=..\..\..\zlib\infcodes.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\inffast.h
+SOURCE=..\..\..\zlib\inffast.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\inffixed.h
+SOURCE=..\..\..\zlib\inffixed.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\inftrees.h
+SOURCE=..\..\..\zlib\inftrees.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\infutil.h
+SOURCE=..\..\..\zlib\infutil.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\trees.h
+SOURCE=..\..\..\zlib\trees.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\zconf.h
+SOURCE=..\..\..\zlib\zconf.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\zlib.h
+SOURCE=..\..\..\zlib\zlib.h
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\zlib\zutil.h
+SOURCE=..\..\..\zlib\zutil.h
 # End Source File
 # End Group
 # Begin Group "Resource Files"
diff --git a/libpng.3 b/libpng.3
index e5ceab4..6fa1c77 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "July 24, 2000"
+.TH LIBPNG 3 "November 10, 2000"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.8
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.9beta1
 .SH SYNOPSIS
 \fI\fB
 
@@ -40,7 +40,7 @@
 
 \fI\fB
 
-\fBpng_structp png_create_read_struct (png_const_charp \fP\fIuser_png_ver\fP\fB, voidp \fP\fIerror_ptr\fP\fB, png_error_ptr \fP\fIerror_fn\fP\fB, png_error_ptr \fIwarn_fn\fP\fB);\fP
+\fBpng_structp png_create_read_struct (png_const_charp \fP\fIuser_png_ver\fP\fB, png_voidp \fP\fIerror_ptr\fP\fB, png_error_ptr \fP\fIerror_fn\fP\fB, png_error_ptr \fIwarn_fn\fP\fB);\fP
 
 \fI\fB
 
@@ -48,7 +48,7 @@
 
 \fI\fB
 
-\fBpng_structp png_create_write_struct (png_const_charp \fP\fIuser_png_ver\fP\fB, voidp \fP\fIerror_ptr\fP\fB, png_error_ptr \fP\fIerror_fn\fP\fB, png_error_ptr \fIwarn_fn\fP\fB);\fP
+\fBpng_structp png_create_write_struct (png_const_charp \fP\fIuser_png_ver\fP\fB, png_voidp \fP\fIerror_ptr\fP\fB, png_error_ptr \fP\fIerror_fn\fP\fB, png_error_ptr \fIwarn_fn\fP\fB);\fP
 
 \fI\fB
 
@@ -368,7 +368,7 @@
 
 \fI\fB
 
-\fBvoid png_read_png (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fP\fIinfo_ptr\fP\fB, int \fP\fItransforms\fP\fB, voidp \fIparams\fP\fB);\fP
+\fBvoid png_read_png (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fP\fIinfo_ptr\fP\fB, int \fP\fItransforms\fP\fB, png_voidp \fIparams\fP\fB);\fP
 
 \fI\fB
 
@@ -724,7 +724,7 @@
 
 \fI\fB
 
-\fBvoid png_write_png (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fP\fIinfo_ptr\fP\fB, int \fP\fItransforms\fP\fB, voidp \fIparams\fP\fB);\fP
+\fBvoid png_write_png (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fP\fIinfo_ptr\fP\fB, int \fP\fItransforms\fP\fB, png_voidp \fIparams\fP\fB);\fP
 
 \fI\fB
 
@@ -747,7 +747,7 @@
 .SH LIBPNG.TXT
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.0.8 - July 24, 2000
+ libpng version 1.0.9beta1 - November 10, 2000
  Updated and distributed by Glenn Randers-Pehrson
  <randeg@alum.rpi.edu>
  Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
@@ -784,8 +784,7 @@
 of reducing the amount of time and effort it takes to support the PNG
 file format in application programs.
 
-The PNG-1.2 specification is available at <http://www.cdrom.com/pub/png>
-(will be moving to <http://www.libpng.org>)
+The PNG-1.2 specification is available at <http://www.libpng.org/pub/png>
 and at <ftp://ftp.uu.net/graphics/png/documents/>.
 
 The PNG-1.0 specification is available
@@ -796,8 +795,7 @@
 
 Other information
 about PNG, and the latest version of libpng, can be found at the PNG home
-page, <http://www.cdrom.com/pub/png/> (will be moving to
-<http://www.libpng.org>)
+page, <http://www.libpng.org/pub/png/>
 and at <ftp://ftp.uu.net/graphics/png/>.
 
 Most users will not have to modify the library significantly; advanced
@@ -3381,13 +3379,13 @@
 
 .SH VII. Y2K Compliance in libpng
 
-July 24, 2000
+November 10, 2000
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.0.8 are Y2K compliant.  It is my belief that earlier
+upward through 1.0.9beta1 are Y2K compliant.  It is my belief that earlier
 versions were also Y2K compliant.
 
 Libpng only has three year fields.  One is a 2-byte unsigned integer that
@@ -3488,7 +3486,7 @@
 .IR libpng :
 .IP
 ftp://ftp.uu.net/graphics/png
-http://www.cdrom.com/pub/png
+http://www.libpng.org/pub/png
 
 .LP
 .IR zlib :
@@ -3499,7 +3497,7 @@
 .br
 ftp://ftp.uu.net/pub/archiving/zip/zlib
 .br
-ftp://ftp.freesoftware.com/pub/infozip/zlib
+ftp://ftp.info-zip.org/pub/infozip/zlib
 
 .LP
 .IR PNG specification: RFC 2083
@@ -3528,7 +3526,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.0.8 - July 24, 2000:
+Libpng version 1.0.9beta1 - November 10, 2000:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (randeg@alum.rpi.edu).
 
@@ -3538,10 +3536,14 @@
 
 .SH COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
 
+(This copy of the libpng notices is provided for your convenience.  In case of
+any discrepancy between this copy and the notices in the file png.h that is
+included in the libpng distribution, the latter shall prevail.)
+
 If you modify libpng you may insert additional notices immediately following
 this sentence.
 
-libpng versions 1.0.7, July 1, 2000, through  1.0.8, July 24, 2000, are
+libpng versions 1.0.7, July 1, 2000, through  1.0.9beta1, November 10, 2000, are
 Copyright (c) 2000 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.0.6
 with the following individuals added to the list of Contributing Authors
@@ -3632,7 +3634,7 @@
 
 Glenn Randers-Pehrson
 randeg@alum.rpi.edu
-July 24, 2000
+November 10, 2000
 
 .\" end of man page
 
diff --git a/libpng.txt b/libpng.txt
index 259a2f0..2809e28 100644
--- a/libpng.txt
+++ b/libpng.txt
@@ -1,6 +1,6 @@
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.0.8 - July 24, 2000
+ libpng version 1.0.9beta1 - November 10, 2000
  Updated and distributed by Glenn Randers-Pehrson
  <randeg@alum.rpi.edu>
  Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
@@ -37,8 +37,7 @@
 of reducing the amount of time and effort it takes to support the PNG
 file format in application programs.
 
-The PNG-1.2 specification is available at <http://www.cdrom.com/pub/png>
-(will be moving to <http://www.libpng.org>)
+The PNG-1.2 specification is available at <http://www.libpng.org/pub/png>
 and at <ftp://ftp.uu.net/graphics/png/documents/>.
 
 The PNG-1.0 specification is available
@@ -49,8 +48,7 @@
 
 Other information
 about PNG, and the latest version of libpng, can be found at the PNG home
-page, <http://www.cdrom.com/pub/png/> (will be moving to
-<http://www.libpng.org>)
+page, <http://www.libpng.org/pub/png/>
 and at <ftp://ftp.uu.net/graphics/png/>.
 
 Most users will not have to modify the library significantly; advanced
@@ -2634,13 +2632,13 @@
 
 VII. Y2K Compliance in libpng
 
-July 24, 2000
+November 10, 2000
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.0.8 are Y2K compliant.  It is my belief that earlier
+upward through 1.0.9beta1 are Y2K compliant.  It is my belief that earlier
 versions were also Y2K compliant.
 
 Libpng only has three year fields.  One is a 2-byte unsigned integer that
diff --git a/libpngpf.3 b/libpngpf.3
index e7ebbde..d1cc3ed 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "July 24, 2000"
+.TH LIBPNGPF 3 "November 10, 2000"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.8
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.9beta1
 (private functions)
 .SH SYNOPSIS
 \fB#include <png.h>\fP
diff --git a/png.5 b/png.5
index 9ff54b4..e804e2e 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "July 24, 2000"
+.TH PNG 5 "November 10, 2000"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
@@ -23,7 +23,7 @@
 PNG 1.2 specification, July 1999:
 .IP
 .br
-http://www.cdrom.com/pub/png (moving to http://www.libpng.org)
+http://www.libpng.org/pub/png
 .br
 or ftp://ftp.uu.net/graphics/png/documents
 .LP
diff --git a/png.c b/png.c
index 1b2531c..525422c 100644
--- a/png.c
+++ b/png.c
@@ -1,7 +1,7 @@
 
 /* png.c - location for general purpose libpng functions
  *
- * libpng version 1.0.8 - July 24, 2000
+ * libpng version 1.0.9beta1 - November 10, 2000
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -13,18 +13,18 @@
 #include "png.h"
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_0_8 Your_png_h_is_not_version_1_0_8;
+typedef version_1_0_9beta1 Your_png_h_is_not_version_1_0_9beta1;
 
 /* Version information for C files.  This had better match the version
  * string defined in png.h.  */
 
 #ifdef PNG_USE_GLOBAL_ARRAYS
 /* png_libpng_ver was changed to a function in version 1.0.5c */
-char png_libpng_ver[12] = "1.0.8";
+const char png_libpng_ver[18] = "1.0.9beta1";
 
 /* png_sig was changed to a function in version 1.0.5c */
 /* Place to hold the signature string for a PNG file. */
-png_byte FARDATA png_sig[8] = {137, 80, 78, 71, 13, 10, 26, 10};
+const png_byte FARDATA png_sig[8] = {137, 80, 78, 71, 13, 10, 26, 10};
 
 /* Invoke global declarations for constant strings for known chunk types */
 PNG_IHDR;
@@ -52,32 +52,33 @@
 /* arrays to facilitate easy interlacing - use pass (0 - 6) as index */
 
 /* start of interlace block */
-int FARDATA png_pass_start[] = {0, 4, 0, 2, 0, 1, 0};
+const int FARDATA png_pass_start[] = {0, 4, 0, 2, 0, 1, 0};
 
 /* offset to next interlace block */
-int FARDATA png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1};
+const int FARDATA png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1};
 
 /* start of interlace block in the y direction */
-int FARDATA png_pass_ystart[] = {0, 0, 4, 0, 2, 0, 1};
+const int FARDATA png_pass_ystart[] = {0, 0, 4, 0, 2, 0, 1};
 
 /* offset to next interlace block in the y direction */
-int FARDATA png_pass_yinc[] = {8, 8, 8, 4, 4, 2, 2};
+const int FARDATA png_pass_yinc[] = {8, 8, 8, 4, 4, 2, 2};
 
 /* width of interlace block (used in assembler routines only) */
 #ifdef PNG_HAVE_ASSEMBLER_COMBINE_ROW
-int FARDATA png_pass_width[] = {8, 4, 4, 2, 2, 1, 1};
+const int FARDATA png_pass_width[] = {8, 4, 4, 2, 2, 1, 1};
 #endif
 
 /* Height of interlace block.  This is not currently used - if you need
  * it, uncomment it here and in png.h
-int FARDATA png_pass_height[] = {8, 8, 4, 4, 2, 2, 1};
+const int FARDATA png_pass_height[] = {8, 8, 4, 4, 2, 2, 1};
 */
 
 /* Mask to determine which pixels are valid in a pass */
-int FARDATA png_pass_mask[] = {0x80, 0x08, 0x88, 0x22, 0xaa, 0x55, 0xff};
+const int FARDATA png_pass_mask[] = {0x80, 0x08, 0x88, 0x22, 0xaa, 0x55, 0xff};
 
 /* Mask to determine which pixels to overwrite while displaying */
-int FARDATA png_pass_dsp_mask[] = {0xff, 0x0f, 0xff, 0x33, 0xff, 0x55, 0xff};
+const int FARDATA png_pass_dsp_mask[]
+   = {0xff, 0x0f, 0xff, 0x33, 0xff, 0x55, 0xff};
 
 #endif
 
@@ -625,7 +626,7 @@
 png_get_copyright(png_structp png_ptr)
 {
    if (png_ptr != NULL || png_ptr == NULL)  /* silence compiler warning */
-   return ((png_charp) "\n libpng version 1.0.8 - July 24, 2000\n\
+   return ((png_charp) "\n libpng version 1.0.9beta1 - November 10, 2000\n\
    Copyright (c) 1998-2000 Glenn Randers-Pehrson\n\
    Copyright (c) 1996, 1997 Andreas Dilger\n\
    Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.\n");
@@ -643,8 +644,8 @@
 {
    /* Version of *.c files used when building libpng */
    if(png_ptr != NULL) /* silence compiler warning about unused png_ptr */
-      return((png_charp) "1.0.8");
-   return((png_charp) "1.0.8");
+      return((png_charp) "1.0.9beta1");
+   return((png_charp) "1.0.9beta1");
 }
 
 png_charp PNGAPI
@@ -689,9 +690,10 @@
    return (inflateReset(&png_ptr->zstream));
 }
 
+/* This function was added to libpng-1.0.7 */
 png_uint_32 PNGAPI
 png_access_version_number(void)
 {
    /* Version of *.c files used when building libpng */
-   return((png_uint_32) 10008L);
+   return((png_uint_32) 10009L);
 }
diff --git a/png.h b/png.h
index 0d8e0dc..f25e5eb 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.0.8 - July 24, 2000
+ * libpng version 1.0.9beta1 - November 10, 2000
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -9,7 +9,7 @@
  * Authors and maintainers:
  *  libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
  *  libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
- *  libpng versions 0.97, January 1998, through 1.0.8 - July 24, 2000: Glenn
+ *  libpng versions 0.97, January 1998, through 1.0.9beta1 - November 10, 2000: Glenn
  *  See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -58,6 +58,7 @@
  *    1.0.8beta1-4                  10008  2.1.0.8beta1-4
  *    1.0.8rc1                      10008  2.1.0.8rc1
  *    1.0.8                         10008  2.1.0.8
+ *    1.0.9beta1                    10009  2.1.0.9
  *
  *    Henceforth the source version will match the shared-library major
  *    and minor numbers; the shared-library major version number will be
@@ -84,7 +85,7 @@
  * If you modify libpng you may insert additional notices immediately following
  * this sentence.
  *
- * libpng versions 1.0.7, July 1, 2000, through  1.0.8, July 24, 2000, are
+ * libpng versions 1.0.7, July 1, 2000, through  1.0.9beta1, November 10, 2000, are
  * Copyright (c) 2000 Glenn Randers-Pehrson, and are
  * distributed according to the same disclaimer and license as libpng-1.0.6
  * with the following individuals added to the list of Contributing Authors
@@ -189,13 +190,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    July 24, 2000
+ *    November 10, 2000
  *
  *    Since the PNG Development group is an ad-hoc body, we can't make
  *    an official declaration.
  *
  *    This is your unofficial assurance that libpng from version 0.71 and
- *    upward through 1.0.8 are Y2K compliant.  It is my belief that earlier
+ *    upward through 1.0.9beta1 are Y2K compliant.  It is my belief that earlier
  *    versions were also Y2K compliant.
  *
  *    Libpng only has three year fields.  One is a 2-byte unsigned integer
@@ -251,24 +252,24 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.0.8"
+#define PNG_LIBPNG_VER_STRING "1.0.9beta1"
 
 #define PNG_LIBPNG_VER_SONUM   2
 
 /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
 #define PNG_LIBPNG_VER_MAJOR   1
 #define PNG_LIBPNG_VER_MINOR   0
-#define PNG_LIBPNG_VER_RELEASE 8
+#define PNG_LIBPNG_VER_RELEASE 9
 /* This should match the numeric part of the final component of
  * PNG_LIBPNG_VER_STRING, omitting any leading zero: */
-#define PNG_LIBPNG_VER_BUILD   0
+#define PNG_LIBPNG_VER_BUILD   1
 
 /* Careful here.  At one time, Guy wanted to use 082, but that would be octal.
  * We must not include leading zeros.
  * Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only
  * version 1.0.0 was mis-numbered 100 instead of 10000).  From
  * version 1.0.1 it's    xxyyzz, where x=major, y=minor, z=release */
-#define PNG_LIBPNG_VER 10008 /* 1.0.8 */
+#define PNG_LIBPNG_VER 10009 /* 1.0.9 */
 
 /* Note to maintainer: update this number in scripts/pngdef.pas as well */
 
@@ -302,8 +303,8 @@
  * the version above.
  */
 #ifdef PNG_USE_GLOBAL_ARRAYS
-PNG_EXPORT_VAR (char) png_libpng_ver[12]; /* need room for 99.99.99-patch-aa0*/
-  /* Note to maintainer: increase to 18 at the next opportunity */
+PNG_EXPORT_VAR (const char) png_libpng_ver[18];
+  /* need room for 99.99.99beta99z*/
 #else
 #define png_libpng_ver png_get_header_ver(NULL)
 #endif
@@ -311,17 +312,17 @@
 #ifdef PNG_USE_GLOBAL_ARRAYS
 /* This was removed in version 1.0.5c */
 /* Structures to facilitate easy interlacing.  See png.c for more details */
-PNG_EXPORT_VAR (int FARDATA) png_pass_start[7];
-PNG_EXPORT_VAR (int FARDATA) png_pass_inc[7];
-PNG_EXPORT_VAR (int FARDATA) png_pass_ystart[7];
-PNG_EXPORT_VAR (int FARDATA) png_pass_yinc[7];
-PNG_EXPORT_VAR (int FARDATA) png_pass_mask[7];
-PNG_EXPORT_VAR (int FARDATA) png_pass_dsp_mask[7];
+PNG_EXPORT_VAR (const int FARDATA) png_pass_start[7];
+PNG_EXPORT_VAR (const int FARDATA) png_pass_inc[7];
+PNG_EXPORT_VAR (const int FARDATA) png_pass_ystart[7];
+PNG_EXPORT_VAR (const int FARDATA) png_pass_yinc[7];
+PNG_EXPORT_VAR (const int FARDATA) png_pass_mask[7];
+PNG_EXPORT_VAR (const int FARDATA) png_pass_dsp_mask[7];
 #ifdef PNG_HAVE_ASSEMBLER_COMBINE_ROW
-extern int FARDATA png_pass_width[7];   /* now used in pngvcrd.c, pnggccrd.c */
+PNG_EXPORT_VAR (const int FARDATA) png_pass_width[7];
 #endif
 /* This isn't currently used.  If you need it, see png.c for more details.
-extern int FARDATA png_pass_height[7];
+PNG_EXPORT_VAR (const int FARDATA) png_pass_height[7];
 */
 #endif
 
@@ -523,6 +524,7 @@
    png_uint_16 num_trans;   /* number of transparent palette color (tRNS) */
    png_byte bit_depth;      /* 1, 2, 4, 8, or 16 bits/channel (from IHDR) */
    png_byte color_type;     /* see PNG_COLOR_TYPE_ below (from IHDR) */
+   /* The following three should have been named *_method not *_type */
    png_byte compression_type; /* must be PNG_COMPRESSION_TYPE_BASE (IHDR) */
    png_byte filter_type;    /* must be PNG_FILTER_TYPE_BASE (from IHDR) */
    png_byte interlace_type; /* One of PNG_INTERLACE_NONE, PNG_INTERLACE_ADAM7 */
@@ -764,6 +766,9 @@
 #define PNG_COLOR_TYPE_RGB        (PNG_COLOR_MASK_COLOR)
 #define PNG_COLOR_TYPE_RGB_ALPHA  (PNG_COLOR_MASK_COLOR | PNG_COLOR_MASK_ALPHA)
 #define PNG_COLOR_TYPE_GRAY_ALPHA (PNG_COLOR_MASK_ALPHA)
+/* aliases */
+#define PNG_COLOR_TYPE_RGBA  PNG_COLOR_TYPE_RGB_ALPHA
+#define PNG_COLOR_TYPE_GA  PNG_COLOR_TYPE_GRAY_ALPHA
 
 /* This is for compression type. PNG 1.0-1.2 only define the single type. */
 #define PNG_COMPRESSION_TYPE_BASE 0 /* Deflate method 8, 32K window */
@@ -904,6 +909,10 @@
 #define PNG_TRANSFORM_INVERT_ALPHA   0x0400    /* read and write */
 #define PNG_TRANSFORM_STRIP_FILLER   0x0800    /* WRITE only */
 
+/* Flags for MNG supported features */
+#define PNG_FLAG_MNG_EMPTY_PLTE 0x01
+#define PNG_ALL_MNG_FEATURES    0x01
+
 typedef png_voidp (*png_malloc_ptr) PNGARG((png_structp, png_size_t));
 typedef void (*png_free_ptr) PNGARG((png_structp, png_voidp));
 
@@ -1137,9 +1146,11 @@
    png_uint_16 rgb_to_gray_blue_coeff;
 #endif
 
-#if defined(PNG_READ_EMPTY_PLTE_SUPPORTED) || \
+#if defined(PNG_MNG_FEATURES_SUPPORTED) || \
+    defined(PNG_READ_EMPTY_PLTE_SUPPORTED) || \
     defined(PNG_WRITE_EMPTY_PLTE_SUPPORTED)
-   png_byte empty_plte_permitted;
+/* Note to maintainer: change this to png_uint_32 at next opportunity */
+   png_byte mng_features_permitted;
 #endif
 
 #if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
@@ -1149,9 +1160,9 @@
 };
 
 /* This prevents a compiler error in png_get_copyright() in png.c if png.c
-and png.h are both at * version 1.0.8
+and png.h are both at * version 1.0.9beta1
  */
-typedef png_structp version_1_0_8;
+typedef png_structp version_1_0_9beta1;
 
 typedef png_struct FAR * FAR * png_structpp;
 
@@ -1387,6 +1398,7 @@
 #if defined(PNG_READ_EMPTY_PLTE_SUPPORTED) || \
     defined(PNG_WRITE_EMPTY_PLTE_SUPPORTED)
 /* Permit or disallow empty PLTE (0: not permitted, 1: permitted) */
+/* Deprecated and will be removed.  Use png_permit_mng_features() instead. */
 extern PNG_EXPORT(void,png_permit_empty_plte) PNGARG((png_structp png_ptr,
    int empty_plte_permitted));
 #endif
@@ -1928,12 +1940,13 @@
 
 extern PNG_EXPORT(png_uint_32,png_get_IHDR) PNGARG((png_structp png_ptr,
    png_infop info_ptr, png_uint_32 *width, png_uint_32 *height,
-   int *bit_depth, int *color_type, int *interlace_type,
-   int *compression_type, int *filter_type));
+   int *bit_depth, int *color_type, int *interlace_method,
+   int *compression_method, int *filter_method));
 
 extern PNG_EXPORT(void,png_set_IHDR) PNGARG((png_structp png_ptr,
    png_infop info_ptr, png_uint_32 width, png_uint_32 height, int bit_depth,
-   int color_type, int interlace_type, int compression_type, int filter_type));
+   int color_type, int interlace_method, int compression_method,
+   int filter_method));
 
 #if defined(PNG_READ_oFFs_SUPPORTED)
 extern PNG_EXPORT(png_uint_32,png_get_oFFs) PNGARG((png_structp png_ptr,
@@ -2117,11 +2130,11 @@
 extern PNG_EXPORT(void, png_read_png) PNGARG((png_structp png_ptr,
                         png_infop info_ptr,
                         int transforms,
-                        voidp params));
+                        png_voidp params));
 extern PNG_EXPORT(void, png_write_png) PNGARG((png_structp png_ptr,
                         png_infop info_ptr,
                         int transforms,
-                        voidp params));
+                        png_voidp params));
 #endif
 
 /* Define PNG_DEBUG at compile time for debugging information.  Higher
@@ -2182,8 +2195,13 @@
 extern PNG_EXPORT(png_charp,png_get_header_version) PNGARG((png_structp png_ptr));
 extern PNG_EXPORT(png_charp,png_get_libpng_ver) PNGARG((png_structp png_ptr));
 
+#ifdef PNG_MNG_FEATURES_SUPPORTED
+extern PNG_EXPORT(png_uint_32,png_permit_mng_features) PNGARG((png_structp
+   png_ptr, png_uint_32 mng_features_permitted));
+#endif
+
 #define PNG_HEADER_VERSION_STRING \
-   " libpng version 1.0.8 - July 24, 2000 (header)\n"
+   " libpng version 1.0.9beta1 - November 10, 2000 (header)\n"
 
 #ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED
 /* With these routines we avoid an integer divide, which will be slower on
@@ -2330,7 +2348,7 @@
 #if !defined(PNG_NO_EXTERN) || defined(PNG_ALWAYS_EXTERN)
 /* place to hold the signature string for a PNG file. */
 #ifdef PNG_USE_GLOBAL_ARRAYS
-   PNG_EXPORT_VAR (png_byte FARDATA) png_sig[8];
+   PNG_EXPORT_VAR (const png_byte FARDATA) png_sig[8];
 #else
 #define png_sig png_sig_bytes(NULL)
 #endif
@@ -2516,8 +2534,8 @@
  */
 PNG_EXTERN void png_write_IHDR PNGARG((png_structp png_ptr, png_uint_32 width,
    png_uint_32 height,
-   int bit_depth, int color_type, int compression_type, int filter_type,
-   int interlace_type));
+   int bit_depth, int color_type, int compression_method, int filter_method,
+   int interlace_method));
 
 PNG_EXTERN void png_write_PLTE PNGARG((png_structp png_ptr, png_colorp palette,
    png_uint_32 num_pal));
diff --git a/pngasmrd.h b/pngasmrd.h
index 35fe3b2..9aea66c 100644
--- a/pngasmrd.h
+++ b/pngasmrd.h
@@ -1,6 +1,6 @@
 /* pngasmrd.h - assembler version of utilities to read a PNG file
  *
- * libpng 1.0.8 - July 24, 2000
+ * libpng 1.0.9beta1 - November 10, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1999, 2000 Glenn Randers-Pehrson
  *
diff --git a/pngconf.h b/pngconf.h
index 6486159..19baba0 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,6 +1,6 @@
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng 1.0.8 - July 24, 2000
+ * libpng 1.0.9beta1 - November 10, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -398,6 +398,7 @@
 #define PNG_NO_WRITE_USER_TRANSFORM
 #define PNG_NO_USER_MEM
 #define PNG_NO_READ_EMPTY_PLTE
+#define PNG_NO_MNG_FEATURES
 #define PNG_NO_FIXED_POINT_SUPPORTED
 #endif
 
@@ -490,8 +491,12 @@
 #endif
 #endif
 
+#ifndef PNG_NO_MNG_FEATURES
+#define PNG_MNG_FEATURES_SUPPORTED  /* Useful for MNG applications */
+#endif
+/* Deprecated, will be removed */
 #ifndef PNG_NO_READ_EMPTY_PLTE
-#define PNG_READ_EMPTY_PLTE_SUPPORTED  /* useful for MNG applications */
+#define PNG_READ_EMPTY_PLTE_SUPPORTED
 #endif
 
 #ifdef PNG_WRITE_TRANSFORMS_SUPPORTED
@@ -547,8 +552,9 @@
 #define PNG_WRITE_FLUSH_SUPPORTED
 #endif
 
+/* Deprecated, see PNG_MNG_FEATURES_SUPPORTED, above */
 #ifndef PNG_NO_WRITE_EMPTY_PLTE
-#define PNG_WRITE_EMPTY_PLTE_SUPPORTED  /* useful for MNG applications */
+#define PNG_WRITE_EMPTY_PLTE_SUPPORTED
 #endif
 
 #ifndef PNG_NO_STDIO
@@ -1132,6 +1138,13 @@
 #endif
 #endif
 
+#ifndef PNGAPI
+#  define PNGAPI
+#endif
+#ifndef PNG_IMPEXP
+#  define PNG_IMPEXP
+#endif
+
 #ifndef PNG_EXPORT
 #  define PNG_EXPORT(type,symbol) PNG_IMPEXP type PNGAPI symbol
 #endif
diff --git a/pngerror.c b/pngerror.c
index 3e4210f..d8a5a37 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,7 +1,7 @@
 
 /* pngerror.c - stub functions for i/o and memory allocation
  *
- * libpng 1.0.8 - July 24, 2000
+ * libpng 1.0.9beta1 - November 10, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pnggccrd.c b/pnggccrd.c
index ea4f972..513de9a 100644
--- a/pnggccrd.c
+++ b/pnggccrd.c
@@ -6,14 +6,14 @@
  *     and http://www.intel.com/drg/pentiumII/appnotes/923/923.htm
  *     for Intel's performance analysis of the MMX vs. non-MMX code.
  *
- * libpng version 1.0.8 - July 24, 2000
+ * libpng 1.0.9beta1 - November 10, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * Copyright (c) 1998, Intel Corporation
  *
  * Based on MSVC code contributed by Nirav Chhatrapati, Intel Corp., 1998.
  * Interface to libpng contributed by Gilles Vollant, 1999.
- * GNU C port by Greg Roelofs, 1999.
+ * GNU C port by Greg Roelofs, 1999-2000.
  *
  * Lines 2350-4300 converted in place with intel2gas 1.3.1:
  *
@@ -43,8 +43,8 @@
  */
 
 /*
- * NOTES (mostly by Greg Roelofs)
- * =====
+ * TEMPORARY PORTING NOTES AND CHANGELOG (mostly by Greg Roelofs)
+ * =====================================
  *
  * 19991006:
  *  - fixed sign error in post-MMX cleanup code (16- & 32-bit cases)
@@ -55,13 +55,13 @@
  *     - write MMX code for 48-bit case (pixel_bytes == 6)
  *     - figure out what's up with 24-bit case (pixel_bytes == 3):
  *        why subtract 8 from width_mmx in the pass 4/5 case?
- *        (only width_mmx case)
+ *        (only width_mmx case) (near line 1606)
  *     x [DONE] replace pixel_bytes within each block with the true
  *        constant value (or are compilers smart enough to do that?)
  *     - rewrite all MMX interlacing code so it's aligned with
  *        the *beginning* of the row buffer, not the end.  This
  *        would not only allow one to eliminate half of the memory
- *        writes for odd passes (i.e., pass == odd), it may also
+ *        writes for odd passes (that is, pass == odd), it may also
  *        eliminate some unaligned-data-access exceptions (assuming
  *        there's a penalty for not aligning 64-bit accesses on
  *        64-bit boundaries).  The only catch is that the "leftover"
@@ -113,7 +113,7 @@
  *
  * 19991107:
  *  - verified CPUID clobberage:  12-char string constant ("GenuineIntel",
- *     "AuthenticAMD", etc.) placed in EBX:ECX:EDX.  Still need to polish.
+ *     "AuthenticAMD", etc.) placed in ebx:ecx:edx.  Still need to polish.
  *
  * 19991120:
  *  - made "diff" variable (now "_dif") global to simplify conversion of
@@ -123,14 +123,14 @@
  *     macro determines which is used); original not yet tested.
  *
  * 20000213:
- *  - When compiling with gcc, be sure to use  -fomit-frame-pointer
+ *  - when compiling with gcc, be sure to use  -fomit-frame-pointer
  *
  * 20000319:
  *  - fixed a register-name typo in png_do_read_interlace(), default (MMX) case,
  *     pass == 4 or 5, that caused visible corruption of interlaced images
  *
  * 20000623:
- *  -  Various problems were reported with gcc 2.95.2 in the Cygwin environment,
+ *  - Various problems were reported with gcc 2.95.2 in the Cygwin environment,
  *     many of the form "forbidden register 0 (ax) was spilled for class AREG."
  *     This is explained at http://gcc.gnu.org/fom_serv/cache/23.html, and
  *     Chuck Wilson supplied a patch involving dummy output registers.  See
@@ -147,10 +147,78 @@
  *       pnggccrd.c:1177: more than 10 operands in `asm'
  *     They are all the same problem and can be worked around by using the
  *     global _unmask variable unconditionally, not just in the -fPIC case.
- *     Apparently earlier versions of gcc also have the problem with more than
+ *     Reportedly earlier versions of gcc also have the problem with more than
  *     10 operands; they just don't report it.  Much strangeness ensues, etc.
+ *
+ * 20000729:
+ *  - enabled png_read_filter_row_mmx_up() (shortest remaining unconverted
+ *     MMX routine); began converting png_read_filter_row_mmx_sub()
+ *  - to finish remaining sections:
+ *     - clean up indentation and comments
+ *     - preload local variables
+ *     - add output and input regs (order of former determines numerical
+ *        mapping of latter)
+ *     - avoid all usage of ebx (including bx, bh, bl) register [20000823]
+ *     - remove "$" from addressing of Shift and Mask variables [20000823]
+ *
+ * 20000731:
+ *  - global union vars causing segfaults in png_read_filter_row_mmx_sub()?
+ *
+ * 20000822:
+ *  - ARGH, stupid png_read_filter_row_mmx_sub() segfault only happens with
+ *     shared-library (-fPIC) version!  Code works just fine as part of static
+ *     library.  Damn damn damn damn damn, should have tested that sooner.
+ *     ebx is getting clobbered again (explicitly this time); need to save it
+ *     on stack or rewrite asm code to avoid using it altogether.  Blargh!
+ *
+ * 20000823:
+ *  - first section was trickiest; all remaining sections have ebx -> edx now.
+ *     (-fPIC works again.)  Also added missing underscores to various Shift*
+ *     and *Mask* globals and got rid of leading "$" signs.
+ *
+ * 20000826:
+ *  - added visual separators to help navigate microscopic printed copies
+ *     (http://pobox.com/~newt/code/gpr-latest.zip, mode 10); started working
+ *     on png_read_filter_row_mmx_avg()
+ *
+ * 20000828:
+ *  - finished png_read_filter_row_mmx_avg():  only Paeth left! (930 lines...)
+ *     What the hell, did png_read_filter_row_mmx_paeth(), too.  Comments not
+ *     cleaned up/shortened in either routine, but functionality is complete
+ *     and seems to be working fine.
+ *
+ * 20000829:
+ *  - ahhh, figured out last(?) bit of gcc/gas asm-fu:  if register is listed
+ *     as an input reg (with dummy output variables, etc.), then it *cannot*
+ *     also appear in the clobber list or gcc 2.95.2 will barf.  The solution
+ *     is simple enough...
+ *
+ * 20000914:
+ *  - bug in png_read_filter_row_mmx_avg():  16-bit grayscale not handled
+ *     correctly (but 48-bit RGB just fine)
+ *
+ * 20000916:
+ *  - fixed bug in png_read_filter_row_mmx_avg(), bpp == 2 case; three errors:  
+ *     - "_ShiftBpp.use = 24;"      should have been   "_ShiftBpp.use = 16;"
+ *     - "_ShiftRem.use = 40;"      should have been   "_ShiftRem.use = 48;"
+ *     - "psllq _ShiftRem, %%mm2"   should have been   "psrlq _ShiftRem, %%mm2"
+ *
+ * STILL TO DO:
+ *     - test png_do_read_interlace() 64-bit case (pixel_bytes == 8)
+ *     - write MMX code for 48-bit case (pixel_bytes == 6)
+ *     - figure out what's up with 24-bit case (pixel_bytes == 3):
+ *        why subtract 8 from width_mmx in the pass 4/5 case?
+ *        (only width_mmx case) (near line 1606)
+ *     - rewrite all MMX interlacing code so it's aligned with beginning
+ *        of the row buffer, not the end (see 19991007 for details)
+ *     - pick one version of mmxsupport() and get rid of the other
+ *     - add error messages to any remaining bogus default cases
+ *     - enable pixel_depth == 8 cases in png_read_filter_row()? (test speed)
+ *     - add support for runtime enable/disable/query of various MMX routines
  */
 
+//#define PNG_DEBUG 2   // GRR
+
 #define PNG_INTERNAL
 #include "png.h"
 
@@ -161,36 +229,46 @@
 static int mmx_supported = 2;
 
 #ifdef PNG_USE_LOCAL_ARRAYS
-static const int png_pass_start[7] = {0, 4, 0, 2, 0, 1, 0};
-static const int png_pass_inc[7]   = {8, 8, 4, 4, 2, 2, 1};
-static const int png_pass_width[7] = {8, 4, 4, 2, 2, 1, 1};
+static const int FARDATA png_pass_start[7] = {0, 4, 0, 2, 0, 1, 0};
+static const int FARDATA png_pass_inc[7]   = {8, 8, 4, 4, 2, 2, 1};
+static const int FARDATA png_pass_width[7] = {8, 4, 4, 2, 2, 1, 1};
 #endif
 
 // djgpp, Win32, and Cygwin add their own underscores to global variables,
 // so define them without:
 #if defined(__DJGPP__) || defined(WIN32) || defined(__CYGWIN__)
-#  define _unmask      unmask
-#  define _const4      const4
-#  define _const6      const6
-#  define _mask8_0     mask8_0  
-#  define _mask16_1    mask16_1 
-#  define _mask16_0    mask16_0 
-#  define _mask24_2    mask24_2 
-#  define _mask24_1    mask24_1 
-#  define _mask24_0    mask24_0 
-#  define _mask32_3    mask32_3 
-#  define _mask32_2    mask32_2 
-#  define _mask32_1    mask32_1 
-#  define _mask32_0    mask32_0 
-#  define _mask48_5    mask48_5 
-#  define _mask48_4    mask48_4 
-#  define _mask48_3    mask48_3 
-#  define _mask48_2    mask48_2 
-#  define _mask48_1    mask48_1 
-#  define _mask48_0    mask48_0 
-#  define _FullLength  FullLength
-#  define _MMXLength   MMXLength
-#  define _dif         dif
+#  define _unmask         unmask
+#  define _const4         const4
+#  define _const6         const6
+#  define _mask8_0        mask8_0  
+#  define _mask16_1       mask16_1 
+#  define _mask16_0       mask16_0 
+#  define _mask24_2       mask24_2 
+#  define _mask24_1       mask24_1 
+#  define _mask24_0       mask24_0 
+#  define _mask32_3       mask32_3 
+#  define _mask32_2       mask32_2 
+#  define _mask32_1       mask32_1 
+#  define _mask32_0       mask32_0 
+#  define _mask48_5       mask48_5 
+#  define _mask48_4       mask48_4 
+#  define _mask48_3       mask48_3 
+#  define _mask48_2       mask48_2 
+#  define _mask48_1       mask48_1 
+#  define _mask48_0       mask48_0 
+#  define _FullLength     FullLength
+#  define _MMXLength      MMXLength
+#  define _dif            dif
+#  define _LBCarryMask    LBCarryMask
+#  define _HBClearMask    HBClearMask
+#  define _ActiveMask     ActiveMask
+#  define _ActiveMask2    ActiveMask2
+#  define _ActiveMaskEnd  ActiveMaskEnd
+#  define _ShiftBpp       ShiftBpp
+#  define _ShiftRem       ShiftRem
+#  define _patemp         patemp
+#  define _pbtemp         pbtemp
+#  define _pctemp         pctemp
 #endif
 
 /* These constants are used in the inlined MMX assembly code.
@@ -235,6 +313,9 @@
 static png_uint_32  _FullLength;
 static png_uint_32  _MMXLength;
 static int          _dif;
+static int          _patemp;	// temp variables for Paeth routine
+static int          _pbtemp;
+static int          _pctemp;
 
 
 void /* PRIVATE */
@@ -242,6 +323,14 @@
    png_bytep row, png_bytep prev_row, int filter);
 
 
+
+
+//===========================================================================//
+//                                                                           //
+//                       P N G _ C O M B I N E _ R O W                       //
+//                                                                           //
+//===========================================================================//
+
 #if defined(PNG_HAVE_ASSEMBLER_COMBINE_ROW)
 
 /* Combines the row recently read in with the previous row.
@@ -266,10 +355,6 @@
    if (mmx_supported == 2)
        mmx_supported = mmxsupport();
 
-/*
-fprintf(stderr, "GRR DEBUG:  png_combine_row() pixel_depth = %d, mask = 0x%02x, unmask = 0x%02x\n", png_ptr->row_info.pixel_depth, mask, ~mask);
-fflush(stderr);
- */
    if (mask == 0xff)
    {
       png_memcpy(row, png_ptr->row_buf + 1,
@@ -533,9 +618,8 @@
                     "2" (len),         // ecx
                     "1" (mask)         // edx
 
-//                  :          // clobber list
 #if 0  /* MMX regs (%mm0, etc.) not supported by gcc 2.7.2.3 or egcs 1.1 */
-                  : "%mm0", "%mm4", "%mm6", "%mm7"
+                  : "%mm0", "%mm4", "%mm6", "%mm7"  // clobber list
 #endif
                );
             }
@@ -652,23 +736,22 @@
                 "end16:                       \n\t"
                   "EMMS                       \n\t" // DONE
 
-                  : "=a" (dummy_value_a),              // output regs (dummy)
-                    "=d" (dummy_value_d),
+                  : "=a" (dummy_value_a),           // output regs (dummy)
                     "=c" (dummy_value_c),
+                    "=d" (dummy_value_d),
                     "=S" (dummy_value_S),
                     "=D" (dummy_value_D)
 
-                  : "3" (srcptr),      // esi       // input regs
-                    "4" (dstptr),      // edi
-                    "0" (diff),        // eax
-// was (unmask)     "b"    RESERVED    // ebx       // Global Offset Table idx
-                    "2" (len),         // ecx
-                    "1" (mask)         // edx
+                  : "0" (diff),        // eax       // input regs
+// was (unmask)     " "    RESERVED    // ebx       // Global Offset Table idx
+                    "1" (len),         // ecx
+                    "2" (mask),        // edx
+                    "3" (srcptr),      // esi
+                    "4" (dstptr)       // edi
 
-//                  :          // clobber list
 #if 0  /* MMX regs (%mm0, etc.) not supported by gcc 2.7.2.3 or egcs 1.1 */
-                  : "%mm0", "%mm1",
-                    "%mm4", "%mm5", "%mm6", "%mm7"
+                  : "%mm0", "%mm1", "%mm4"          // clobber list
+                  , "%mm5", "%mm6", "%mm7"
 #endif
                );
             }
@@ -800,7 +883,7 @@
                 "end24:                       \n\t"
                   "EMMS                       \n\t" // DONE
 
-                  : "=a" (dummy_value_a),              // output regs (dummy)
+                  : "=a" (dummy_value_a),           // output regs (dummy)
                     "=d" (dummy_value_d),
                     "=c" (dummy_value_c),
                     "=S" (dummy_value_S),
@@ -813,10 +896,9 @@
                     "2" (len),         // ecx
                     "1" (mask)         // edx
 
-//                  :          // clobber list
 #if 0  /* MMX regs (%mm0, etc.) not supported by gcc 2.7.2.3 or egcs 1.1 */
-                  : "%mm0", "%mm1", "%mm2",
-                    "%mm4", "%mm5", "%mm6", "%mm7"
+                  : "%mm0", "%mm1", "%mm2"          // clobber list
+                  , "%mm4", "%mm5", "%mm6", "%mm7"
 #endif
                );
             }
@@ -955,7 +1037,7 @@
                 "end32:                       \n\t"
                   "EMMS                       \n\t" // DONE
 
-                  : "=a" (dummy_value_a),              // output regs (dummy)
+                  : "=a" (dummy_value_a),           // output regs (dummy)
                     "=d" (dummy_value_d),
                     "=c" (dummy_value_c),
                     "=S" (dummy_value_S),
@@ -968,10 +1050,9 @@
                     "2" (len),         // ecx
                     "1" (mask)         // edx
 
-//                  :          // clobber list
 #if 0  /* MMX regs (%mm0, etc.) not supported by gcc 2.7.2.3 or egcs 1.1 */
-                  : "%mm0", "%mm1", "%mm2", "%mm3",
-                    "%mm4", "%mm5", "%mm6", "%mm7"
+                  : "%mm0", "%mm1", "%mm2", "%mm3"  // clobber list
+                  , "%mm4", "%mm5", "%mm6", "%mm7"
 #endif
                );
             }
@@ -1127,7 +1208,7 @@
                 "end48:                       \n\t"
                   "EMMS                       \n\t" // DONE
 
-                  : "=a" (dummy_value_a),              // output regs (dummy)
+                  : "=a" (dummy_value_a),           // output regs (dummy)
                     "=d" (dummy_value_d),
                     "=c" (dummy_value_c),
                     "=S" (dummy_value_S),
@@ -1140,10 +1221,9 @@
                     "2" (len),         // ecx
                     "1" (mask)         // edx
 
-//                  :         // clobber list
 #if 0  /* MMX regs (%mm0, etc.) not supported by gcc 2.7.2.3 or egcs 1.1 */
-                  : "%mm0", "%mm1", "%mm2", "%mm3",
-                    "%mm4", "%mm5", "%mm6", "%mm7"
+                  : "%mm0", "%mm1", "%mm2", "%mm3"  // clobber list
+                  , "%mm4", "%mm5", "%mm6", "%mm7"
 #endif
                );
             }
@@ -1216,6 +1296,13 @@
 
 
 
+
+//===========================================================================//
+//                                                                           //
+//                 P N G _ D O _ R E A D _ I N T E R L A C E                 //
+//                                                                           //
+//===========================================================================//
+
 #if defined(PNG_READ_INTERLACING_SUPPORTED)
 #if defined(PNG_HAVE_ASSEMBLER_READ_INTERLACE)
 
@@ -1227,41 +1314,17 @@
 png_do_read_interlace(png_row_infop row_info, png_bytep row, int pass,
    png_uint_32 transformations)
 {
-/*
-fprintf(stderr, "GRR DEBUG:  entering png_do_read_interlace()\n");
-if (row == NULL) fprintf(stderr, "GRR DEBUG:  row == NULL\n");
-if (row_info == NULL) fprintf(stderr, "GRR DEBUG:  row_info == NULL\n");
-fflush(stderr);
- */
    png_debug(1,"in png_do_read_interlace\n");
 
    if (mmx_supported == 2)
        mmx_supported = mmxsupport();
-/*
-{
-fprintf(stderr, "GRR DEBUG:  calling mmxsupport()\n");
-fprintf(stderr, "GRR DEBUG:  done with mmxsupport() (mmx_supported = %d)\n", mmx_supported);
-}
- */
 
-/*
-this one happened on first row due to weirdness with mmxsupport():
-if (row == NULL) fprintf(stderr, "GRR DEBUG:  now row == NULL!!!\n");
-  row was in ebx, and even though nothing touched ebx, it still got wiped...
-  [weird side effect of CPUID instruction?]
-if (row_info == NULL) fprintf(stderr, "GRR DEBUG:  now row_info == NULL!!!\n");
- */
    if (row != NULL && row_info != NULL)
    {
       png_uint_32 final_width;
 
       final_width = row_info->width * png_pass_inc[pass];
 
-/*
-fprintf(stderr, "GRR DEBUG:  png_do_read_interlace() row_info->width = %d, final_width = %d\n", row_info->width, final_width);
-fprintf(stderr, "GRR DEBUG:  png_do_read_interlace() pixel_depth = %d\n", row_info->pixel_depth);
-fflush(stderr);
- */
       switch (row_info->pixel_depth)
       {
          case 1:
@@ -1467,6 +1530,7 @@
                      int dummy_value_c;   // fix 'forbidden register spilled'
                      int dummy_value_S;
                      int dummy_value_D;
+
                      __asm__ __volatile__ (
                         "subl $21, %%edi         \n\t"
                                      // (png_pass_inc[pass] - 1)*pixel_bytes
@@ -1496,7 +1560,7 @@
                         "jnz .loop3_pass0        \n\t"
                         "EMMS                    \n\t" // DONE
 
-                        : "=c" (dummy_value_c),           // output regs (dummy)
+                        : "=c" (dummy_value_c),        // output regs (dummy)
                           "=S" (dummy_value_S),
                           "=D" (dummy_value_D)
 
@@ -1505,9 +1569,9 @@
                           "0" (width)      // ecx
 // doesn't work           "i" (0x0000000000FFFFFFLL)   // %1 (a.k.a. _const4)
 
-//                        :        // clobber list
 #if 0  /* %mm0, ..., %mm4 not supported by gcc 2.7.2.3 or egcs 1.1 */
-                        : "%mm0", "%mm1", "%mm2", "%mm3", "%mm4"
+                        : "%mm0", "%mm1", "%mm2"       // clobber list
+                        , "%mm3", "%mm4"
 #endif
                      );
                   }
@@ -1516,6 +1580,7 @@
                      int dummy_value_c;   // fix 'forbidden register spilled'
                      int dummy_value_S;
                      int dummy_value_D;
+
                      __asm__ __volatile__ (
                         "subl $9, %%edi          \n\t"
                                      // (png_pass_inc[pass] - 1)*pixel_bytes
@@ -1539,7 +1604,7 @@
                         "jnz .loop3_pass2        \n\t"
                         "EMMS                    \n\t" // DONE
 
-                        : "=c" (dummy_value_c),           // output regs (dummy)
+                        : "=c" (dummy_value_c),        // output regs (dummy)
                           "=S" (dummy_value_S),
                           "=D" (dummy_value_D)
 
@@ -1547,9 +1612,8 @@
                           "2" (dp),        // edi
                           "0" (width)      // ecx
 
-//                        :        // clobber list
 #if 0  /* %mm0, ..., %mm2 not supported by gcc 2.7.2.3 or egcs 1.1 */
-                        : "%mm0", "%mm1", "%mm2"
+                        : "%mm0", "%mm1", "%mm2"       // clobber list
 #endif
                      );
                   }
@@ -1567,6 +1631,7 @@
                         int dummy_value_c;  // fix 'forbidden register spilled'
                         int dummy_value_S;
                         int dummy_value_D;
+
                         __asm__ __volatile__ (
                            "subl $3, %%esi          \n\t"
                            "subl $9, %%edi          \n\t"
@@ -1593,7 +1658,7 @@
                            "jnz .loop3_pass4        \n\t"
                            "EMMS                    \n\t" // DONE
 
-                           : "=c" (dummy_value_c),           // output regs (dummy)
+                           : "=c" (dummy_value_c),        // output regs (dummy)
                              "=S" (dummy_value_S),
                              "=D" (dummy_value_D)
 
@@ -1601,9 +1666,9 @@
                              "2" (dp),        // edi
                              "0" (width_mmx)  // ecx
 
-//                           :        // clobber list
 #if 0  /* %mm0, ..., %mm3 not supported by gcc 2.7.2.3 or egcs 1.1 */
-                           : "%mm0", "%mm1", "%mm2", "%mm3"
+                           : "%mm0", "%mm1"               // clobber list
+                           , "%mm2", "%mm3"
 #endif
                         );
                      }
@@ -1638,6 +1703,7 @@
                         int dummy_value_c;  // fix 'forbidden register spilled'
                         int dummy_value_S;
                         int dummy_value_D;
+
                         __asm__ __volatile__ (
                            "subl $3, %%esi          \n\t"
                            "subl $31, %%edi         \n\t"
@@ -1665,7 +1731,7 @@
                            "jnz .loop1_pass0        \n\t"
                            "EMMS                    \n\t" // DONE
 
-                           : "=c" (dummy_value_c),           // output regs (dummy)
+                           : "=c" (dummy_value_c),        // output regs (dummy)
                              "=S" (dummy_value_S),
                              "=D" (dummy_value_D)
 
@@ -1673,9 +1739,9 @@
                              "2" (dp),        // edi
                              "0" (width_mmx)  // ecx
 
-//                           :       // clobber list
 #if 0  /* %mm0, ..., %mm4 not supported by gcc 2.7.2.3 or egcs 1.1 */
-                           : "%mm0", "%mm1", "%mm2", "%mm3", "%mm4"
+                           : "%mm0", "%mm1", "%mm2"       // clobber list
+                           , "%mm3", "%mm4"
 #endif
                         );
                      }
@@ -1718,6 +1784,7 @@
                         int dummy_value_c;  // fix 'forbidden register spilled'
                         int dummy_value_S;
                         int dummy_value_D;
+
                         __asm__ __volatile__ (
                            "subl $3, %%esi          \n\t"
                            "subl $15, %%edi         \n\t"
@@ -1736,7 +1803,7 @@
                            "jnz .loop1_pass2        \n\t"
                            "EMMS                    \n\t" // DONE
 
-                           : "=c" (dummy_value_c),           // output regs (dummy)
+                           : "=c" (dummy_value_c),        // output regs (dummy)
                              "=S" (dummy_value_S),
                              "=D" (dummy_value_D)
 
@@ -1744,9 +1811,8 @@
                              "2" (dp),        // edi
                              "0" (width_mmx)  // ecx
 
-//                           :        // clobber list
 #if 0  /* %mm0, %mm1 not supported by gcc 2.7.2.3 or egcs 1.1 */
-                           : "%mm0", "%mm1"
+                           : "%mm0", "%mm1"               // clobber list
 #endif
                         );
                      }
@@ -1771,6 +1837,7 @@
                         int dummy_value_c;  // fix 'forbidden register spilled'
                         int dummy_value_S;
                         int dummy_value_D;
+
                         __asm__ __volatile__ (
                            "subl $7, %%esi          \n\t"
                            "subl $15, %%edi         \n\t"
@@ -1788,7 +1855,7 @@
                            "jnz .loop1_pass4        \n\t"
                            "EMMS                    \n\t" // DONE
 
-                           : "=c" (dummy_value_c),           // output regs (none)
+                           : "=c" (dummy_value_c),        // output regs (none)
                              "=S" (dummy_value_S),
                              "=D" (dummy_value_D)
 
@@ -1796,9 +1863,8 @@
                              "2" (dp),        // edi
                              "0" (width_mmx)  // ecx
 
-//                           :        // clobber list
 #if 0  /* %mm0, %mm1 not supported by gcc 2.7.2.3 or egcs 1.1 */
-                           : "%mm0", "%mm1"
+                           : "%mm0", "%mm1"               // clobber list
 #endif
                         );
                      }
@@ -1828,6 +1894,7 @@
                         int dummy_value_c;  // fix 'forbidden register spilled'
                         int dummy_value_S;
                         int dummy_value_D;
+
                         __asm__ __volatile__ (
                            "subl $2, %%esi          \n\t"
                            "subl $30, %%edi         \n\t"
@@ -1848,7 +1915,7 @@
                            "jnz .loop2_pass0        \n\t"
                            "EMMS                    \n\t" // DONE
 
-                           : "=c" (dummy_value_c),           // output regs (dummy)
+                           : "=c" (dummy_value_c),        // output regs (dummy)
                              "=S" (dummy_value_S),
                              "=D" (dummy_value_D)
 
@@ -1856,9 +1923,8 @@
                              "2" (dp),        // edi
                              "0" (width_mmx)  // ecx
 
-//                           :        // clobber list
 #if 0  /* %mm0, %mm1 not supported by gcc 2.7.2.3 or egcs 1.1 */
-                           : "%mm0", "%mm1"
+                           : "%mm0", "%mm1"               // clobber list
 #endif
                         );
                      }
@@ -1887,6 +1953,7 @@
                         int dummy_value_c;  // fix 'forbidden register spilled'
                         int dummy_value_S;
                         int dummy_value_D;
+
                         __asm__ __volatile__ (
                            "subl $2, %%esi          \n\t"
                            "subl $14, %%edi         \n\t"
@@ -1905,7 +1972,7 @@
                            "jnz .loop2_pass2        \n\t"
                            "EMMS                    \n\t" // DONE
 
-                           : "=c" (dummy_value_c),           // output regs (dummy)
+                           : "=c" (dummy_value_c),        // output regs (dummy)
                              "=S" (dummy_value_S),
                              "=D" (dummy_value_D)
 
@@ -1913,9 +1980,8 @@
                              "2" (dp),        // edi
                              "0" (width_mmx)  // ecx
 
-//                           :        // clobber list
 #if 0  /* %mm0, %mm1 not supported by gcc 2.7.2.3 or egcs 1.1 */
-                           : "%mm0", "%mm1"
+                           : "%mm0", "%mm1"               // clobber list
 #endif
                         );
                      }
@@ -1944,6 +2010,7 @@
                         int dummy_value_c;  // fix 'forbidden register spilled'
                         int dummy_value_S;
                         int dummy_value_D;
+
                         __asm__ __volatile__ (
                            "subl $2, %%esi          \n\t"
                            "subl $6, %%edi          \n\t"
@@ -1958,7 +2025,7 @@
                            "jnz .loop2_pass4        \n\t"
                            "EMMS                    \n\t" // DONE
 
-                           : "=c" (dummy_value_c),           // output regs (dummy)
+                           : "=c" (dummy_value_c),        // output regs (dummy)
                              "=S" (dummy_value_S),
                              "=D" (dummy_value_D)
 
@@ -1966,9 +2033,8 @@
                              "2" (dp),        // edi
                              "0" (width_mmx)  // ecx
 
-//                           :        // clobber list
 #if 0  /* %mm0 not supported by gcc 2.7.2.3 or egcs 1.1 */
-                           : "%mm0"
+                           : "%mm0"                       // clobber list
 #endif
                         );
                      }
@@ -1997,21 +2063,12 @@
                   {
                      int width_mmx = ((width >> 1) << 1);
                      width -= width_mmx;        // 0,1 pixels => 0,4 bytes
-/*
-fprintf(stderr, "GRR DEBUG:  png_do_read_interlace() pass = %d, width_mmx = %d, width = %d\n", pass, width_mmx, width);
-fprintf(stderr, "            sptr = 0x%08lx, dp = 0x%08lx\n", (unsigned long)sptr, (unsigned long)dp);
-fflush(stderr);
- */
                      if (width_mmx)
                      {
                         int dummy_value_c;  // fix 'forbidden register spilled'
                         int dummy_value_S;
                         int dummy_value_D;
-#ifdef GRR_DEBUG
-                        FILE *junk = fopen("junk.4bytes", "wb");
-                        if (junk)
-                           fclose(junk);
-#endif /* GRR_DEBUG */
+
                         __asm__ __volatile__ (
                            "subl $4, %%esi          \n\t"
                            "subl $60, %%edi         \n\t"
@@ -2035,7 +2092,7 @@
                            "jnz .loop4_pass0        \n\t"
                            "EMMS                    \n\t" // DONE
 
-                           : "=c" (dummy_value_c),           // output regs (dummy)
+                           : "=c" (dummy_value_c),        // output regs (dummy)
                              "=S" (dummy_value_S),
                              "=D" (dummy_value_D)
  
@@ -2043,9 +2100,8 @@
                              "2" (dp),        // edi
                              "0" (width_mmx)  // ecx
 
-//                           :        // clobber list
 #if 0  /* %mm0, %mm1 not supported by gcc 2.7.2.3 or egcs 1.1 */
-                           : "%mm0", "%mm1"
+                           : "%mm0", "%mm1"               // clobber list
 #endif
                         );
                      }
@@ -2074,6 +2130,7 @@
                         int dummy_value_c;  // fix 'forbidden register spilled'
                         int dummy_value_S;
                         int dummy_value_D;
+
                         __asm__ __volatile__ (
                            "subl $4, %%esi          \n\t"
                            "subl $28, %%edi         \n\t"
@@ -2093,7 +2150,7 @@
                            "jnz .loop4_pass2        \n\t"
                            "EMMS                    \n\t" // DONE
 
-                           : "=c" (dummy_value_c),           // output regs (dummy)
+                           : "=c" (dummy_value_c),        // output regs (dummy)
                              "=S" (dummy_value_S),
                              "=D" (dummy_value_D)
  
@@ -2101,9 +2158,8 @@
                              "2" (dp),        // edi
                              "0" (width_mmx)  // ecx
 
-//                           :        // clobber list
 #if 0  /* %mm0, %mm1 not supported by gcc 2.7.2.3 or egcs 1.1 */
-                           : "%mm0", "%mm1"
+                           : "%mm0", "%mm1"               // clobber list
 #endif
                         );
                      }
@@ -2132,6 +2188,7 @@
                         int dummy_value_c;  // fix 'forbidden register spilled'
                         int dummy_value_S;
                         int dummy_value_D;
+
                         __asm__ __volatile__ (
                            "subl $4, %%esi          \n\t"
                            "subl $12, %%edi         \n\t"
@@ -2149,7 +2206,7 @@
                            "jnz .loop4_pass4        \n\t"
                            "EMMS                    \n\t" // DONE
 
-                           : "=c" (dummy_value_c),           // output regs (dummy)
+                           : "=c" (dummy_value_c),        // output regs (dummy)
                              "=S" (dummy_value_S),
                              "=D" (dummy_value_D)
 
@@ -2157,9 +2214,8 @@
                              "2" (dp),        // edi
                              "0" (width_mmx)  // ecx
 
-//                           :        // clobber list
 #if 0  /* %mm0, %mm1 not supported by gcc 2.7.2.3 or egcs 1.1 */
-                           : "%mm0", "%mm1"
+                           : "%mm0", "%mm1"               // clobber list
 #endif
                         );
                      }
@@ -2181,58 +2237,50 @@
                   }
                } /* end of pixel_bytes == 4 */
 
-#define STILL_WORKING_ON_THIS
-#ifdef STILL_WORKING_ON_THIS  // GRR: should work, but needs testing
-                              //      (special 64-bit version of rpng2)
-
                //--------------------------------------------------------------
                else if (pixel_bytes == 8)
                {
+// GRR TEST:  should work, but needs testing (special 64-bit version of rpng2?)
                   // GRR NOTE:  no need to combine passes here!
                   if (((pass == 0) || (pass == 1)) && width)
                   {
+                     int dummy_value_c;  // fix 'forbidden register spilled'
+                     int dummy_value_S;
+                     int dummy_value_D;
+
                      // source is 8-byte RRGGBBAA
                      // dest is 64-byte RRGGBBAA RRGGBBAA RRGGBBAA RRGGBBAA ...
-                        int dummy_value_c;  // fix 'forbidden register spilled'
-                        int dummy_value_S;
-                        int dummy_value_D;
-#ifdef GRR_DEBUG
-                        FILE *junk = fopen("junk.8bytes", "wb");
-                        if (junk)
-                            fclose(junk);
-#endif /* GRR_DEBUG */
-                        __asm__ __volatile__ (
-                           "subl $56, %%edi         \n\t" // start of last block
+                     __asm__ __volatile__ (
+                        "subl $56, %%edi         \n\t" // start of last block
 
-                        ".loop8_pass0:              \n\t"
-                           "movq (%%esi), %%mm0     \n\t" // 7 6 5 4 3 2 1 0
-                           "movq %%mm0, (%%edi)     \n\t"
-                           "movq %%mm0, 8(%%edi)    \n\t"
-                           "movq %%mm0, 16(%%edi)   \n\t"
-                           "movq %%mm0, 24(%%edi)   \n\t"
-                           "movq %%mm0, 32(%%edi)   \n\t"
-                           "movq %%mm0, 40(%%edi)   \n\t"
-                           "movq %%mm0, 48(%%edi)   \n\t"
-                           "subl $8, %%esi          \n\t"
-                           "movq %%mm0, 56(%%edi)   \n\t"
-                           "subl $64, %%edi         \n\t"
-                           "decl %%ecx              \n\t"
-                           "jnz .loop8_pass0        \n\t"
-                           "EMMS                    \n\t" // DONE
+                     ".loop8_pass0:              \n\t"
+                        "movq (%%esi), %%mm0     \n\t" // 7 6 5 4 3 2 1 0
+                        "movq %%mm0, (%%edi)     \n\t"
+                        "movq %%mm0, 8(%%edi)    \n\t"
+                        "movq %%mm0, 16(%%edi)   \n\t"
+                        "movq %%mm0, 24(%%edi)   \n\t"
+                        "movq %%mm0, 32(%%edi)   \n\t"
+                        "movq %%mm0, 40(%%edi)   \n\t"
+                        "movq %%mm0, 48(%%edi)   \n\t"
+                        "subl $8, %%esi          \n\t"
+                        "movq %%mm0, 56(%%edi)   \n\t"
+                        "subl $64, %%edi         \n\t"
+                        "decl %%ecx              \n\t"
+                        "jnz .loop8_pass0        \n\t"
+                        "EMMS                    \n\t" // DONE
 
-                           : "=c" (dummy_value_c),           // output regs (dummy)
-                             "=S" (dummy_value_S),
-                             "=D" (dummy_value_D)
+                        : "=c" (dummy_value_c),        // output regs (dummy)
+                          "=S" (dummy_value_S),
+                          "=D" (dummy_value_D)
 
-                           : "1" (sptr),      // esi      // input regs
-                             "2" (dp),        // edi
-                             "0" (width)      // ecx
+                        : "1" (sptr),      // esi      // input regs
+                          "2" (dp),        // edi
+                          "0" (width)      // ecx
 
-//                           :        // clobber list
 #if 0  /* %mm0 not supported by gcc 2.7.2.3 or egcs 1.1 */
-                           : "%mm0"
+                        : "%mm0"                       // clobber list
 #endif
-                        );
+                     );
                   }
                   else if (((pass == 2) || (pass == 3)) && width)
                   {
@@ -2245,6 +2293,7 @@
                         int dummy_value_c;  // fix 'forbidden register spilled'
                         int dummy_value_S;
                         int dummy_value_D;
+
                         __asm__ __volatile__ (
                            "subl $24, %%edi         \n\t" // start of last block
 
@@ -2260,7 +2309,7 @@
                            "jnz .loop8_pass2        \n\t"
                            "EMMS                    \n\t" // DONE
 
-                           : "=c" (dummy_value_c),           // output regs (dummy)
+                           : "=c" (dummy_value_c),        // output regs (dummy)
                              "=S" (dummy_value_S),
                              "=D" (dummy_value_D)
 
@@ -2268,9 +2317,8 @@
                              "2" (dp),        // edi
                              "0" (width)      // ecx
 
-//                           :        // clobber list
 #if 0  /* %mm0 not supported by gcc 2.7.2.3 or egcs 1.1 */
-                           : "%mm0"
+                           : "%mm0"                       // clobber list
 #endif
                         );
                      }
@@ -2286,6 +2334,7 @@
                         int dummy_value_c;  // fix 'forbidden register spilled'
                         int dummy_value_S;
                         int dummy_value_D;
+
                         __asm__ __volatile__ (
                            "subl $8, %%edi          \n\t" // start of last block
 
@@ -2299,7 +2348,7 @@
                            "jnz .loop8_pass4        \n\t"
                            "EMMS                    \n\t" // DONE
 
-                           : "=c" (dummy_value_c),           // output regs (dummy)
+                           : "=c" (dummy_value_c),        // output regs (dummy)
                              "=S" (dummy_value_S),
                              "=D" (dummy_value_D)
 
@@ -2307,9 +2356,8 @@
                              "2" (dp),        // edi
                              "0" (width)      // ecx
 
-//                           :        // clobber list
 #if 0  /* %mm0 not supported by gcc 2.7.2.3 or egcs 1.1 */
-                           : "%mm0"
+                           : "%mm0"                       // clobber list
 #endif
                         );
                      }
@@ -2317,8 +2365,6 @@
 
                } /* end of pixel_bytes == 8 */
 
-#endif /* STILL_WORKING_ON_THIS */
-
                //--------------------------------------------------------------
                else if (pixel_bytes == 6)
                {
@@ -2477,19 +2523,30 @@
 #endif /* PNG_READ_INTERLACING_SUPPORTED */
 
 
+
+
 // These variables are utilized in the functions below.  They are declared
 // globally here to ensure alignment on 8-byte boundaries.
 
 union uAll {
    long long use;
    double  align;
-} LBCarryMask = {0x0101010101010101LL},
-  HBClearMask = {0x7f7f7f7f7f7f7f7fLL},
-  ActiveMask, ActiveMask2, ActiveMaskEnd, ShiftBpp, ShiftRem;
+} _LBCarryMask = {0x0101010101010101LL},
+  _HBClearMask = {0x7f7f7f7f7f7f7f7fLL},
+  _ActiveMask, _ActiveMask2, _ActiveMaskEnd, _ShiftBpp, _ShiftRem;
 
 
+
+
+//===========================================================================//
+//                                                                           //
+//           P N G _ R E A D _ F I L T E R _ R O W _ M M X _ A V G           //
+//                                                                           //
+//===========================================================================//
+
 // Optimized code for PNG Average filter decoder
-void /* PRIVATE */
+
+static void /* PRIVATE */
 png_read_filter_row_mmx_avg(png_row_infop row_info, png_bytep row,
                             png_bytep prev_row)
 {
@@ -2497,29 +2554,32 @@
    int dummy_value_c;   // fix 'forbidden register 2 (cx) was spilled' error
    int dummy_value_S;
    int dummy_value_D;
-// int diff;  GRR: global now (shortened to dif/_dif)
 
-   bpp = (row_info->pixel_depth + 7) >> 3;  // Get # bytes per pixel
-   _FullLength  = row_info->rowbytes;        // # of bytes to filter
+   bpp = (row_info->pixel_depth + 7) >> 3;  // get # bytes per pixel
+   _FullLength  = row_info->rowbytes;       // # of bytes to filter
+
    __asm__ __volatile__ (
-      // Init address pointers and offset
-//GRR "movl row, %%edi             \n\t" // edi ==> Avg(x)
-      "xorl %%ebx, %%ebx           \n\t" // ebx ==> x
+      // initialize address pointers and offset
+#ifdef __PIC__
+      "pushl %%ebx                 \n\t" // save index to Global Offset Table
+#endif
+//pre "movl row, %%edi             \n\t" // edi:  Avg(x)
+      "xorl %%ebx, %%ebx           \n\t" // ebx:  x
       "movl %%edi, %%edx           \n\t"
-//GRR "movl prev_row, %%esi        \n\t" // esi ==> Prior(x)
-//GRR "subl bpp, %%edx             \n\t" // (bpp is preloaded into ecx)
-      "subl %%ecx, %%edx           \n\t" // edx ==> Raw(x-bpp)
+//pre "movl prev_row, %%esi        \n\t" // esi:  Prior(x)
+//pre "subl bpp, %%edx             \n\t" // (bpp is preloaded into ecx)
+      "subl %%ecx, %%edx           \n\t" // edx:  Raw(x-bpp)
 
       "xorl %%eax,%%eax            \n\t"
 
       // Compute the Raw value for the first bpp bytes
       //    Raw(x) = Avg(x) + (Prior(x)/2)
    "avg_rlp:                       \n\t"
-      "movb (%%esi,%%ebx,),%%al    \n\t" // Load al with Prior(x)
+      "movb (%%esi,%%ebx,),%%al    \n\t" // load al with Prior(x)
       "incl %%ebx                  \n\t"
       "shrb %%al                   \n\t" // divide by 2
       "addb -1(%%edi,%%ebx,),%%al  \n\t" // add Avg(x); -1 to offset inc ebx
-//GRR "cmpl bpp, %%ebx             \n\t" // (bpp is preloaded into ecx)
+//pre "cmpl bpp, %%ebx             \n\t" // (bpp is preloaded into ecx)
       "cmpl %%ecx, %%ebx           \n\t"
       "movb %%al,-1(%%edi,%%ebx,)  \n\t" // write Raw(x); -1 to offset inc ebx
       "jb avg_rlp                  \n\t" // mov does not affect flags
@@ -2529,13 +2589,14 @@
       "addl %%ebx, _dif            \n\t" // add bpp
       "addl $0xf, _dif             \n\t" // add 7+8 to incr past alignment bdry
       "andl $0xfffffff8, _dif      \n\t" // mask to alignment boundary
-      "subl %%edi, _dif            \n\t" // subtract from start => value ebx at alignment
-      "jz avg_go                   \n\t"
+      "subl %%edi, _dif            \n\t" // subtract from start => value ebx at
+      "jz avg_go                   \n\t" //  alignment
 
       // fix alignment
       // Compute the Raw value for the bytes up to the alignment boundary
       //    Raw(x) = Avg(x) + ((Raw(x-bpp) + Prior(x))/2)
       "xorl %%ecx, %%ecx           \n\t"
+
    "avg_lp1:                       \n\t"
       "xorl %%eax, %%eax           \n\t"
       "movb (%%esi,%%ebx,), %%cl   \n\t" // load cl with Prior(x)
@@ -2555,108 +2616,116 @@
       "andl $0x00000007, %%eax     \n\t" // calc bytes over mult of 8
       "subl %%eax, %%ecx           \n\t" // drop over bytes from original length
       "movl %%ecx, _MMXLength      \n\t"
+#ifdef __PIC__
+      "popl %%ebx                  \n\t" // restore index to Global Offset Table
+#endif
 
-      : "=c" (dummy_value_c), // output regs/vars here, e.g., "=m" (_MMXLength) instead of final instr
+      : "=c" (dummy_value_c),            // output regs (dummy)
         "=S" (dummy_value_S),
         "=D" (dummy_value_D)
 
-      : "1" (prev_row),  // esi          // input regs
-        "2" (row),       // edi
-        "0" (bpp)        // ecx
+      : "0" (bpp),       // ecx          // input regs
+        "1" (prev_row),  // esi
+        "2" (row)        // edi
 
-      : "%eax", "%ebx",          // clobber list
-        "%edx"
-// GRR: INCLUDE "memory" as clobbered? (_dif, _MMXLength)     PROBABLY
+      : "%eax", "%edx"                   // clobber list
+#ifndef __PIC__
+      , "%ebx"
+#endif
+      // GRR: INCLUDE "memory" as clobbered? (_dif, _MMXLength)
+      // (seems to work fine without...)
    );
 
-#ifdef GRR_GCC_MMX_CONVERTED
-   // Now do the math for the rest of the row
-   switch ( bpp )
+   // now do the math for the rest of the row
+   switch (bpp)
    {
       case 3:
       {
-         ActiveMask.use  = 0x0000000000ffffff;
-         ShiftBpp.use = 24;    // == 3 * 8
-         ShiftRem.use = 40;    // == 64 - 24
-         __asm__ (
-            // Re-init address pointers and offset
-            "movq $ActiveMask, %%mm7     \n\t"
-            "movl _dif, %%ebx            \n\t" // ebx ==> x = offset to alignment boundary
-            "movq $LBCarryMask, %%mm5    \n\t"
-            "movl row, %%edi             \n\t" // edi ==> Avg(x)
-            "movq $HBClearMask, %%mm4    \n\t"
-            "movl prev_row, %%esi        \n\t" // esi ==> Prior(x)
-            // PRIME the pump (load the first Raw(x-bpp) data set)
-            "movq -8(%%edi,%%ebx,), %%mm2 \n\t" // Load previous aligned 8 bytes
-                                          // (we correct position in loop below)
-         "avg_3lp:                       \n\t"
-            "movq (%%edi,%%ebx,), %%mm0  \n\t" // Load mm0 with Avg(x)
-            // Add (Prev_row/2) to Average
-            "movq %%mm5, %%mm3           \n\t"
-            "psrlq $ShiftRem, %%mm2      \n\t" // Correct position Raw(x-bpp) data
-            "movq (%%esi,%%ebx,), %%mm1  \n\t" // Load mm1 with Prior(x)
-            "movq %%mm7, %%mm6           \n\t"
-            "pand %%mm1, %%mm3           \n\t" // get lsb for each prev_row byte
-            "psrlq $1, %%mm1             \n\t" // divide prev_row bytes by 2
-            "pand  %%mm4, %%mm1          \n\t" // clear invalid bit 7 of each byte
-            "paddb %%mm1, %%mm0          \n\t" // add (Prev_row/2) to Avg for each byte
-            // Add 1st active group (Raw(x-bpp)/2) to Average with LBCarry
-            "movq %%mm3, %%mm1           \n\t" // now use mm1 for getting LBCarrys
-            "pand %%mm2, %%mm1           \n\t" // get LBCarrys for each byte where both
-                               // lsb's were == 1 (Only valid for active group)
-            "psrlq $1, %%mm2             \n\t" // divide raw bytes by 2
-            "pand  %%mm4, %%mm2          \n\t" // clear invalid bit 7 of each byte
-            "paddb %%mm1, %%mm2          \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
-            "pand %%mm6, %%mm2           \n\t" // Leave only Active Group 1 bytes to add to Avg
-            "paddb %%mm2, %%mm0          \n\t" // add (Raw/2) + LBCarrys to Avg for each Active
+         _ActiveMask.use  = 0x0000000000ffffffLL;
+         _ShiftBpp.use = 24;    // == 3 * 8
+         _ShiftRem.use = 40;    // == 64 - 24
+
+         __asm__ __volatile__ (
+            // re-init address pointers and offset
+            "movq _ActiveMask, %%mm7      \n\t"
+            "movl _dif, %%ecx             \n\t" // ecx:  x = offset to
+            "movq _LBCarryMask, %%mm5     \n\t" //  alignment boundary
+// preload  "movl row, %%edi              \n\t" // edi:  Avg(x)
+            "movq _HBClearMask, %%mm4     \n\t"
+// preload  "movl prev_row, %%esi         \n\t" // esi:  Prior(x)
+
+            // prime the pump:  load the first Raw(x-bpp) data set
+            "movq -8(%%edi,%%ecx,), %%mm2 \n\t" // load previous aligned 8 bytes
+                                                // (correct pos. in loop below)
+         "avg_3lp:                        \n\t"
+            "movq (%%edi,%%ecx,), %%mm0   \n\t" // load mm0 with Avg(x)
+            "movq %%mm5, %%mm3            \n\t"
+            "psrlq _ShiftRem, %%mm2       \n\t" // correct position Raw(x-bpp) data
+            "movq (%%esi,%%ecx,), %%mm1   \n\t" // load mm1 with Prior(x)
+            "movq %%mm7, %%mm6            \n\t"
+            "pand %%mm1, %%mm3            \n\t" // get lsb for each prev_row byte
+            "psrlq $1, %%mm1              \n\t" // divide prev_row bytes by 2
+            "pand  %%mm4, %%mm1           \n\t" // clear invalid bit 7 of each byte
+            "paddb %%mm1, %%mm0           \n\t" // add (Prev_row/2) to Avg for each byte
+            // add 1st active group (Raw(x-bpp)/2) to average with LBCarry
+            "movq %%mm3, %%mm1            \n\t" // now use mm1 for getting LBCarrys
+            "pand %%mm2, %%mm1            \n\t" // get LBCarrys for each byte where both
+                               // lsb's were == 1 (only valid for active group)
+            "psrlq $1, %%mm2              \n\t" // divide raw bytes by 2
+            "pand  %%mm4, %%mm2           \n\t" // clear invalid bit 7 of each byte
+            "paddb %%mm1, %%mm2           \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
+            "pand %%mm6, %%mm2            \n\t" // leave only Active Group 1 bytes to add to Avg
+            "paddb %%mm2, %%mm0           \n\t" // add (Raw/2) + LBCarrys to Avg for each Active
                                //  byte
-            // Add 2nd active group (Raw(x-bpp)/2) to Average with LBCarry
-            "psllq $ShiftBpp, %%mm6      \n\t" // shift the mm6 mask to cover bytes 3-5
-            "movq %%mm0, %%mm2           \n\t" // mov updated Raws to mm2
-            "psllq $ShiftBpp, %%mm2      \n\t" // shift data to position correctly
-            "movq %%mm3, %%mm1           \n\t" // now use mm1 for getting LBCarrys
-            "pand %%mm2, %%mm1           \n\t" // get LBCarrys for each byte where both
-                               // lsb's were == 1 (Only valid for active group)
-            "psrlq $1, %%mm2             \n\t" // divide raw bytes by 2
-            "pand  %%mm4, %%mm2          \n\t" // clear invalid bit 7 of each byte
-            "paddb %%mm1, %%mm2          \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
-            "pand %%mm6, %%mm2           \n\t" // Leave only Active Group 2 bytes to add to Avg
-            "paddb %%mm2, %%mm0          \n\t" // add (Raw/2) + LBCarrys to Avg for each Active
+            // add 2nd active group (Raw(x-bpp)/2) to average with _LBCarry
+            "psllq _ShiftBpp, %%mm6       \n\t" // shift the mm6 mask to cover bytes 3-5
+            "movq %%mm0, %%mm2            \n\t" // mov updated Raws to mm2
+            "psllq _ShiftBpp, %%mm2       \n\t" // shift data to pos. correctly
+            "movq %%mm3, %%mm1            \n\t" // now use mm1 for getting LBCarrys
+            "pand %%mm2, %%mm1            \n\t" // get LBCarrys for each byte where both
+                               // lsb's were == 1 (only valid for active group)
+            "psrlq $1, %%mm2              \n\t" // divide raw bytes by 2
+            "pand  %%mm4, %%mm2           \n\t" // clear invalid bit 7 of each byte
+            "paddb %%mm1, %%mm2           \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
+            "pand %%mm6, %%mm2            \n\t" // leave only Active Group 2 bytes to add to Avg
+            "paddb %%mm2, %%mm0           \n\t" // add (Raw/2) + LBCarrys to Avg for each Active
                                //  byte
 
-            // Add 3rd active group (Raw(x-bpp)/2) to Average with LBCarry
-            "psllq $ShiftBpp, %%mm6      \n\t" // shift the mm6 mask to cover the last two
+            // add 3rd active group (Raw(x-bpp)/2) to average with _LBCarry
+            "psllq _ShiftBpp, %%mm6       \n\t" // shift mm6 mask to cover last two
                                  // bytes
-            "movq %%mm0, %%mm2           \n\t" // mov updated Raws to mm2
-            "psllq $ShiftBpp, %%mm2      \n\t" // shift data to position correctly
+            "movq %%mm0, %%mm2            \n\t" // mov updated Raws to mm2
+            "psllq _ShiftBpp, %%mm2       \n\t" // shift data to pos. correctly
                               // Data only needs to be shifted once here to
                               // get the correct x-bpp offset.
-            "movq %%mm3, %%mm1           \n\t" // now use mm1 for getting LBCarrys
-            "pand %%mm2, %%mm1           \n\t" // get LBCarrys for each byte where both
-                              // lsb's were == 1 (Only valid for active group)
-            "psrlq $1, %%mm2             \n\t" // divide raw bytes by 2
-            "pand  %%mm4, %%mm2          \n\t" // clear invalid bit 7 of each byte
-            "paddb %%mm1, %%mm2          \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
-            "pand %%mm6, %%mm2           \n\t" // Leave only Active Group 2 bytes to add to Avg
-            "addl $8, %%ebx              \n\t"
-            "paddb %%mm2, %%mm0          \n\t" // add (Raw/2) + LBCarrys to Avg for each Active
-                                               // byte
-            // Now ready to write back to memory
-            "movq %%mm0, -8(%%edi,%%ebx,) \n\t"
-            // Move updated Raw(x) to use as Raw(x-bpp) for next loop
-            "cmpl _MMXLength, %%ebx      \n\t"
-            "movq %%mm0, %%mm2           \n\t" // mov updated Raw(x) to mm2
-            "jb avg_3lp                  \n\t"
+            "movq %%mm3, %%mm1            \n\t" // now use mm1 for getting LBCarrys
+            "pand %%mm2, %%mm1            \n\t" // get LBCarrys for each byte where both
+                              // lsb's were == 1 (only valid for active group)
+            "psrlq $1, %%mm2              \n\t" // divide raw bytes by 2
+            "pand  %%mm4, %%mm2           \n\t" // clear invalid bit 7 of each byte
+            "paddb %%mm1, %%mm2           \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
+            "pand %%mm6, %%mm2            \n\t" // leave only Active Group 2 bytes to add to Avg
+            "addl $8, %%ecx               \n\t"
+            "paddb %%mm2, %%mm0           \n\t" // add (Raw/2) + LBCarrys to Avg for each Active
+                                                // byte
+            // now ready to write back to memory
+            "movq %%mm0, -8(%%edi,%%ecx,) \n\t"
+            // move updated Raw(x) to use as Raw(x-bpp) for next loop
+            "cmpl _MMXLength, %%ecx       \n\t"
+            "movq %%mm0, %%mm2            \n\t" // mov updated Raw(x) to mm2
+            "jb avg_3lp                   \n\t"
 
-            : // output regs/vars go here, e.g.:  "=m" (memory_var)
+            : "=S" (dummy_value_S),             // output regs (dummy)
+              "=D" (dummy_value_D)
 
-            : "S" (prev_row),  // esi          // input regs
-              "D" (row)        // edi
+            : "0" (prev_row),  // esi           // input regs
+              "1" (row)        // edi
 
-            : "%ebx", "%edi", "%esi"           // clobber list
-//            GRR: INCLUDE "memory" as clobbered? (_dif, _MMXLength)   PROBABLY
-//          , "%mm0", "%mm1", "%mm2", "%mm3",
-//            "%mm4", "%mm5", "%mm6", "%mm7"
+            : "%ecx"                            // clobber list
+#if 0  /* %mm0, ..., %mm7 not supported by gcc 2.7.2.3 or egcs 1.1 */
+            , "%mm0", "%mm1", "%mm2", "%mm3"
+            , "%mm4", "%mm5", "%mm6", "%mm7"
+#endif
          );
       }
       break;  // end 3 bpp
@@ -2664,189 +2733,207 @@
       case 6:
       case 4:
       //case 7:   // who wrote this?  PNG doesn't support 5 or 7 bytes/pixel
-      //case 5:
+      //case 5:   // GRR BOGUS
       {
-         ActiveMask.use  = 0xffffffffffffffff;  // use shift below to clear
-                                                // appropriate inactive bytes
-         ShiftBpp.use = bpp << 3;
-         ShiftRem.use = 64 - ShiftBpp.use;
-         __asm__ (
-            "movq $HBClearMask, %%mm4    \n\t"
+         _ActiveMask.use  = 0xffffffffffffffffLL; // use shift below to clear
+                                                  // appropriate inactive bytes
+         _ShiftBpp.use = bpp << 3;
+         _ShiftRem.use = 64 - _ShiftBpp.use;
 
-            // Re-init address pointers and offset
-            "movl _dif, %%ebx            \n\t" // ebx ==> x = offset to alignment boundary
+         __asm__ __volatile__ (
+            "movq _HBClearMask, %%mm4    \n\t"
 
-            // Load ActiveMask and clear all bytes except for 1st active group
-            "movq $ActiveMask, %%mm7     \n\t"
-            "movl row, %%edi             \n\t" // edi ==> Avg(x)
-            "psrlq $ShiftRem, %%mm7      \n\t"
-            "movl prev_row, %%esi        \n\t" // esi ==> Prior(x)
+            // re-init address pointers and offset
+            "movl _dif, %%ecx            \n\t" // ecx:  x = offset to alignment boundary
+
+            // load _ActiveMask and clear all bytes except for 1st active group
+            "movq _ActiveMask, %%mm7     \n\t"
+// preload  "movl row, %%edi             \n\t" // edi:  Avg(x)
+            "psrlq _ShiftRem, %%mm7      \n\t"
+// preload  "movl prev_row, %%esi        \n\t" // esi:  Prior(x)
             "movq %%mm7, %%mm6           \n\t"
-            "movq $LBCarryMask, %%mm5    \n\t"
-            "psllq $ShiftBpp, %%mm6      \n\t" // Create mask for 2nd active group
+            "movq _LBCarryMask, %%mm5    \n\t"
+            "psllq _ShiftBpp, %%mm6      \n\t" // create mask for 2nd active group
 
-            // PRIME the pump (load the first Raw(x-bpp) data set
-            "movq -8(%%edi,%%ebx,), %%mm2 \n\t" // Load previous aligned 8 bytes
-                                          // (we correct position in loop below)
+            // prime the pump:  load the first Raw(x-bpp) data set
+            "movq -8(%%edi,%%ecx,), %%mm2 \n\t" // load previous aligned 8 bytes
+                                          // (we correct pos. in loop below)
          "avg_4lp:                       \n\t"
-            "movq (%%edi,%%ebx,), %%mm0  \n\t"
-            "psrlq $ShiftRem, %%mm2      \n\t" // shift data to position correctly
-            "movq (%%esi,%%ebx,), %%mm1  \n\t"
-            // Add (Prev_row/2) to Average
+            "movq (%%edi,%%ecx,), %%mm0  \n\t"
+            "psrlq _ShiftRem, %%mm2      \n\t" // shift data to pos. correctly
+            "movq (%%esi,%%ecx,), %%mm1  \n\t"
+            // add (Prev_row/2) to average
             "movq %%mm5, %%mm3           \n\t"
             "pand %%mm1, %%mm3           \n\t" // get lsb for each prev_row byte
             "psrlq $1, %%mm1             \n\t" // divide prev_row bytes by 2
             "pand  %%mm4, %%mm1          \n\t" // clear invalid bit 7 of each byte
             "paddb %%mm1, %%mm0          \n\t" // add (Prev_row/2) to Avg for each byte
-            // Add 1st active group (Raw(x-bpp)/2) to Average with LBCarry
+            // add 1st active group (Raw(x-bpp)/2) to average with _LBCarry
             "movq %%mm3, %%mm1           \n\t" // now use mm1 for getting LBCarrys
             "pand %%mm2, %%mm1           \n\t" // get LBCarrys for each byte where both
-                              // lsb's were == 1 (Only valid for active group)
+                              // lsb's were == 1 (only valid for active group)
             "psrlq $1, %%mm2             \n\t" // divide raw bytes by 2
             "pand  %%mm4, %%mm2          \n\t" // clear invalid bit 7 of each byte
             "paddb %%mm1, %%mm2          \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
-            "pand %%mm7, %%mm2           \n\t" // Leave only Active Group 1 bytes to add to Avg
+            "pand %%mm7, %%mm2           \n\t" // leave only Active Group 1 bytes to add to Avg
             "paddb %%mm2, %%mm0          \n\t" // add (Raw/2) + LBCarrys to Avg for each Active
                               // byte
-            // Add 2nd active group (Raw(x-bpp)/2) to Average with LBCarry
+            // add 2nd active group (Raw(x-bpp)/2) to average with _LBCarry
             "movq %%mm0, %%mm2           \n\t" // mov updated Raws to mm2
-            "psllq $ShiftBpp, %%mm2      \n\t" // shift data to position correctly
-            "addl $8, %%ebx              \n\t"
+            "psllq _ShiftBpp, %%mm2      \n\t" // shift data to pos. correctly
+            "addl $8, %%ecx              \n\t"
             "movq %%mm3, %%mm1           \n\t" // now use mm1 for getting LBCarrys
             "pand %%mm2, %%mm1           \n\t" // get LBCarrys for each byte where both
-                              // lsb's were == 1 (Only valid for active group)
+                              // lsb's were == 1 (only valid for active group)
             "psrlq $1, %%mm2             \n\t" // divide raw bytes by 2
             "pand  %%mm4, %%mm2          \n\t" // clear invalid bit 7 of each byte
             "paddb %%mm1, %%mm2          \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
-            "pand %%mm6, %%mm2           \n\t" // Leave only Active Group 2 bytes to add to Avg
+            "pand %%mm6, %%mm2           \n\t" // leave only Active Group 2 bytes to add to Avg
             "paddb %%mm2, %%mm0          \n\t" // add (Raw/2) + LBCarrys to Avg for each Active
                               // byte
-            "cmpl _MMXLength, %%ebx      \n\t"
-            // Now ready to write back to memory
-            "movq %%mm0, -8(%%edi,%%ebx,) \n\t"
-            // Prep Raw(x-bpp) for next loop
+            "cmpl _MMXLength, %%ecx      \n\t"
+            // now ready to write back to memory
+            "movq %%mm0, -8(%%edi,%%ecx,) \n\t"
+            // prep Raw(x-bpp) for next loop
             "movq %%mm0, %%mm2           \n\t" // mov updated Raws to mm2
             "jb avg_4lp                  \n\t"
 
-            : // FIXASM: output regs/vars go here, e.g.:  "=m" (memory_var)
+            : "=S" (dummy_value_S),            // output regs (dummy)
+              "=D" (dummy_value_D)
 
-            : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
+            : "0" (prev_row),  // esi          // input regs
+              "1" (row)        // edi
 
-            : "%ebx", "%edi", "%esi", "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7" // CHECKASM: clobber list
+            : "%ecx"                           // clobber list
+#if 0  /* %mm0, ..., %mm7 not supported by gcc 2.7.2.3 or egcs 1.1 */
+            , "%mm0", "%mm1", "%mm2", "%mm3"
+            , "%mm4", "%mm5", "%mm6", "%mm7"
+#endif
          );
       }
       break;  // end 4,6 bpp
 
       case 2:
       {
-         ActiveMask.use  = 0x000000000000ffff;
-         ShiftBpp.use = 24;   // == 3 * 8
-         ShiftRem.use = 40;   // == 64 - 24
-         __asm__ (
-            // Load ActiveMask
-            "movq $ActiveMask, %%mm7     \n\t"
-            // Re-init address pointers and offset
-            "movl _dif, %%ebx            \n\t" // ebx ==> x = offset to alignment boundary
-            "movq $LBCarryMask, %%mm5    \n\t"
-            "movl row, %%edi             \n\t" // edi ==> Avg(x)
-            "movq $HBClearMask, %%mm4    \n\t"
-            "movl prev_row, %%esi        \n\t" // esi ==> Prior(x)
-            // PRIME the pump (load the first Raw(x-bpp) data set
-            "movq -8(%%edi,%%ebx,), %%mm2 \n\t" // Load previous aligned 8 bytes
-                              // (we correct position in loop below)
+         _ActiveMask.use  = 0x000000000000ffffLL;
+         _ShiftBpp.use = 16;   // == 2 * 8
+         _ShiftRem.use = 48;   // == 64 - 16
+
+         __asm__ __volatile__ (
+            // load _ActiveMask
+            "movq _ActiveMask, %%mm7     \n\t"
+            // re-init address pointers and offset
+            "movl _dif, %%ecx            \n\t" // ecx:  x = offset to alignment boundary
+            "movq _LBCarryMask, %%mm5    \n\t"
+// preload  "movl row, %%edi             \n\t" // edi:  Avg(x)
+            "movq _HBClearMask, %%mm4    \n\t"
+// preload  "movl prev_row, %%esi        \n\t" // esi:  Prior(x)
+
+            // prime the pump:  load the first Raw(x-bpp) data set
+            "movq -8(%%edi,%%ecx,), %%mm2 \n\t" // load previous aligned 8 bytes
+                              // (we correct pos. in loop below)
          "avg_2lp:                       \n\t"
-            "movq (%%edi,%%ebx,), %%mm0  \n\t"
-            "psllq $ShiftRem, %%mm2      \n\t" // shift data to position correctly
-            "movq (%%esi,%%ebx,), %%mm1  \n\t"
-            // Add (Prev_row/2) to Average
+            "movq (%%edi,%%ecx,), %%mm0  \n\t"
+            "psrlq _ShiftRem, %%mm2      \n\t" // shift data to pos. correctly
+            "movq (%%esi,%%ecx,), %%mm1  \n\t" //  (GRR BUGFIX:  was psllq)
+            // add (Prev_row/2) to average
             "movq %%mm5, %%mm3           \n\t"
             "pand %%mm1, %%mm3           \n\t" // get lsb for each prev_row byte
             "psrlq $1, %%mm1             \n\t" // divide prev_row bytes by 2
             "pand  %%mm4, %%mm1          \n\t" // clear invalid bit 7 of each byte
             "movq %%mm7, %%mm6           \n\t"
             "paddb %%mm1, %%mm0          \n\t" // add (Prev_row/2) to Avg for each byte
-            // Add 1st active group (Raw(x-bpp)/2) to Average with LBCarry
+
+            // add 1st active group (Raw(x-bpp)/2) to average with _LBCarry
             "movq %%mm3, %%mm1           \n\t" // now use mm1 for getting LBCarrys
             "pand %%mm2, %%mm1           \n\t" // get LBCarrys for each byte where both
-                              // lsb's were == 1 (Only valid for active group)
+                                               // lsb's were == 1 (only valid for active group)
             "psrlq $1, %%mm2             \n\t" // divide raw bytes by 2
             "pand  %%mm4, %%mm2          \n\t" // clear invalid bit 7 of each byte
             "paddb %%mm1, %%mm2          \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
-            "pand %%mm6, %%mm2           \n\t" // Leave only Active Group 1 bytes to add to Avg
-            "paddb %%mm2, %%mm0          \n\t" // add (Raw/2) + LBCarrys to Avg for each Active byte
-            // Add 2nd active group (Raw(x-bpp)/2) to Average with LBCarry
-            "psllq $ShiftBpp, %%mm6      \n\t" // shift the mm6 mask to cover bytes 2 & 3
-            "movq %%mm0, %%mm2           \n\t" // mov updated Raws to mm2
-            "psllq $ShiftBpp, %%mm2      \n\t" // shift data to position correctly
-            "movq %%mm3, %%mm1           \n\t" // now use mm1 for getting LBCarrys
-            "pand %%mm2, %%mm1           \n\t" // get LBCarrys for each byte where both
-                                // lsb's were == 1 (Only valid for active group)
-            "psrlq $1, %%mm2             \n\t" // divide raw bytes by 2
-            "pand  %%mm4, %%mm2          \n\t" // clear invalid bit 7 of each byte
-            "paddb %%mm1, %%mm2          \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
-            "pand %%mm6, %%mm2           \n\t" // Leave only Active Group 2 bytes to add to Avg
+            "pand %%mm6, %%mm2           \n\t" // leave only Active Group 1 bytes to add to Avg
             "paddb %%mm2, %%mm0          \n\t" // add (Raw/2) + LBCarrys to Avg for each Active byte
 
-            // Add rdd active group (Raw(x-bpp)/2) to Average with LBCarry
-            "psllq $ShiftBpp, %%mm6      \n\t" // shift the mm6 mask to cover bytes 4 & 5
+            // add 2nd active group (Raw(x-bpp)/2) to average with _LBCarry
+            "psllq _ShiftBpp, %%mm6      \n\t" // shift the mm6 mask to cover bytes 2 & 3
             "movq %%mm0, %%mm2           \n\t" // mov updated Raws to mm2
-            "psllq $ShiftBpp, %%mm2      \n\t" // shift data to position correctly
-                                // Data only needs to be shifted once here to
-                                // get the correct x-bpp offset.
+            "psllq _ShiftBpp, %%mm2      \n\t" // shift data to pos. correctly
             "movq %%mm3, %%mm1           \n\t" // now use mm1 for getting LBCarrys
             "pand %%mm2, %%mm1           \n\t" // get LBCarrys for each byte where both
-                                // lsb's were == 1 (Only valid for active group)
+                                               // lsb's were == 1 (only valid for active group)
             "psrlq $1, %%mm2             \n\t" // divide raw bytes by 2
             "pand  %%mm4, %%mm2          \n\t" // clear invalid bit 7 of each byte
             "paddb %%mm1, %%mm2          \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
-            "pand %%mm6, %%mm2           \n\t" // Leave only Active Group 2 bytes to add to Avg
+            "pand %%mm6, %%mm2           \n\t" // leave only Active Group 2 bytes to add to Avg
             "paddb %%mm2, %%mm0          \n\t" // add (Raw/2) + LBCarrys to Avg for each Active byte
 
-            // Add 4th active group (Raw(x-bpp)/2) to Average with LBCarry
-            "psllq $ShiftBpp, %%mm6      \n\t" // shift the mm6 mask to cover bytes 6 & 7
+            // add 3rd active group (Raw(x-bpp)/2) to average with _LBCarry
+            "psllq _ShiftBpp, %%mm6      \n\t" // shift the mm6 mask to cover bytes 4 & 5
             "movq %%mm0, %%mm2           \n\t" // mov updated Raws to mm2
-            "psllq $ShiftBpp, %%mm2      \n\t" // shift data to position correctly
-                                 // Data only needs to be shifted once here to
-                                 // get the correct x-bpp offset.
-            "addl $8, %%ebx              \n\t"
+            "psllq _ShiftBpp, %%mm2      \n\t" // shift data to pos. correctly
             "movq %%mm3, %%mm1           \n\t" // now use mm1 for getting LBCarrys
             "pand %%mm2, %%mm1           \n\t" // get LBCarrys for each byte where both
-                             // lsb's were == 1 (Only valid for active group)
+                                               // lsb's were == 1 (only valid for active group)
             "psrlq $1, %%mm2             \n\t" // divide raw bytes by 2
             "pand  %%mm4, %%mm2          \n\t" // clear invalid bit 7 of each byte
             "paddb %%mm1, %%mm2          \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
-            "pand %%mm6, %%mm2           \n\t" // Leave only Active Group 2 bytes to add to Avg
+            "pand %%mm6, %%mm2           \n\t" // leave only Active Group 2 bytes to add to Avg
             "paddb %%mm2, %%mm0          \n\t" // add (Raw/2) + LBCarrys to Avg for each Active byte
 
-            "cmpl _MMXLength, %%ebx      \n\t"
-            // Now ready to write back to memory
-            "movq %%mm0, -8(%%edi,%%ebx,) \n\t"
-            // Prep Raw(x-bpp) for next loop
+            // add 4th active group (Raw(x-bpp)/2) to average with _LBCarry
+            "psllq _ShiftBpp, %%mm6      \n\t" // shift the mm6 mask to cover bytes 6 & 7
+            "movq %%mm0, %%mm2           \n\t" // mov updated Raws to mm2
+            "psllq _ShiftBpp, %%mm2      \n\t" // shift data to pos. correctly
+            "addl $8, %%ecx              \n\t"
+            "movq %%mm3, %%mm1           \n\t" // now use mm1 for getting LBCarrys
+            "pand %%mm2, %%mm1           \n\t" // get LBCarrys for each byte where both
+                                               // lsb's were == 1 (only valid for active group)
+            "psrlq $1, %%mm2             \n\t" // divide raw bytes by 2
+            "pand  %%mm4, %%mm2          \n\t" // clear invalid bit 7 of each byte
+            "paddb %%mm1, %%mm2          \n\t" // add LBCarrys to (Raw(x-bpp)/2) for each byte
+            "pand %%mm6, %%mm2           \n\t" // leave only Active Group 2 bytes to add to Avg
+            "paddb %%mm2, %%mm0          \n\t" // add (Raw/2) + LBCarrys to Avg for each Active byte
+
+            "cmpl _MMXLength, %%ecx      \n\t"
+            // now ready to write back to memory
+            "movq %%mm0, -8(%%edi,%%ecx,) \n\t"
+            // prep Raw(x-bpp) for next loop
             "movq %%mm0, %%mm2           \n\t" // mov updated Raws to mm2
             "jb avg_2lp                  \n\t"
 
-            : // FIXASM: output regs/vars go here, e.g.:  "=m" (memory_var)
+            : "=S" (dummy_value_S),            // output regs (dummy)
+              "=D" (dummy_value_D)
 
-            : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
+            : "0" (prev_row),  // esi          // input regs
+              "1" (row)        // edi
 
-            : "%ebx", "%edi", "%esi", "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7" // CHECKASM: clobber list
+            : "%ecx"                           // clobber list
+#if 0  /* %mm0, ..., %mm7 not supported by gcc 2.7.2.3 or egcs 1.1 */
+            , "%mm0", "%mm1", "%mm2", "%mm3"
+            , "%mm4", "%mm5", "%mm6", "%mm7"
+#endif
          );
       }
       break;  // end 2 bpp
 
       case 1:
       {
-         __asm__ (
-            // Re-init address pointers and offset
-            "movl _dif, %%ebx            \n\t" // ebx ==> x = offset to alignment boundary
-            "movl row, %%edi             \n\t" // edi ==> Avg(x)
-            "cmpl _FullLength, %%ebx     \n\t" // Test if offset at end of array
+         __asm__ __volatile__ (
+            // re-init address pointers and offset
+#ifdef __PIC__
+            "pushl %%ebx                 \n\t" // save Global Offset Table index
+#endif
+            "movl _dif, %%ebx            \n\t" // ebx:  x = offset to alignment boundary
+// preload  "movl row, %%edi             \n\t" // edi:  Avg(x)
+            "cmpl _FullLength, %%ebx     \n\t" // test if offset at end of array
             "jnb avg_1end                \n\t"
-            // Do Paeth decode for remaining bytes
-            "movl prev_row, %%esi        \n\t" // esi ==> Prior(x)
+            // do Paeth decode for remaining bytes
+// preload  "movl prev_row, %%esi        \n\t" // esi:  Prior(x)
             "movl %%edi, %%edx           \n\t"
-            "xorl %%ecx, %%ecx           \n\t" // zero ecx before using cl & cx in loop below
-            "subl bpp, %%edx             \n\t" // edx ==> Raw(x-bpp)
+// preload  "subl bpp, %%edx             \n\t" // (bpp is preloaded into ecx)
+            "subl %%ecx, %%edx           \n\t" // edx:  Raw(x-bpp)
+            "xorl %%ecx, %%ecx           \n\t" // zero ecx before using cl & cx
+                                               //  in loop below
          "avg_1lp:                       \n\t"
             // Raw(x) = Avg(x) + ((Raw(x-bpp) + Prior(x))/2)
             "xorl %%eax, %%eax           \n\t"
@@ -2855,77 +2942,99 @@
             "addw %%cx, %%ax             \n\t"
             "incl %%ebx                  \n\t"
             "shrw %%ax                   \n\t" // divide by 2
-            "addb -1(%%edi,%%ebx,), %%al \n\t" // Add Avg(x); -1 to offset inc ebx
-            "cmpl _FullLength, %%ebx     \n\t" // Check if at end of array
-            "movb %%al, -1(%%edi,%%ebx,) \n\t" // Write back Raw(x);
+            "addb -1(%%edi,%%ebx,), %%al \n\t" // add Avg(x); -1 to offset inc ebx
+            "cmpl _FullLength, %%ebx     \n\t" // check if at end of array
+            "movb %%al, -1(%%edi,%%ebx,) \n\t" // write back Raw(x);
                          // mov does not affect flags; -1 to offset inc ebx
             "jb avg_1lp                  \n\t"
+
          "avg_1end:                      \n\t"
+#ifdef __PIC__
+            "popl %%ebx                  \n\t" // Global Offset Table index
+#endif
 
-            : // FIXASM: output regs/vars go here, e.g.:  "=m" (memory_var)
+            : "=c" (dummy_value_c),            // output regs (dummy)
+              "=S" (dummy_value_S),
+              "=D" (dummy_value_D)
 
-            : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
+            : "0" (bpp),       // ecx          // input regs
+              "1" (prev_row),  // esi
+              "2" (row)        // edi
 
-            : "%eax", "%ebx", "%ecx", "%edx", "%edi", "%esi" // CHECKASM: clobber list
+            : "%eax", "%edx"                   // clobber list
+#ifndef __PIC__
+            , "%ebx"
+#endif
          );
       }
       return;  // end 1 bpp
 
       case 8:
       {
-         __asm__ (
-            // Re-init address pointers and offset
-            "movl _dif, %%ebx            \n\t" // ebx ==> x = offset to alignment boundary
-            "movq $LBCarryMask, %%mm5    \n\t"
-            "movl row, %%edi             \n\t" // edi ==> Avg(x)
-            "movq $HBClearMask, %%mm4    \n\t"
-            "movl prev_row, %%esi        \n\t" // esi ==> Prior(x)
-            // PRIME the pump (load the first Raw(x-bpp) data set
-            "movq -8(%%edi,%%ebx,), %%mm2 \n\t" // Load previous aligned 8 bytes
-                                // (NO NEED to correct position in loop below)
+         __asm__ __volatile__ (
+            // re-init address pointers and offset
+            "movl _dif, %%ecx            \n\t" // ecx:  x == offset to alignment
+            "movq _LBCarryMask, %%mm5    \n\t" //            boundary
+// preload  "movl row, %%edi             \n\t" // edi:  Avg(x)
+            "movq _HBClearMask, %%mm4    \n\t"
+// preload  "movl prev_row, %%esi        \n\t" // esi:  Prior(x)
+
+            // prime the pump:  load the first Raw(x-bpp) data set
+            "movq -8(%%edi,%%ecx,), %%mm2 \n\t" // load previous aligned 8 bytes
+                                      // (NO NEED to correct pos. in loop below)
+
          "avg_8lp:                       \n\t"
-            "movq (%%edi,%%ebx,), %%mm0  \n\t"
+            "movq (%%edi,%%ecx,), %%mm0  \n\t"
             "movq %%mm5, %%mm3           \n\t"
-            "movq (%%esi,%%ebx,), %%mm1  \n\t"
-            "addl $8, %%ebx              \n\t"
+            "movq (%%esi,%%ecx,), %%mm1  \n\t"
+            "addl $8, %%ecx              \n\t"
             "pand %%mm1, %%mm3           \n\t" // get lsb for each prev_row byte
             "psrlq $1, %%mm1             \n\t" // divide prev_row bytes by 2
-            "pand %%mm2, %%mm3           \n\t" // get LBCarrys for each byte where both
-                                // lsb's were == 1
+            "pand %%mm2, %%mm3           \n\t" // get LBCarrys for each byte
+                                               //  where both lsb's were == 1
             "psrlq $1, %%mm2             \n\t" // divide raw bytes by 2
-            "pand  %%mm4, %%mm1          \n\t" // clear invalid bit 7 of each byte
-            "paddb %%mm3, %%mm0          \n\t" // add LBCarrys to Avg for each byte
-            "pand  %%mm4, %%mm2          \n\t" // clear invalid bit 7 of each byte
-            "paddb %%mm1, %%mm0          \n\t" // add (Prev_row/2) to Avg for each byte
-            "paddb %%mm2, %%mm0          \n\t" // add (Raw/2) to Avg for each byte
-            "cmpl _MMXLength, %%ebx      \n\t"
-            "movq %%mm0, -8(%%edi,%%ebx,) \n\t"
+            "pand  %%mm4, %%mm1          \n\t" // clear invalid bit 7, each byte
+            "paddb %%mm3, %%mm0          \n\t" // add LBCarrys to Avg, each byte
+            "pand  %%mm4, %%mm2          \n\t" // clear invalid bit 7, each byte
+            "paddb %%mm1, %%mm0          \n\t" // add (Prev_row/2) to Avg, each
+            "paddb %%mm2, %%mm0          \n\t" // add (Raw/2) to Avg for each
+            "cmpl _MMXLength, %%ecx      \n\t"
+            "movq %%mm0, -8(%%edi,%%ecx,) \n\t"
             "movq %%mm0, %%mm2           \n\t" // reuse as Raw(x-bpp)
             "jb avg_8lp                  \n\t"
 
-            : // FIXASM: output regs/vars go here, e.g.:  "=m" (memory_var)
+            : "=S" (dummy_value_S),            // output regs (dummy)
+              "=D" (dummy_value_D)
 
-            : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
+            : "0" (prev_row),  // esi          // input regs
+              "1" (row)        // edi
 
-            : "%ebx", "%edi", "%esi", "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5" // CHECKASM: clobber list
+            : "%ecx"                           // clobber list
+#if 0  /* %mm0, ..., %mm5 not supported by gcc 2.7.2.3 or egcs 1.1 */
+            , "%mm0", "%mm1", "%mm2"
+            , "%mm3", "%mm4", "%mm5"
+#endif
          );
       }
       break;  // end 8 bpp
 
-      default:                  // bpp greater than 8 (!= 1,2,3,4,6,8)
+      default:                  // bpp greater than 8 (!= 1,2,3,4,[5],6,[7],8)
       {
 
-      GRR:  PRINT ERROR HERE:  SHOULD NEVER BE REACHED (unless smaller than 1?)
+         // GRR:  PRINT ERROR HERE:  SHOULD NEVER BE REACHED
+         fprintf(stderr,
+           "libpng:  internal logic error (png_read_filter_row_mmx_avg())\n");
 
-        __asm__ (
-            "movq $LBCarryMask, %%mm5    \n\t"
-            // Re-init address pointers and offset
-            "movl _dif, %%ebx            \n\t" // ebx ==> x = offset to alignment boundary
-            "movl row, %%edi             \n\t" // edi ==> Avg(x)
-            "movq $HBClearMask, %%mm4    \n\t"
+#if 0
+        __asm__ __volatile__ (
+            "movq _LBCarryMask, %%mm5    \n\t"
+            // re-init address pointers and offset
+            "movl _dif, %%ebx            \n\t" // ebx:  x = offset to alignment boundary
+            "movl row, %%edi             \n\t" // edi:  Avg(x)
+            "movq _HBClearMask, %%mm4    \n\t"
             "movl %%edi, %%edx           \n\t"
-            "movl prev_row, %%esi        \n\t" // esi ==> Prior(x)
-            "subl bpp, %%edx             \n\t" // edx ==> Raw(x-bpp)
+            "movl prev_row, %%esi        \n\t" // esi:  Prior(x)
+            "subl bpp, %%edx             \n\t" // edx:  Raw(x-bpp)
          "avg_Alp:                       \n\t"
             "movq (%%edi,%%ebx,), %%mm0  \n\t"
             "movq %%mm5, %%mm3           \n\t"
@@ -2950,24 +3059,32 @@
 
             : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
 
-            : "%ebx", "%edx", "%edi", "%esi", "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5" // CHECKASM: clobber list
+            : "%ebx", "%edx", "%edi", "%esi" // CHECKASM: clobber list
          );
+#endif /* 0 - NEVER REACHED */
       }
       break;
-   }                         // end switch ( bpp )
 
-   __asm__ (
-      // MMX acceleration complete now do clean-up
-      // Check if any remaining bytes left to decode
-      "movl _MMXLength, %%ebx      \n\t" // ebx ==> x = offset bytes remaining after MMX
-      "movl row, %%edi             \n\t" // edi ==> Avg(x)
-      "cmpl _FullLength, %%ebx     \n\t" // Test if offset at end of array
+   } // end switch (bpp)
+
+   __asm__ __volatile__ (
+      // MMX acceleration complete; now do clean-up
+      // check if any remaining bytes left to decode
+#ifdef __PIC__
+      "pushl %%ebx                 \n\t" // save index to Global Offset Table
+#endif
+      "movl _MMXLength, %%ebx      \n\t" // ebx:  x == offset bytes after MMX
+//pre "movl row, %%edi             \n\t" // edi:  Avg(x)
+      "cmpl _FullLength, %%ebx     \n\t" // test if offset at end of array
       "jnb avg_end                 \n\t"
-      // Do Paeth decode for remaining bytes
-      "movl prev_row, %%esi        \n\t" // esi ==> Prior(x)
+
+      // do Avg decode for remaining bytes
+//pre "movl prev_row, %%esi        \n\t" // esi:  Prior(x)
       "movl %%edi, %%edx           \n\t"
-      "xorl %%ecx, %%ecx           \n\t" // zero ecx before using cl & cx in loop below
-      "subl bpp, %%edx             \n\t" // edx ==> Raw(x-bpp)
+//pre "subl bpp, %%edx             \n\t" // (bpp is preloaded into ecx)
+      "subl %%ecx, %%edx           \n\t" // edx:  Raw(x-bpp)
+      "xorl %%ecx, %%ecx           \n\t" // zero ecx before using cl & cx below
+
    "avg_lp2:                       \n\t"
       // Raw(x) = Avg(x) + ((Raw(x-bpp) + Prior(x))/2)
       "xorl %%eax, %%eax           \n\t"
@@ -2976,39 +3093,64 @@
       "addw %%cx, %%ax             \n\t"
       "incl %%ebx                  \n\t"
       "shrw %%ax                   \n\t" // divide by 2
-      "addb -1(%%edi,%%ebx,), %%al \n\t" // Add Avg(x); -1 to offset inc ebx
-      "cmpl _FullLength, %%ebx     \n\t" // Check if at end of array
-      "movb %%al, -1(%%edi,%%ebx,) \n\t" // Write back Raw(x);
-                       // mov does not affect flags; -1 to offset inc ebx
-      "jb avg_lp2                  \n\t"
+      "addb -1(%%edi,%%ebx,), %%al \n\t" // add Avg(x); -1 to offset inc ebx
+      "cmpl _FullLength, %%ebx     \n\t" // check if at end of array
+      "movb %%al, -1(%%edi,%%ebx,) \n\t" // write back Raw(x) [mov does not
+      "jb avg_lp2                  \n\t" //  affect flags; -1 to offset inc ebx]
+
    "avg_end:                       \n\t"
-      "emms                        \n\t" // End MMX instructions; prep for possible FP instrs.
+      "EMMS                        \n\t" // end MMX; prep for poss. FP instrs.
+#ifdef __PIC__
+      "popl %%ebx                  \n\t" // restore index to Global Offset Table
+#endif
 
-      : // FIXASM: output regs/vars go here, e.g.:  "=m" (memory_var)
+      : "=c" (dummy_value_c),            // output regs (dummy)
+        "=S" (dummy_value_S),
+        "=D" (dummy_value_D)
 
-      : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
+      : "0" (bpp),       // ecx          // input regs
+        "1" (prev_row),  // esi
+        "2" (row)        // edi
 
-      : "%eax", "%ebx", "%ecx", "%edx", "%edi", "%esi" // CHECKASM: clobber list
+      : "%eax", "%edx"                   // clobber list
+#ifndef __PIC__
+      , "%ebx"
+#endif
    );
-#endif /* GRR_GCC_MMX_CONVERTED */
-}
+
+} /* end png_read_filter_row_mmx_avg() */
+
+
+
+
+//===========================================================================//
+//                                                                           //
+//         P N G _ R E A D _ F I L T E R _ R O W _ M M X _ P A E T H         //
+//                                                                           //
+//===========================================================================//
 
 // Optimized code for PNG Paeth filter decoder
-void /* PRIVATE */
+
+static void /* PRIVATE */
 png_read_filter_row_mmx_paeth(png_row_infop row_info, png_bytep row,
                               png_bytep prev_row)
 {
-#ifdef GRR_GCC_MMX_CONVERTED
    int bpp;
-   int patemp, pbtemp, pctemp;
+   int dummy_value_c;   // fix 'forbidden register 2 (cx) was spilled' error
+   int dummy_value_S;
+   int dummy_value_D;
 
    bpp = (row_info->pixel_depth + 7) >> 3; // Get # bytes per pixel
    _FullLength  = row_info->rowbytes; // # of bytes to filter
-   __asm__ (
-      "xorl %%ebx, %%ebx           \n\t" // ebx ==> x offset
-      "movl row, %%edi             \n\t"
-      "xorl %%edx, %%edx           \n\t" // edx ==> x-bpp offset
-      "movl prev_row, %%esi        \n\t"
+
+   __asm__ __volatile__ (
+#ifdef __PIC__
+      "pushl %%ebx                 \n\t" // save index to Global Offset Table
+#endif
+      "xorl %%ebx, %%ebx           \n\t" // ebx:  x offset
+//pre "movl row, %%edi             \n\t"
+      "xorl %%edx, %%edx           \n\t" // edx:  x-bpp offset
+//pre "movl prev_row, %%esi        \n\t"
       "xorl %%eax, %%eax           \n\t"
 
       // Compute the Raw value for the first bpp bytes
@@ -3018,7 +3160,8 @@
       "movb (%%edi,%%ebx,), %%al   \n\t"
       "addb (%%esi,%%ebx,), %%al   \n\t"
       "incl %%ebx                  \n\t"
-      "cmpl bpp, %%ebx             \n\t"
+//pre "cmpl bpp, %%ebx             \n\t" (bpp is preloaded into ecx)
+      "cmpl %%ecx, %%ebx           \n\t"
       "movb %%al, -1(%%edi,%%ebx,) \n\t"
       "jb paeth_rlp                \n\t"
       // get # of bytes to alignment
@@ -3030,62 +3173,70 @@
       "subl %%edi, _dif            \n\t" // subtract from start ==> value ebx at alignment
       "jz paeth_go                 \n\t"
       // fix alignment
+
    "paeth_lp1:                     \n\t"
       "xorl %%eax, %%eax           \n\t"
       // pav = p - a = (a + b - c) - a = b - c
       "movb (%%esi,%%ebx,), %%al   \n\t" // load Prior(x) into al
       "movb (%%esi,%%edx,), %%cl   \n\t" // load Prior(x-bpp) into cl
       "subl %%ecx, %%eax           \n\t" // subtract Prior(x-bpp)
-      "movl %%eax, patemp          \n\t" // Save pav for later use
+      "movl %%eax, _patemp         \n\t" // Save pav for later use
       "xorl %%eax, %%eax           \n\t"
       // pbv = p - b = (a + b - c) - b = a - c
       "movb (%%edi,%%edx,), %%al   \n\t" // load Raw(x-bpp) into al
       "subl %%ecx, %%eax           \n\t" // subtract Prior(x-bpp)
       "movl %%eax, %%ecx           \n\t"
       // pcv = p - c = (a + b - c) -c = (a - c) + (b - c) = pav + pbv
-      "addl patemp, %%eax          \n\t" // pcv = pav + pbv
+      "addl _patemp, %%eax         \n\t" // pcv = pav + pbv
       // pc = abs(pcv)
       "testl $0x80000000, %%eax    \n\t"
       "jz paeth_pca                \n\t"
       "negl %%eax                  \n\t" // reverse sign of neg values
+
    "paeth_pca:                     \n\t"
-      "movl %%eax, pctemp          \n\t" // save pc for later use
+      "movl %%eax, _pctemp         \n\t" // save pc for later use
       // pb = abs(pbv)
       "testl $0x80000000, %%ecx    \n\t"
       "jz paeth_pba                \n\t"
       "negl %%ecx                  \n\t" // reverse sign of neg values
+
    "paeth_pba:                     \n\t"
-      "movl %%ecx, pbtemp          \n\t" // save pb for later use
+      "movl %%ecx, _pbtemp         \n\t" // save pb for later use
       // pa = abs(pav)
-      "movl patemp, %%eax          \n\t"
+      "movl _patemp, %%eax         \n\t"
       "testl $0x80000000, %%eax    \n\t"
       "jz paeth_paa                \n\t"
       "negl %%eax                  \n\t" // reverse sign of neg values
+
    "paeth_paa:                     \n\t"
-      "movl %%eax, patemp          \n\t" // save pa for later use
+      "movl %%eax, _patemp         \n\t" // save pa for later use
       // test if pa <= pb
       "cmpl %%ecx, %%eax           \n\t"
       "jna paeth_abb               \n\t"
       // pa > pb; now test if pb <= pc
-      "cmpl pctemp, %%ecx          \n\t"
+      "cmpl _pctemp, %%ecx         \n\t"
       "jna paeth_bbc               \n\t"
       // pb > pc; Raw(x) = Paeth(x) + Prior(x-bpp)
       "movb (%%esi,%%edx,), %%cl   \n\t" // load Prior(x-bpp) into cl
       "jmp paeth_paeth             \n\t"
+
    "paeth_bbc:                     \n\t"
       // pb <= pc; Raw(x) = Paeth(x) + Prior(x)
       "movb (%%esi,%%ebx,), %%cl   \n\t" // load Prior(x) into cl
       "jmp paeth_paeth             \n\t"
+
    "paeth_abb:                     \n\t"
       // pa <= pb; now test if pa <= pc
-      "cmpl pctemp, %%eax          \n\t"
+      "cmpl _pctemp, %%eax         \n\t"
       "jna paeth_abc               \n\t"
       // pa > pc; Raw(x) = Paeth(x) + Prior(x-bpp)
       "movb (%%esi,%%edx,), %%cl   \n\t" // load Prior(x-bpp) into cl
       "jmp paeth_paeth             \n\t"
+
    "paeth_abc:                     \n\t"
       // pa <= pc; Raw(x) = Paeth(x) + Raw(x-bpp)
       "movb (%%edi,%%edx,), %%cl   \n\t" // load Raw(x-bpp) into cl
+
    "paeth_paeth:                   \n\t"
       "incl %%ebx                  \n\t"
       "incl %%edx                  \n\t"
@@ -3093,6 +3244,7 @@
       "addb %%cl, -1(%%edi,%%ebx,) \n\t"
       "cmpl _dif, %%ebx            \n\t"
       "jb paeth_lp1                \n\t"
+
    "paeth_go:                      \n\t"
       "movl _FullLength, %%ecx     \n\t"
       "movl %%ecx, %%eax           \n\t"
@@ -3100,40 +3252,51 @@
       "andl $0x00000007, %%eax     \n\t" // calc bytes over mult of 8
       "subl %%eax, %%ecx           \n\t" // drop over bytes from original length
       "movl %%ecx, _MMXLength      \n\t"
+#ifdef __PIC__
+      "popl %%ebx                  \n\t" // restore index to Global Offset Table
+#endif
 
-      : // FIXASM: output regs/vars go here, e.g.:  "=m" (memory_var)
+      : "=c" (dummy_value_c),            // output regs (dummy)
+        "=S" (dummy_value_S),
+        "=D" (dummy_value_D)
 
-      : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
+      : "0" (bpp),       // ecx          // input regs
+        "1" (prev_row),  // esi
+        "2" (row)        // edi
 
-      : "%eax", "%ebx", "%ecx", "%edx", "%edi", "%esi" // CHECKASM: clobber list
+      : "%eax", "%edx"                   // clobber list
+#ifndef __PIC__
+      , "%ebx"
+#endif
    );
 
-   // Now do the math for the rest of the row
-   switch ( bpp )
+   // now do the math for the rest of the row
+   switch (bpp)
    {
       case 3:
       {
-         ActiveMask.use = 0x0000000000ffffff;
-         ActiveMaskEnd.use = 0xffff000000000000;
-         ShiftBpp.use = 24;    // == bpp(3) * 8
-         ShiftRem.use = 40;    // == 64 - 24
-         __asm__ (
-            "movl _dif, %%ebx            \n\t"
-            "movl row, %%edi             \n\t"
-            "movl prev_row, %%esi        \n\t"
+         _ActiveMask.use = 0x0000000000ffffffLL;
+         _ActiveMaskEnd.use = 0xffff000000000000LL;
+         _ShiftBpp.use = 24;    // == bpp(3) * 8
+         _ShiftRem.use = 40;    // == 64 - 24
+
+         __asm__ __volatile__ (
+            "movl _dif, %%ecx            \n\t"
+// preload  "movl row, %%edi             \n\t"
+// preload  "movl prev_row, %%esi        \n\t"
             "pxor %%mm0, %%mm0           \n\t"
-            // PRIME the pump (load the first Raw(x-bpp) data set
-            "movq -8(%%edi,%%ebx,), %%mm1 \n\t"
+            // prime the pump:  load the first Raw(x-bpp) data set
+            "movq -8(%%edi,%%ecx,), %%mm1 \n\t"
          "paeth_3lp:                     \n\t"
-            "psrlq $ShiftRem, %%mm1      \n\t" // shift last 3 bytes to 1st 3 bytes
-            "movq (%%esi,%%ebx,), %%mm2  \n\t" // load b=Prior(x)
-            "punpcklbw %%mm0, %%mm1      \n\t" // Unpack High bytes of a
-            "movq -8(%%esi,%%ebx,), %%mm3 \n\t" // Prep c=Prior(x-bpp) bytes
-            "punpcklbw %%mm0, %%mm2      \n\t" // Unpack High bytes of b
-            "psrlq $ShiftRem, %%mm3      \n\t" // shift last 3 bytes to 1st 3 bytes
+            "psrlq _ShiftRem, %%mm1      \n\t" // shift last 3 bytes to 1st 3 bytes
+            "movq (%%esi,%%ecx,), %%mm2  \n\t" // load b=Prior(x)
+            "punpcklbw %%mm0, %%mm1      \n\t" // unpack High bytes of a
+            "movq -8(%%esi,%%ecx,), %%mm3 \n\t" // prep c=Prior(x-bpp) bytes
+            "punpcklbw %%mm0, %%mm2      \n\t" // unpack High bytes of b
+            "psrlq _ShiftRem, %%mm3      \n\t" // shift last 3 bytes to 1st 3 bytes
             // pav = p - a = (a + b - c) - a = b - c
             "movq %%mm2, %%mm4           \n\t"
-            "punpcklbw %%mm0, %%mm3      \n\t" // Unpack High bytes of c
+            "punpcklbw %%mm0, %%mm3      \n\t" // unpack High bytes of c
             // pbv = p - b = (a + b - c) - b = a - c
             "movq %%mm1, %%mm5           \n\t"
             "psubw %%mm3, %%mm4          \n\t"
@@ -3145,17 +3308,17 @@
             // pa = abs(p-a) = abs(pav)
             // pb = abs(p-b) = abs(pbv)
             // pc = abs(p-c) = abs(pcv)
-            "pcmpgtw %%mm4, %%mm0        \n\t" // Create mask pav bytes < 0
+            "pcmpgtw %%mm4, %%mm0        \n\t" // create mask pav bytes < 0
             "paddw %%mm5, %%mm6          \n\t"
-            "pand %%mm4, %%mm0           \n\t" // Only pav bytes < 0 in mm7
-            "pcmpgtw %%mm5, %%mm7        \n\t" // Create mask pbv bytes < 0
+            "pand %%mm4, %%mm0           \n\t" // only pav bytes < 0 in mm7
+            "pcmpgtw %%mm5, %%mm7        \n\t" // create mask pbv bytes < 0
             "psubw %%mm0, %%mm4          \n\t"
-            "pand %%mm5, %%mm7           \n\t" // Only pbv bytes < 0 in mm0
+            "pand %%mm5, %%mm7           \n\t" // only pbv bytes < 0 in mm0
             "psubw %%mm0, %%mm4          \n\t"
             "psubw %%mm7, %%mm5          \n\t"
             "pxor %%mm0, %%mm0           \n\t"
-            "pcmpgtw %%mm6, %%mm0        \n\t" // Create mask pcv bytes < 0
-            "pand %%mm6, %%mm0           \n\t" // Only pav bytes < 0 in mm7
+            "pcmpgtw %%mm6, %%mm0        \n\t" // create mask pcv bytes < 0
+            "pand %%mm6, %%mm0           \n\t" // only pav bytes < 0 in mm7
             "psubw %%mm7, %%mm5          \n\t"
             "psubw %%mm0, %%mm6          \n\t"
             //  test pa <= pb
@@ -3179,18 +3342,18 @@
             "paddw %%mm3, %%mm7          \n\t"
             "pxor %%mm0, %%mm0           \n\t"
             "packuswb %%mm1, %%mm7       \n\t"
-            "movq (%%esi,%%ebx,), %%mm3  \n\t" // load c=Prior(x-bpp)
-            "pand $ActiveMask, %%mm7     \n\t"
+            "movq (%%esi,%%ecx,), %%mm3  \n\t" // load c=Prior(x-bpp)
+            "pand _ActiveMask, %%mm7     \n\t"
             "movq %%mm3, %%mm2           \n\t" // load b=Prior(x) step 1
-            "paddb (%%edi,%%ebx,), %%mm7 \n\t" // add Paeth predictor with Raw(x)
-            "punpcklbw %%mm0, %%mm3      \n\t" // Unpack High bytes of c
-            "movq %%mm7, (%%edi,%%ebx,)  \n\t" // write back updated value
-            "movq %%mm7, %%mm1           \n\t" // Now mm1 will be used as Raw(x-bpp)
-            // Now do Paeth for 2nd set of bytes (3-5)
-            "psrlq $ShiftBpp, %%mm2      \n\t" // load b=Prior(x) step 2
-            "punpcklbw %%mm0, %%mm1      \n\t" // Unpack High bytes of a
+            "paddb (%%edi,%%ecx,), %%mm7 \n\t" // add Paeth predictor with Raw(x)
+            "punpcklbw %%mm0, %%mm3      \n\t" // unpack High bytes of c
+            "movq %%mm7, (%%edi,%%ecx,)  \n\t" // write back updated value
+            "movq %%mm7, %%mm1           \n\t" // now mm1 will be used as Raw(x-bpp)
+            // now do Paeth for 2nd set of bytes (3-5)
+            "psrlq _ShiftBpp, %%mm2      \n\t" // load b=Prior(x) step 2
+            "punpcklbw %%mm0, %%mm1      \n\t" // unpack High bytes of a
             "pxor %%mm7, %%mm7           \n\t"
-            "punpcklbw %%mm0, %%mm2      \n\t" // Unpack High bytes of b
+            "punpcklbw %%mm0, %%mm2      \n\t" // unpack High bytes of b
             // pbv = p - b = (a + b - c) - b = a - c
             "movq %%mm1, %%mm5           \n\t"
             // pav = p - a = (a + b - c) - a = b - c
@@ -3205,17 +3368,17 @@
             // pa = abs(p-a) = abs(pav)
             // pb = abs(p-b) = abs(pbv)
             // pc = abs(p-c) = abs(pcv)
-            "pcmpgtw %%mm5, %%mm0        \n\t" // Create mask pbv bytes < 0
-            "pcmpgtw %%mm4, %%mm7        \n\t" // Create mask pav bytes < 0
-            "pand %%mm5, %%mm0           \n\t" // Only pbv bytes < 0 in mm0
-            "pand %%mm4, %%mm7           \n\t" // Only pav bytes < 0 in mm7
+            "pcmpgtw %%mm5, %%mm0        \n\t" // create mask pbv bytes < 0
+            "pcmpgtw %%mm4, %%mm7        \n\t" // create mask pav bytes < 0
+            "pand %%mm5, %%mm0           \n\t" // only pbv bytes < 0 in mm0
+            "pand %%mm4, %%mm7           \n\t" // only pav bytes < 0 in mm7
             "psubw %%mm0, %%mm5          \n\t"
             "psubw %%mm7, %%mm4          \n\t"
             "psubw %%mm0, %%mm5          \n\t"
             "psubw %%mm7, %%mm4          \n\t"
             "pxor %%mm0, %%mm0           \n\t"
-            "pcmpgtw %%mm6, %%mm0        \n\t" // Create mask pcv bytes < 0
-            "pand %%mm6, %%mm0           \n\t" // Only pav bytes < 0 in mm7
+            "pcmpgtw %%mm6, %%mm0        \n\t" // create mask pcv bytes < 0
+            "pand %%mm6, %%mm0           \n\t" // only pav bytes < 0 in mm7
             "psubw %%mm0, %%mm6          \n\t"
             //  test pa <= pb
             "movq %%mm4, %%mm7           \n\t"
@@ -3232,7 +3395,7 @@
             "paddw %%mm2, %%mm0          \n\t"
             //  test  ((pa <= pb)? pa:pb) <= pc
             "pcmpgtw %%mm6, %%mm7        \n\t" // pab > pc?
-            "movq (%%esi,%%ebx,), %%mm2  \n\t" // load b=Prior(x)
+            "movq (%%esi,%%ecx,), %%mm2  \n\t" // load b=Prior(x)
             "pand %%mm7, %%mm3           \n\t"
             "pandn %%mm0, %%mm7          \n\t"
             "pxor %%mm1, %%mm1           \n\t"
@@ -3240,21 +3403,21 @@
             "pxor %%mm0, %%mm0           \n\t"
             "packuswb %%mm1, %%mm7       \n\t"
             "movq %%mm2, %%mm3           \n\t" // load c=Prior(x-bpp) step 1
-            "pand $ActiveMask, %%mm7     \n\t"
-            "punpckhbw %%mm0, %%mm2      \n\t" // Unpack High bytes of b
-            "psllq $ShiftBpp, %%mm7      \n\t" // Shift bytes to 2nd group of 3 bytes
+            "pand _ActiveMask, %%mm7     \n\t"
+            "punpckhbw %%mm0, %%mm2      \n\t" // unpack High bytes of b
+            "psllq _ShiftBpp, %%mm7      \n\t" // shift bytes to 2nd group of 3 bytes
              // pav = p - a = (a + b - c) - a = b - c
             "movq %%mm2, %%mm4           \n\t"
-            "paddb (%%edi,%%ebx,), %%mm7 \n\t" // add Paeth predictor with Raw(x)
-            "psllq $ShiftBpp, %%mm3      \n\t" // load c=Prior(x-bpp) step 2
-            "movq %%mm7, (%%edi,%%ebx,)  \n\t" // write back updated value
+            "paddb (%%edi,%%ecx,), %%mm7 \n\t" // add Paeth predictor with Raw(x)
+            "psllq _ShiftBpp, %%mm3      \n\t" // load c=Prior(x-bpp) step 2
+            "movq %%mm7, (%%edi,%%ecx,)  \n\t" // write back updated value
             "movq %%mm7, %%mm1           \n\t"
-            "punpckhbw %%mm0, %%mm3      \n\t" // Unpack High bytes of c
-            "psllq $ShiftBpp, %%mm1      \n\t" // Shift bytes
-                                    // Now mm1 will be used as Raw(x-bpp)
-            // Now do Paeth for 3rd, and final, set of bytes (6-7)
+            "punpckhbw %%mm0, %%mm3      \n\t" // unpack High bytes of c
+            "psllq _ShiftBpp, %%mm1      \n\t" // shift bytes
+                                    // now mm1 will be used as Raw(x-bpp)
+            // now do Paeth for 3rd, and final, set of bytes (6-7)
             "pxor %%mm7, %%mm7           \n\t"
-            "punpckhbw %%mm0, %%mm1      \n\t" // Unpack High bytes of a
+            "punpckhbw %%mm0, %%mm1      \n\t" // unpack High bytes of a
             "psubw %%mm3, %%mm4          \n\t"
             // pbv = p - b = (a + b - c) - b = a - c
             "movq %%mm1, %%mm5           \n\t"
@@ -3267,17 +3430,17 @@
             // pa = abs(p-a) = abs(pav)
             // pb = abs(p-b) = abs(pbv)
             // pc = abs(p-c) = abs(pcv)
-            "pcmpgtw %%mm4, %%mm0        \n\t" // Create mask pav bytes < 0
-            "pcmpgtw %%mm5, %%mm7        \n\t" // Create mask pbv bytes < 0
-            "pand %%mm4, %%mm0           \n\t" // Only pav bytes < 0 in mm7
-            "pand %%mm5, %%mm7           \n\t" // Only pbv bytes < 0 in mm0
+            "pcmpgtw %%mm4, %%mm0        \n\t" // create mask pav bytes < 0
+            "pcmpgtw %%mm5, %%mm7        \n\t" // create mask pbv bytes < 0
+            "pand %%mm4, %%mm0           \n\t" // only pav bytes < 0 in mm7
+            "pand %%mm5, %%mm7           \n\t" // only pbv bytes < 0 in mm0
             "psubw %%mm0, %%mm4          \n\t"
             "psubw %%mm7, %%mm5          \n\t"
             "psubw %%mm0, %%mm4          \n\t"
             "psubw %%mm7, %%mm5          \n\t"
             "pxor %%mm0, %%mm0           \n\t"
-            "pcmpgtw %%mm6, %%mm0        \n\t" // Create mask pcv bytes < 0
-            "pand %%mm6, %%mm0           \n\t" // Only pav bytes < 0 in mm7
+            "pcmpgtw %%mm6, %%mm0        \n\t" // create mask pcv bytes < 0
+            "pand %%mm6, %%mm0           \n\t" // only pav bytes < 0 in mm7
             "psubw %%mm0, %%mm6          \n\t"
             //  test pa <= pb
             "movq %%mm4, %%mm7           \n\t"
@@ -3299,55 +3462,63 @@
             "paddw %%mm3, %%mm7          \n\t"
             "pxor %%mm1, %%mm1           \n\t"
             "packuswb %%mm7, %%mm1       \n\t"
-            // Step ebx to next set of 8 bytes and repeat loop til done
-            "addl $8, %%ebx              \n\t"
-            "pand $ActiveMaskEnd, %%mm1  \n\t"
-            "paddb -8(%%edi,%%ebx,), %%mm1 \n\t" // add Paeth predictor with Raw(x)
+            // step ecx to next set of 8 bytes and repeat loop til done
+            "addl $8, %%ecx              \n\t"
+            "pand _ActiveMaskEnd, %%mm1  \n\t"
+            "paddb -8(%%edi,%%ecx,), %%mm1 \n\t" // add Paeth predictor with Raw(x)
 
-            "cmpl _MMXLength, %%ebx      \n\t"
+            "cmpl _MMXLength, %%ecx      \n\t"
             "pxor %%mm0, %%mm0           \n\t" // pxor does not affect flags
-            "movq %%mm1, -8(%%edi,%%ebx,) \n\t" // write back updated value
+            "movq %%mm1, -8(%%edi,%%ecx,) \n\t" // write back updated value
                                  // mm1 will be used as Raw(x-bpp) next loop
                            // mm3 ready to be used as Prior(x-bpp) next loop
             "jb paeth_3lp                \n\t"
 
-            : // FIXASM: output regs/vars go here, e.g.:  "=m" (memory_var)
+            : "=S" (dummy_value_S),             // output regs (dummy)
+              "=D" (dummy_value_D)
 
-            : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
+            : "0" (prev_row),  // esi           // input regs
+              "1" (row)        // edi
 
-            : "%ebx", "%edi", "%esi", "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7" // CHECKASM: clobber list
+            : "%ecx"                            // clobber list
+#if 0  /* %mm0, ..., %mm7 not supported by gcc 2.7.2.3 or egcs 1.1 */
+            , "%mm0", "%mm1", "%mm2", "%mm3"
+            , "%mm4", "%mm5", "%mm6", "%mm7"
+#endif
          );
       }
-      break;
+      break;  // end 3 bpp
 
       case 6:
       //case 7:   // GRR BOGUS
       //case 5:   // GRR BOGUS
       {
-         ActiveMask.use  = 0x00000000ffffffff;
-         ActiveMask2.use = 0xffffffff00000000;
-         ShiftBpp.use = bpp << 3;    // == bpp * 8
-         ShiftRem.use = 64 - ShiftBpp.use;
-         __asm__ (
-            "movl _dif, %%ebx            \n\t"
-            "movl row, %%edi             \n\t"
-            "movl prev_row, %%esi        \n\t"
-            // PRIME the pump (load the first Raw(x-bpp) data set
-            "movq -8(%%edi,%%ebx,), %%mm1 \n\t"
+         _ActiveMask.use  = 0x00000000ffffffffLL;
+         _ActiveMask2.use = 0xffffffff00000000LL;
+         _ShiftBpp.use = bpp << 3;    // == bpp * 8
+         _ShiftRem.use = 64 - _ShiftBpp.use;
+
+         __asm__ __volatile__ (
+            "movl _dif, %%ecx            \n\t"
+// preload  "movl row, %%edi             \n\t"
+// preload  "movl prev_row, %%esi        \n\t"
+            // prime the pump:  load the first Raw(x-bpp) data set
+            "movq -8(%%edi,%%ecx,), %%mm1 \n\t"
             "pxor %%mm0, %%mm0           \n\t"
+
          "paeth_6lp:                     \n\t"
-            // Must shift to position Raw(x-bpp) data
-            "psrlq $ShiftRem, %%mm1      \n\t"
-            // Do first set of 4 bytes
-            "movq -8(%%esi,%%ebx,), %%mm3 \n\t" // read c=Prior(x-bpp) bytes
-            "punpcklbw %%mm0, %%mm1      \n\t" // Unpack Low bytes of a
-            "movq (%%esi,%%ebx,), %%mm2  \n\t" // load b=Prior(x)
-            "punpcklbw %%mm0, %%mm2      \n\t" // Unpack Low bytes of b
-            // Must shift to position Prior(x-bpp) data
-            "psrlq $ShiftRem, %%mm3      \n\t"
+            // must shift to position Raw(x-bpp) data
+            "psrlq _ShiftRem, %%mm1      \n\t"
+            // do first set of 4 bytes
+            "movq -8(%%esi,%%ecx,), %%mm3 \n\t" // read c=Prior(x-bpp) bytes
+            "punpcklbw %%mm0, %%mm1      \n\t" // unpack Low bytes of a
+            "movq (%%esi,%%ecx,), %%mm2  \n\t" // load b=Prior(x)
+            "punpcklbw %%mm0, %%mm2      \n\t" // unpack Low bytes of b
+            // must shift to position Prior(x-bpp) data
+            "psrlq _ShiftRem, %%mm3      \n\t"
             // pav = p - a = (a + b - c) - a = b - c
             "movq %%mm2, %%mm4           \n\t"
-            "punpcklbw %%mm0, %%mm3      \n\t" // Unpack Low bytes of c
+            "punpcklbw %%mm0, %%mm3      \n\t" // unpack Low bytes of c
             // pbv = p - b = (a + b - c) - b = a - c
             "movq %%mm1, %%mm5           \n\t"
             "psubw %%mm3, %%mm4          \n\t"
@@ -3358,17 +3529,17 @@
             // pa = abs(p-a) = abs(pav)
             // pb = abs(p-b) = abs(pbv)
             // pc = abs(p-c) = abs(pcv)
-            "pcmpgtw %%mm4, %%mm0        \n\t" // Create mask pav bytes < 0
+            "pcmpgtw %%mm4, %%mm0        \n\t" // create mask pav bytes < 0
             "paddw %%mm5, %%mm6          \n\t"
-            "pand %%mm4, %%mm0           \n\t" // Only pav bytes < 0 in mm7
-            "pcmpgtw %%mm5, %%mm7        \n\t" // Create mask pbv bytes < 0
+            "pand %%mm4, %%mm0           \n\t" // only pav bytes < 0 in mm7
+            "pcmpgtw %%mm5, %%mm7        \n\t" // create mask pbv bytes < 0
             "psubw %%mm0, %%mm4          \n\t"
-            "pand %%mm5, %%mm7           \n\t" // Only pbv bytes < 0 in mm0
+            "pand %%mm5, %%mm7           \n\t" // only pbv bytes < 0 in mm0
             "psubw %%mm0, %%mm4          \n\t"
             "psubw %%mm7, %%mm5          \n\t"
             "pxor %%mm0, %%mm0           \n\t"
-            "pcmpgtw %%mm6, %%mm0        \n\t" // Create mask pcv bytes < 0
-            "pand %%mm6, %%mm0           \n\t" // Only pav bytes < 0 in mm7
+            "pcmpgtw %%mm6, %%mm0        \n\t" // create mask pcv bytes < 0
+            "pand %%mm6, %%mm0           \n\t" // only pav bytes < 0 in mm7
             "psubw %%mm7, %%mm5          \n\t"
             "psubw %%mm0, %%mm6          \n\t"
             //  test pa <= pb
@@ -3392,24 +3563,24 @@
             "paddw %%mm3, %%mm7          \n\t"
             "pxor %%mm0, %%mm0           \n\t"
             "packuswb %%mm1, %%mm7       \n\t"
-            "movq -8(%%esi,%%ebx,), %%mm3 \n\t" // load c=Prior(x-bpp)
-            "pand $ActiveMask, %%mm7     \n\t"
-            "psrlq $ShiftRem, %%mm3      \n\t"
-            "movq (%%esi,%%ebx,), %%mm2  \n\t" // load b=Prior(x) step 1
-            "paddb (%%edi,%%ebx,), %%mm7 \n\t" // add Paeth predictor with Raw(x)
+            "movq -8(%%esi,%%ecx,), %%mm3 \n\t" // load c=Prior(x-bpp)
+            "pand _ActiveMask, %%mm7     \n\t"
+            "psrlq _ShiftRem, %%mm3      \n\t"
+            "movq (%%esi,%%ecx,), %%mm2  \n\t" // load b=Prior(x) step 1
+            "paddb (%%edi,%%ecx,), %%mm7 \n\t" // add Paeth predictor and Raw(x)
             "movq %%mm2, %%mm6           \n\t"
-            "movq %%mm7, (%%edi,%%ebx,)  \n\t" // write back updated value
-            "movq -8(%%edi,%%ebx,), %%mm1 \n\t"
-            "psllq $ShiftBpp, %%mm6      \n\t"
+            "movq %%mm7, (%%edi,%%ecx,)  \n\t" // write back updated value
+            "movq -8(%%edi,%%ecx,), %%mm1 \n\t"
+            "psllq _ShiftBpp, %%mm6      \n\t"
             "movq %%mm7, %%mm5           \n\t"
-            "psrlq $ShiftRem, %%mm1      \n\t"
+            "psrlq _ShiftRem, %%mm1      \n\t"
             "por %%mm6, %%mm3            \n\t"
-            "psllq $ShiftBpp, %%mm5      \n\t"
-            "punpckhbw %%mm0, %%mm3      \n\t" // Unpack High bytes of c
+            "psllq _ShiftBpp, %%mm5      \n\t"
+            "punpckhbw %%mm0, %%mm3      \n\t" // unpack High bytes of c
             "por %%mm5, %%mm1            \n\t"
-            // Do second set of 4 bytes
-            "punpckhbw %%mm0, %%mm2      \n\t" // Unpack High bytes of b
-            "punpckhbw %%mm0, %%mm1      \n\t" // Unpack High bytes of a
+            // do second set of 4 bytes
+            "punpckhbw %%mm0, %%mm2      \n\t" // unpack High bytes of b
+            "punpckhbw %%mm0, %%mm1      \n\t" // unpack High bytes of a
             // pav = p - a = (a + b - c) - a = b - c
             "movq %%mm2, %%mm4           \n\t"
             // pbv = p - b = (a + b - c) - b = a - c
@@ -3422,17 +3593,17 @@
             // pa = abs(p-a) = abs(pav)
             // pb = abs(p-b) = abs(pbv)
             // pc = abs(p-c) = abs(pcv)
-            "pcmpgtw %%mm4, %%mm0        \n\t" // Create mask pav bytes < 0
+            "pcmpgtw %%mm4, %%mm0        \n\t" // create mask pav bytes < 0
             "paddw %%mm5, %%mm6          \n\t"
-            "pand %%mm4, %%mm0           \n\t" // Only pav bytes < 0 in mm7
-            "pcmpgtw %%mm5, %%mm7        \n\t" // Create mask pbv bytes < 0
+            "pand %%mm4, %%mm0           \n\t" // only pav bytes < 0 in mm7
+            "pcmpgtw %%mm5, %%mm7        \n\t" // create mask pbv bytes < 0
             "psubw %%mm0, %%mm4          \n\t"
-            "pand %%mm5, %%mm7           \n\t" // Only pbv bytes < 0 in mm0
+            "pand %%mm5, %%mm7           \n\t" // only pbv bytes < 0 in mm0
             "psubw %%mm0, %%mm4          \n\t"
             "psubw %%mm7, %%mm5          \n\t"
             "pxor %%mm0, %%mm0           \n\t"
-            "pcmpgtw %%mm6, %%mm0        \n\t" // Create mask pcv bytes < 0
-            "pand %%mm6, %%mm0           \n\t" // Only pav bytes < 0 in mm7
+            "pcmpgtw %%mm6, %%mm0        \n\t" // create mask pcv bytes < 0
+            "pand %%mm6, %%mm0           \n\t" // only pav bytes < 0 in mm7
             "psubw %%mm7, %%mm5          \n\t"
             "psubw %%mm0, %%mm6          \n\t"
             //  test pa <= pb
@@ -3456,44 +3627,51 @@
             "pxor %%mm1, %%mm1           \n\t"
             "paddw %%mm3, %%mm7          \n\t"
             "pxor %%mm0, %%mm0           \n\t"
-            // Step ex to next set of 8 bytes and repeat loop til done
-            "addl $8, %%ebx              \n\t"
+            // step ecx to next set of 8 bytes and repeat loop til done
+            "addl $8, %%ecx              \n\t"
             "packuswb %%mm7, %%mm1       \n\t"
-            "paddb -8(%%edi,%%ebx,), %%mm1 \n\t" // add Paeth predictor with Raw(x)
-            "cmpl _MMXLength, %%ebx      \n\t"
-            "movq %%mm1, -8(%%edi,%%ebx,) \n\t" // write back updated value
+            "paddb -8(%%edi,%%ecx,), %%mm1 \n\t" // add Paeth predictor with Raw(x)
+            "cmpl _MMXLength, %%ecx      \n\t"
+            "movq %%mm1, -8(%%edi,%%ecx,) \n\t" // write back updated value
                                 // mm1 will be used as Raw(x-bpp) next loop
             "jb paeth_6lp                \n\t"
 
-            : // FIXASM: output regs/vars go here, e.g.:  "=m" (memory_var)
+            : "=S" (dummy_value_S),             // output regs (dummy)
+              "=D" (dummy_value_D)
 
-            : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
+            : "0" (prev_row),  // esi           // input regs
+              "1" (row)        // edi
 
-            : "%ebx", "%edi", "%esi", "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7" // CHECKASM: clobber list
+            : "%ecx"                            // clobber list
+#if 0  /* %mm0, ..., %mm7 not supported by gcc 2.7.2.3 or egcs 1.1 */
+            , "%mm0", "%mm1", "%mm2", "%mm3"
+            , "%mm4", "%mm5", "%mm6", "%mm7"
+#endif
          );
       }
-      break;
+      break;  // end 6 bpp
 
       case 4:
       {
-         ActiveMask.use  = 0x00000000ffffffff;
-         __asm__ (
-            "movl _dif, %%ebx            \n\t"
-            "movl row, %%edi             \n\t"
-            "movl prev_row, %%esi        \n\t"
+         _ActiveMask.use  = 0x00000000ffffffffLL;
+
+         __asm__ __volatile__ (
+            "movl _dif, %%ecx            \n\t"
+// preload  "movl row, %%edi             \n\t"
+// preload  "movl prev_row, %%esi        \n\t"
             "pxor %%mm0, %%mm0           \n\t"
-            // PRIME the pump (load the first Raw(x-bpp) data set
-            "movq -8(%%edi,%%ebx,), %%mm1 \n\t" // Only time should need to read
+            // prime the pump:  load the first Raw(x-bpp) data set
+            "movq -8(%%edi,%%ecx,), %%mm1 \n\t" // only time should need to read
                                      //  a=Raw(x-bpp) bytes
          "paeth_4lp:                     \n\t"
-            // Do first set of 4 bytes
-            "movq -8(%%esi,%%ebx,), %%mm3 \n\t" // read c=Prior(x-bpp) bytes
-            "punpckhbw %%mm0, %%mm1      \n\t" // Unpack Low bytes of a
-            "movq (%%esi,%%ebx,), %%mm2  \n\t" // load b=Prior(x)
-            "punpcklbw %%mm0, %%mm2      \n\t" // Unpack High bytes of b
+            // do first set of 4 bytes
+            "movq -8(%%esi,%%ecx,), %%mm3 \n\t" // read c=Prior(x-bpp) bytes
+            "punpckhbw %%mm0, %%mm1      \n\t" // unpack Low bytes of a
+            "movq (%%esi,%%ecx,), %%mm2  \n\t" // load b=Prior(x)
+            "punpcklbw %%mm0, %%mm2      \n\t" // unpack High bytes of b
             // pav = p - a = (a + b - c) - a = b - c
             "movq %%mm2, %%mm4           \n\t"
-            "punpckhbw %%mm0, %%mm3      \n\t" // Unpack High bytes of c
+            "punpckhbw %%mm0, %%mm3      \n\t" // unpack High bytes of c
             // pbv = p - b = (a + b - c) - b = a - c
             "movq %%mm1, %%mm5           \n\t"
             "psubw %%mm3, %%mm4          \n\t"
@@ -3504,17 +3682,17 @@
             // pa = abs(p-a) = abs(pav)
             // pb = abs(p-b) = abs(pbv)
             // pc = abs(p-c) = abs(pcv)
-            "pcmpgtw %%mm4, %%mm0        \n\t" // Create mask pav bytes < 0
+            "pcmpgtw %%mm4, %%mm0        \n\t" // create mask pav bytes < 0
             "paddw %%mm5, %%mm6          \n\t"
-            "pand %%mm4, %%mm0           \n\t" // Only pav bytes < 0 in mm7
-            "pcmpgtw %%mm5, %%mm7        \n\t" // Create mask pbv bytes < 0
+            "pand %%mm4, %%mm0           \n\t" // only pav bytes < 0 in mm7
+            "pcmpgtw %%mm5, %%mm7        \n\t" // create mask pbv bytes < 0
             "psubw %%mm0, %%mm4          \n\t"
-            "pand %%mm5, %%mm7           \n\t" // Only pbv bytes < 0 in mm0
+            "pand %%mm5, %%mm7           \n\t" // only pbv bytes < 0 in mm0
             "psubw %%mm0, %%mm4          \n\t"
             "psubw %%mm7, %%mm5          \n\t"
             "pxor %%mm0, %%mm0           \n\t"
-            "pcmpgtw %%mm6, %%mm0        \n\t" // Create mask pcv bytes < 0
-            "pand %%mm6, %%mm0           \n\t" // Only pav bytes < 0 in mm7
+            "pcmpgtw %%mm6, %%mm0        \n\t" // create mask pcv bytes < 0
+            "pand %%mm6, %%mm0           \n\t" // only pav bytes < 0 in mm7
             "psubw %%mm7, %%mm5          \n\t"
             "psubw %%mm0, %%mm6          \n\t"
             //  test pa <= pb
@@ -3538,16 +3716,16 @@
             "paddw %%mm3, %%mm7          \n\t"
             "pxor %%mm0, %%mm0           \n\t"
             "packuswb %%mm1, %%mm7       \n\t"
-            "movq (%%esi,%%ebx,), %%mm3  \n\t" // load c=Prior(x-bpp)
-            "pand $ActiveMask, %%mm7     \n\t"
+            "movq (%%esi,%%ecx,), %%mm3  \n\t" // load c=Prior(x-bpp)
+            "pand _ActiveMask, %%mm7     \n\t"
             "movq %%mm3, %%mm2           \n\t" // load b=Prior(x) step 1
-            "paddb (%%edi,%%ebx,), %%mm7 \n\t" // add Paeth predictor with Raw(x)
-            "punpcklbw %%mm0, %%mm3      \n\t" // Unpack High bytes of c
-            "movq %%mm7, (%%edi,%%ebx,)  \n\t" // write back updated value
-            "movq %%mm7, %%mm1           \n\t" // Now mm1 will be used as Raw(x-bpp)
-            // Do second set of 4 bytes
-            "punpckhbw %%mm0, %%mm2      \n\t" // Unpack Low bytes of b
-            "punpcklbw %%mm0, %%mm1      \n\t" // Unpack Low bytes of a
+            "paddb (%%edi,%%ecx,), %%mm7 \n\t" // add Paeth predictor with Raw(x)
+            "punpcklbw %%mm0, %%mm3      \n\t" // unpack High bytes of c
+            "movq %%mm7, (%%edi,%%ecx,)  \n\t" // write back updated value
+            "movq %%mm7, %%mm1           \n\t" // now mm1 will be used as Raw(x-bpp)
+            // do second set of 4 bytes
+            "punpckhbw %%mm0, %%mm2      \n\t" // unpack Low bytes of b
+            "punpcklbw %%mm0, %%mm1      \n\t" // unpack Low bytes of a
             // pav = p - a = (a + b - c) - a = b - c
             "movq %%mm2, %%mm4           \n\t"
             // pbv = p - b = (a + b - c) - b = a - c
@@ -3560,17 +3738,17 @@
             // pa = abs(p-a) = abs(pav)
             // pb = abs(p-b) = abs(pbv)
             // pc = abs(p-c) = abs(pcv)
-            "pcmpgtw %%mm4, %%mm0        \n\t" // Create mask pav bytes < 0
+            "pcmpgtw %%mm4, %%mm0        \n\t" // create mask pav bytes < 0
             "paddw %%mm5, %%mm6          \n\t"
-            "pand %%mm4, %%mm0           \n\t" // Only pav bytes < 0 in mm7
-            "pcmpgtw %%mm5, %%mm7        \n\t" // Create mask pbv bytes < 0
+            "pand %%mm4, %%mm0           \n\t" // only pav bytes < 0 in mm7
+            "pcmpgtw %%mm5, %%mm7        \n\t" // create mask pbv bytes < 0
             "psubw %%mm0, %%mm4          \n\t"
-            "pand %%mm5, %%mm7           \n\t" // Only pbv bytes < 0 in mm0
+            "pand %%mm5, %%mm7           \n\t" // only pbv bytes < 0 in mm0
             "psubw %%mm0, %%mm4          \n\t"
             "psubw %%mm7, %%mm5          \n\t"
             "pxor %%mm0, %%mm0           \n\t"
-            "pcmpgtw %%mm6, %%mm0        \n\t" // Create mask pcv bytes < 0
-            "pand %%mm6, %%mm0           \n\t" // Only pav bytes < 0 in mm7
+            "pcmpgtw %%mm6, %%mm0        \n\t" // create mask pcv bytes < 0
+            "pand %%mm6, %%mm0           \n\t" // only pav bytes < 0 in mm7
             "psubw %%mm7, %%mm5          \n\t"
             "psubw %%mm0, %%mm6          \n\t"
             //  test pa <= pb
@@ -3594,43 +3772,51 @@
             "pxor %%mm1, %%mm1           \n\t"
             "paddw %%mm3, %%mm7          \n\t"
             "pxor %%mm0, %%mm0           \n\t"
-            // Step ex to next set of 8 bytes and repeat loop til done
-            "addl $8, %%ebx              \n\t"
+            // step ecx to next set of 8 bytes and repeat loop til done
+            "addl $8, %%ecx              \n\t"
             "packuswb %%mm7, %%mm1       \n\t"
-            "paddb -8(%%edi,%%ebx,), %%mm1 \n\t" // add Paeth predictor with Raw(x)
-            "cmpl _MMXLength, %%ebx      \n\t"
-            "movq %%mm1, -8(%%edi,%%ebx,) \n\t" // write back updated value
+            "paddb -8(%%edi,%%ecx,), %%mm1 \n\t" // add predictor with Raw(x)
+            "cmpl _MMXLength, %%ecx      \n\t"
+            "movq %%mm1, -8(%%edi,%%ecx,) \n\t" // write back updated value
                                 // mm1 will be used as Raw(x-bpp) next loop
             "jb paeth_4lp                \n\t"
 
-            : // FIXASM: output regs/vars go here, e.g.:  "=m" (memory_var)
+            : "=S" (dummy_value_S),             // output regs (dummy)
+              "=D" (dummy_value_D)
 
-            : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
+            : "0" (prev_row),  // esi           // input regs
+              "1" (row)        // edi
 
-            : "%ebx", "%edi", "%esi", "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7" // CHECKASM: clobber list
+            : "%ecx"                            // clobber list
+#if 0  /* %mm0, ..., %mm7 not supported by gcc 2.7.2.3 or egcs 1.1 */
+            , "%mm0", "%mm1", "%mm2", "%mm3"
+            , "%mm4", "%mm5", "%mm6", "%mm7"
+#endif
          );
       }
-      break;
+      break;  // end 4 bpp
+
       case 8:                          // bpp == 8
       {
-         ActiveMask.use  = 0x00000000ffffffff;
-         __asm__ (
-            "movl _dif, %%ebx            \n\t"
-            "movl row, %%edi             \n\t"
-            "movl prev_row, %%esi        \n\t"
+         _ActiveMask.use  = 0x00000000ffffffffLL;
+
+         __asm__ __volatile__ (
+            "movl _dif, %%ecx            \n\t"
+// preload  "movl row, %%edi             \n\t"
+// preload  "movl prev_row, %%esi        \n\t"
             "pxor %%mm0, %%mm0           \n\t"
-            // PRIME the pump (load the first Raw(x-bpp) data set
-            "movq -8(%%edi,%%ebx,), %%mm1 \n\t" // Only time should need to read
+            // prime the pump:  load the first Raw(x-bpp) data set
+            "movq -8(%%edi,%%ecx,), %%mm1 \n\t" // only time should need to read
                                        //  a=Raw(x-bpp) bytes
          "paeth_8lp:                     \n\t"
-            // Do first set of 4 bytes
-            "movq -8(%%esi,%%ebx,), %%mm3 \n\t" // read c=Prior(x-bpp) bytes
-            "punpcklbw %%mm0, %%mm1      \n\t" // Unpack Low bytes of a
-            "movq (%%esi,%%ebx,), %%mm2  \n\t" // load b=Prior(x)
-            "punpcklbw %%mm0, %%mm2      \n\t" // Unpack Low bytes of b
+            // do first set of 4 bytes
+            "movq -8(%%esi,%%ecx,), %%mm3 \n\t" // read c=Prior(x-bpp) bytes
+            "punpcklbw %%mm0, %%mm1      \n\t" // unpack Low bytes of a
+            "movq (%%esi,%%ecx,), %%mm2  \n\t" // load b=Prior(x)
+            "punpcklbw %%mm0, %%mm2      \n\t" // unpack Low bytes of b
             // pav = p - a = (a + b - c) - a = b - c
             "movq %%mm2, %%mm4           \n\t"
-            "punpcklbw %%mm0, %%mm3      \n\t" // Unpack Low bytes of c
+            "punpcklbw %%mm0, %%mm3      \n\t" // unpack Low bytes of c
             // pbv = p - b = (a + b - c) - b = a - c
             "movq %%mm1, %%mm5           \n\t"
             "psubw %%mm3, %%mm4          \n\t"
@@ -3641,17 +3827,17 @@
             // pa = abs(p-a) = abs(pav)
             // pb = abs(p-b) = abs(pbv)
             // pc = abs(p-c) = abs(pcv)
-            "pcmpgtw %%mm4, %%mm0        \n\t" // Create mask pav bytes < 0
+            "pcmpgtw %%mm4, %%mm0        \n\t" // create mask pav bytes < 0
             "paddw %%mm5, %%mm6          \n\t"
-            "pand %%mm4, %%mm0           \n\t" // Only pav bytes < 0 in mm7
-            "pcmpgtw %%mm5, %%mm7        \n\t" // Create mask pbv bytes < 0
+            "pand %%mm4, %%mm0           \n\t" // only pav bytes < 0 in mm7
+            "pcmpgtw %%mm5, %%mm7        \n\t" // create mask pbv bytes < 0
             "psubw %%mm0, %%mm4          \n\t"
-            "pand %%mm5, %%mm7           \n\t" // Only pbv bytes < 0 in mm0
+            "pand %%mm5, %%mm7           \n\t" // only pbv bytes < 0 in mm0
             "psubw %%mm0, %%mm4          \n\t"
             "psubw %%mm7, %%mm5          \n\t"
             "pxor %%mm0, %%mm0           \n\t"
-            "pcmpgtw %%mm6, %%mm0        \n\t" // Create mask pcv bytes < 0
-            "pand %%mm6, %%mm0           \n\t" // Only pav bytes < 0 in mm7
+            "pcmpgtw %%mm6, %%mm0        \n\t" // create mask pcv bytes < 0
+            "pand %%mm6, %%mm0           \n\t" // only pav bytes < 0 in mm7
             "psubw %%mm7, %%mm5          \n\t"
             "psubw %%mm0, %%mm6          \n\t"
             //  test pa <= pb
@@ -3675,17 +3861,17 @@
             "paddw %%mm3, %%mm7          \n\t"
             "pxor %%mm0, %%mm0           \n\t"
             "packuswb %%mm1, %%mm7       \n\t"
-            "movq -8(%%esi,%%ebx,), %%mm3 \n\t" // read c=Prior(x-bpp) bytes
-            "pand $ActiveMask, %%mm7     \n\t"
-            "movq (%%esi,%%ebx,), %%mm2  \n\t" // load b=Prior(x)
-            "paddb (%%edi,%%ebx,), %%mm7 \n\t" // add Paeth predictor with Raw(x)
-            "punpckhbw %%mm0, %%mm3      \n\t" // Unpack High bytes of c
-            "movq %%mm7, (%%edi,%%ebx,)  \n\t" // write back updated value
-            "movq -8(%%edi,%%ebx,), %%mm1 \n\t" // read a=Raw(x-bpp) bytes
+            "movq -8(%%esi,%%ecx,), %%mm3 \n\t" // read c=Prior(x-bpp) bytes
+            "pand _ActiveMask, %%mm7     \n\t"
+            "movq (%%esi,%%ecx,), %%mm2  \n\t" // load b=Prior(x)
+            "paddb (%%edi,%%ecx,), %%mm7 \n\t" // add Paeth predictor with Raw(x)
+            "punpckhbw %%mm0, %%mm3      \n\t" // unpack High bytes of c
+            "movq %%mm7, (%%edi,%%ecx,)  \n\t" // write back updated value
+            "movq -8(%%edi,%%ecx,), %%mm1 \n\t" // read a=Raw(x-bpp) bytes
 
-            // Do second set of 4 bytes
-            "punpckhbw %%mm0, %%mm2      \n\t" // Unpack High bytes of b
-            "punpckhbw %%mm0, %%mm1      \n\t" // Unpack High bytes of a
+            // do second set of 4 bytes
+            "punpckhbw %%mm0, %%mm2      \n\t" // unpack High bytes of b
+            "punpckhbw %%mm0, %%mm1      \n\t" // unpack High bytes of a
             // pav = p - a = (a + b - c) - a = b - c
             "movq %%mm2, %%mm4           \n\t"
             // pbv = p - b = (a + b - c) - b = a - c
@@ -3698,17 +3884,17 @@
             // pa = abs(p-a) = abs(pav)
             // pb = abs(p-b) = abs(pbv)
             // pc = abs(p-c) = abs(pcv)
-            "pcmpgtw %%mm4, %%mm0        \n\t" // Create mask pav bytes < 0
+            "pcmpgtw %%mm4, %%mm0        \n\t" // create mask pav bytes < 0
             "paddw %%mm5, %%mm6          \n\t"
-            "pand %%mm4, %%mm0           \n\t" // Only pav bytes < 0 in mm7
-            "pcmpgtw %%mm5, %%mm7        \n\t" // Create mask pbv bytes < 0
+            "pand %%mm4, %%mm0           \n\t" // only pav bytes < 0 in mm7
+            "pcmpgtw %%mm5, %%mm7        \n\t" // create mask pbv bytes < 0
             "psubw %%mm0, %%mm4          \n\t"
-            "pand %%mm5, %%mm7           \n\t" // Only pbv bytes < 0 in mm0
+            "pand %%mm5, %%mm7           \n\t" // only pbv bytes < 0 in mm0
             "psubw %%mm0, %%mm4          \n\t"
             "psubw %%mm7, %%mm5          \n\t"
             "pxor %%mm0, %%mm0           \n\t"
-            "pcmpgtw %%mm6, %%mm0        \n\t" // Create mask pcv bytes < 0
-            "pand %%mm6, %%mm0           \n\t" // Only pav bytes < 0 in mm7
+            "pcmpgtw %%mm6, %%mm0        \n\t" // create mask pcv bytes < 0
+            "pand %%mm6, %%mm0           \n\t" // only pav bytes < 0 in mm7
             "psubw %%mm7, %%mm5          \n\t"
             "psubw %%mm0, %%mm6          \n\t"
             //  test pa <= pb
@@ -3732,94 +3918,113 @@
             "pxor %%mm1, %%mm1           \n\t"
             "paddw %%mm3, %%mm7          \n\t"
             "pxor %%mm0, %%mm0           \n\t"
-            // Step ex to next set of 8 bytes and repeat loop til done
-            "addl $8, %%ebx              \n\t"
+            // step ecx to next set of 8 bytes and repeat loop til done
+            "addl $8, %%ecx              \n\t"
             "packuswb %%mm7, %%mm1       \n\t"
-            "paddb -8(%%edi,%%ebx,), %%mm1 \n\t" // add Paeth predictor with Raw(x)
-            "cmpl _MMXLength, %%ebx      \n\t"
-            "movq %%mm1, -8(%%edi,%%ebx,) \n\t" // write back updated value
+            "paddb -8(%%edi,%%ecx,), %%mm1 \n\t" // add Paeth predictor with Raw(x)
+            "cmpl _MMXLength, %%ecx      \n\t"
+            "movq %%mm1, -8(%%edi,%%ecx,) \n\t" // write back updated value
                             // mm1 will be used as Raw(x-bpp) next loop
             "jb paeth_8lp                \n\t"
 
-            : // FIXASM: output regs/vars go here, e.g.:  "=m" (memory_var)
+            : "=S" (dummy_value_S),             // output regs (dummy)
+              "=D" (dummy_value_D)
 
-            : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
+            : "0" (prev_row),  // esi           // input regs
+              "1" (row)        // edi
 
-            : "%ebx", "%edi", "%esi", "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7" // CHECKASM: clobber list
+            : "%ecx"                            // clobber list
+#if 0  /* %mm0, ..., %mm7 not supported by gcc 2.7.2.3 or egcs 1.1 */
+            , "%mm0", "%mm1", "%mm2", "%mm3"
+            , "%mm4", "%mm5", "%mm6", "%mm7"
+#endif
          );
       }
-      break;
+      break;  // end 8 bpp
 
       case 1:                // bpp = 1
       case 2:                // bpp = 2
       default:               // bpp > 8
       {
-         __asm__ (
+         __asm__ __volatile__ (
+#ifdef __PIC__
+            "pushl %%ebx                 \n\t" // save Global Offset Table index
+#endif
             "movl _dif, %%ebx            \n\t"
             "cmpl _FullLength, %%ebx     \n\t"
             "jnb paeth_dend              \n\t"
-            "movl row, %%edi             \n\t"
-            "movl prev_row, %%esi        \n\t"
-            // Do Paeth decode for remaining bytes
+
+// preload  "movl row, %%edi             \n\t"
+// preload  "movl prev_row, %%esi        \n\t"
+            // do Paeth decode for remaining bytes
             "movl %%ebx, %%edx           \n\t"
-            "xorl %%ecx, %%ecx           \n\t" // zero ecx before using cl & cx in loop below
-            "subl bpp, %%edx             \n\t" // Set edx = ebx - bpp
+// preload  "subl bpp, %%edx             \n\t" // (bpp is preloaded into ecx)
+            "subl %%ecx, %%edx           \n\t" // edx = ebx - bpp
+            "xorl %%ecx, %%ecx           \n\t" // zero ecx before using cl & cx
+
          "paeth_dlp:                     \n\t"
             "xorl %%eax, %%eax           \n\t"
             // pav = p - a = (a + b - c) - a = b - c
             "movb (%%esi,%%ebx,), %%al   \n\t" // load Prior(x) into al
             "movb (%%esi,%%edx,), %%cl   \n\t" // load Prior(x-bpp) into cl
             "subl %%ecx, %%eax           \n\t" // subtract Prior(x-bpp)
-            "movl %%eax, patemp          \n\t" // Save pav for later use
+            "movl %%eax, _patemp         \n\t" // Save pav for later use
             "xorl %%eax, %%eax           \n\t"
             // pbv = p - b = (a + b - c) - b = a - c
             "movb (%%edi,%%edx,), %%al   \n\t" // load Raw(x-bpp) into al
             "subl %%ecx, %%eax           \n\t" // subtract Prior(x-bpp)
             "movl %%eax, %%ecx           \n\t"
             // pcv = p - c = (a + b - c) -c = (a - c) + (b - c) = pav + pbv
-            "addl patemp, %%eax          \n\t" // pcv = pav + pbv
+            "addl _patemp, %%eax         \n\t" // pcv = pav + pbv
             // pc = abs(pcv)
             "testl $0x80000000, %%eax    \n\t"
             "jz paeth_dpca               \n\t"
             "negl %%eax                  \n\t" // reverse sign of neg values
+
          "paeth_dpca:                    \n\t"
-            "movl %%eax, pctemp          \n\t" // save pc for later use
+            "movl %%eax, _pctemp         \n\t" // save pc for later use
             // pb = abs(pbv)
             "testl $0x80000000, %%ecx    \n\t"
             "jz paeth_dpba               \n\t"
             "negl %%ecx                  \n\t" // reverse sign of neg values
+
          "paeth_dpba:                    \n\t"
-            "movl %%ecx, pbtemp          \n\t" // save pb for later use
+            "movl %%ecx, _pbtemp         \n\t" // save pb for later use
             // pa = abs(pav)
-            "movl patemp, %%eax          \n\t"
+            "movl _patemp, %%eax         \n\t"
             "testl $0x80000000, %%eax    \n\t"
             "jz paeth_dpaa               \n\t"
             "negl %%eax                  \n\t" // reverse sign of neg values
+
          "paeth_dpaa:                    \n\t"
-            "movl %%eax, patemp          \n\t" // save pa for later use
+            "movl %%eax, _patemp         \n\t" // save pa for later use
             // test if pa <= pb
             "cmpl %%ecx, %%eax           \n\t"
             "jna paeth_dabb              \n\t"
             // pa > pb; now test if pb <= pc
-            "cmpl pctemp, %%ecx          \n\t"
+            "cmpl _pctemp, %%ecx         \n\t"
             "jna paeth_dbbc              \n\t"
             // pb > pc; Raw(x) = Paeth(x) + Prior(x-bpp)
             "movb (%%esi,%%edx,), %%cl   \n\t" // load Prior(x-bpp) into cl
             "jmp paeth_dpaeth            \n\t"
+
          "paeth_dbbc:                    \n\t"
             // pb <= pc; Raw(x) = Paeth(x) + Prior(x)
             "movb (%%esi,%%ebx,), %%cl   \n\t" // load Prior(x) into cl
             "jmp paeth_dpaeth            \n\t"
+
          "paeth_dabb:                    \n\t"
             // pa <= pb; now test if pa <= pc
-            "cmpl pctemp, %%eax          \n\t"
+            "cmpl _pctemp, %%eax         \n\t"
             "jna paeth_dabc              \n\t"
             // pa > pc; Raw(x) = Paeth(x) + Prior(x-bpp)
             "movb (%%esi,%%edx,), %%cl   \n\t" // load Prior(x-bpp) into cl
             "jmp paeth_dpaeth            \n\t"
+
          "paeth_dabc:                    \n\t"
             // pa <= pc; Raw(x) = Paeth(x) + Raw(x-bpp)
             "movb (%%edi,%%edx,), %%cl   \n\t" // load Raw(x-bpp) into cl
+
          "paeth_dpaeth:                  \n\t"
             "incl %%ebx                  \n\t"
             "incl %%edx                  \n\t"
@@ -3827,85 +4032,110 @@
             "addb %%cl, -1(%%edi,%%ebx,) \n\t"
             "cmpl _FullLength, %%ebx     \n\t"
             "jb paeth_dlp                \n\t"
+
          "paeth_dend:                    \n\t"
+#ifdef __PIC__
+            "popl %%ebx                  \n\t" // index to Global Offset Table
+#endif
 
-            : // FIXASM: output regs/vars go here, e.g.:  "=m" (memory_var)
+            : "=c" (dummy_value_c),            // output regs (dummy)
+              "=S" (dummy_value_S),
+              "=D" (dummy_value_D)
 
-            : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
+            : "0" (bpp),       // ecx          // input regs
+              "1" (prev_row),  // esi
+              "2" (row)        // edi
 
-            : "%eax", "%ebx", "%ecx", "%edx", "%edi", "%esi" // CHECKASM: clobber list
+            : "%eax", "%edx"                   // clobber list
+#ifndef __PIC__
+            , "%ebx"
+#endif
          );
       }
       return;                   // No need to go further with this one
-   }                         // end switch ( bpp )
-   __asm__ (
-      // MMX acceleration complete now do clean-up
-      // Check if any remaining bytes left to decode
+
+   } // end switch (bpp)
+
+   __asm__ __volatile__ (
+      // MMX acceleration complete; now do clean-up
+      // check if any remaining bytes left to decode
+#ifdef __PIC__
+      "pushl %%ebx                 \n\t" // save index to Global Offset Table
+#endif
       "movl _MMXLength, %%ebx      \n\t"
       "cmpl _FullLength, %%ebx     \n\t"
       "jnb paeth_end               \n\t"
-      "movl row, %%edi             \n\t"
-      "movl prev_row, %%esi        \n\t"
-      // Do Paeth decode for remaining bytes
+//pre "movl row, %%edi             \n\t"
+//pre "movl prev_row, %%esi        \n\t"
+      // do Paeth decode for remaining bytes
       "movl %%ebx, %%edx           \n\t"
-      "xorl %%ecx, %%ecx           \n\t" // zero ecx before using cl & cx in loop below
-      "subl bpp, %%edx             \n\t" // Set edx = ebx - bpp
+//pre "subl bpp, %%edx             \n\t" // (bpp is preloaded into ecx)
+      "subl %%ecx, %%edx           \n\t" // edx = ebx - bpp
+      "xorl %%ecx, %%ecx           \n\t" // zero ecx before using cl & cx below
+
    "paeth_lp2:                     \n\t"
       "xorl %%eax, %%eax           \n\t"
       // pav = p - a = (a + b - c) - a = b - c
       "movb (%%esi,%%ebx,), %%al   \n\t" // load Prior(x) into al
       "movb (%%esi,%%edx,), %%cl   \n\t" // load Prior(x-bpp) into cl
       "subl %%ecx, %%eax           \n\t" // subtract Prior(x-bpp)
-      "movl %%eax, patemp          \n\t" // Save pav for later use
+      "movl %%eax, _patemp         \n\t" // Save pav for later use
       "xorl %%eax, %%eax           \n\t"
       // pbv = p - b = (a + b - c) - b = a - c
       "movb (%%edi,%%edx,), %%al   \n\t" // load Raw(x-bpp) into al
       "subl %%ecx, %%eax           \n\t" // subtract Prior(x-bpp)
       "movl %%eax, %%ecx           \n\t"
       // pcv = p - c = (a + b - c) -c = (a - c) + (b - c) = pav + pbv
-      "addl patemp, %%eax          \n\t" // pcv = pav + pbv
+      "addl _patemp, %%eax         \n\t" // pcv = pav + pbv
       // pc = abs(pcv)
       "testl $0x80000000, %%eax    \n\t"
       "jz paeth_pca2               \n\t"
       "negl %%eax                  \n\t" // reverse sign of neg values
+
    "paeth_pca2:                    \n\t"
-      "movl %%eax, pctemp          \n\t" // save pc for later use
+      "movl %%eax, _pctemp         \n\t" // save pc for later use
       // pb = abs(pbv)
       "testl $0x80000000, %%ecx    \n\t"
       "jz paeth_pba2               \n\t"
       "negl %%ecx                  \n\t" // reverse sign of neg values
+
    "paeth_pba2:                    \n\t"
-      "movl %%ecx, pbtemp          \n\t" // save pb for later use
+      "movl %%ecx, _pbtemp         \n\t" // save pb for later use
       // pa = abs(pav)
-      "movl patemp, %%eax          \n\t"
+      "movl _patemp, %%eax         \n\t"
       "testl $0x80000000, %%eax    \n\t"
       "jz paeth_paa2               \n\t"
       "negl %%eax                  \n\t" // reverse sign of neg values
+
    "paeth_paa2:                    \n\t"
-      "movl %%eax, patemp          \n\t" // save pa for later use
+      "movl %%eax, _patemp         \n\t" // save pa for later use
       // test if pa <= pb
       "cmpl %%ecx, %%eax           \n\t"
       "jna paeth_abb2              \n\t"
       // pa > pb; now test if pb <= pc
-      "cmpl pctemp, %%ecx          \n\t"
+      "cmpl _pctemp, %%ecx         \n\t"
       "jna paeth_bbc2              \n\t"
       // pb > pc; Raw(x) = Paeth(x) + Prior(x-bpp)
       "movb (%%esi,%%edx,), %%cl   \n\t" // load Prior(x-bpp) into cl
       "jmp paeth_paeth2            \n\t"
+
    "paeth_bbc2:                    \n\t"
       // pb <= pc; Raw(x) = Paeth(x) + Prior(x)
       "movb (%%esi,%%ebx,), %%cl   \n\t" // load Prior(x) into cl
       "jmp paeth_paeth2            \n\t"
+
    "paeth_abb2:                    \n\t"
       // pa <= pb; now test if pa <= pc
-      "cmpl pctemp, %%eax          \n\t"
+      "cmpl _pctemp, %%eax         \n\t"
       "jna paeth_abc2              \n\t"
       // pa > pc; Raw(x) = Paeth(x) + Prior(x-bpp)
       "movb (%%esi,%%edx,), %%cl   \n\t" // load Prior(x-bpp) into cl
       "jmp paeth_paeth2            \n\t"
+
    "paeth_abc2:                    \n\t"
       // pa <= pc; Raw(x) = Paeth(x) + Raw(x-bpp)
       "movb (%%edi,%%edx,), %%cl   \n\t" // load Raw(x-bpp) into cl
+
    "paeth_paeth2:                  \n\t"
       "incl %%ebx                  \n\t"
       "incl %%edx                  \n\t"
@@ -3913,491 +4143,602 @@
       "addb %%cl, -1(%%edi,%%ebx,) \n\t"
       "cmpl _FullLength, %%ebx     \n\t"
       "jb paeth_lp2                \n\t"
+
    "paeth_end:                     \n\t"
-      "emms                        \n\t" // End MMX instructions; prep for possible FP instrs.
+      "EMMS                        \n\t" // end MMX; prep for poss. FP instrs.
+#ifdef __PIC__
+      "popl %%ebx                  \n\t" // restore index to Global Offset Table
+#endif
 
-      : // FIXASM: output regs/vars go here, e.g.:  "=m" (memory_var)
+      : "=c" (dummy_value_c),            // output regs (dummy)
+        "=S" (dummy_value_S),
+        "=D" (dummy_value_D)
 
-      : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
+      : "0" (bpp),       // ecx          // input regs
+        "1" (prev_row),  // esi
+        "2" (row)        // edi
 
-      : "%eax", "%ebx", "%ecx", "%edx", "%edi", "%esi" // CHECKASM: clobber list
+      : "%eax", "%edx"                   // clobber list (no input regs!)
+#ifndef __PIC__
+      , "%ebx"
+#endif
    );
-#endif /* GRR_GCC_MMX_CONVERTED */
-}
+
+} /* end png_read_filter_row_mmx_paeth() */
+
+
+
+
+//===========================================================================//
+//                                                                           //
+//           P N G _ R E A D _ F I L T E R _ R O W _ M M X _ S U B           //
+//                                                                           //
+//===========================================================================//
 
 // Optimized code for PNG Sub filter decoder
-void /* PRIVATE */
+
+static void /* PRIVATE */
 png_read_filter_row_mmx_sub(png_row_infop row_info, png_bytep row)
 {
-#ifdef GRR_GCC_MMX_CONVERTED
    int bpp;
+   int dummy_value_a;
+   int dummy_value_D;
 
-   bpp = (row_info->pixel_depth + 7) >> 3; // Get # bytes per pixel
-   _FullLength  = row_info->rowbytes - bpp; // # of bytes to filter
-   __asm__ (
-      "movl row, %%edi             \n\t"
+   bpp = (row_info->pixel_depth + 7) >> 3;   // calc number of bytes per pixel
+   _FullLength = row_info->rowbytes - bpp;   // number of bytes to filter
+
+   __asm__ __volatile__ (
+//pre "movl row, %%edi             \n\t"
       "movl %%edi, %%esi           \n\t" // lp = row
-      "addl bpp, %%edi             \n\t" // rp = row + bpp
-      "xorl %%eax, %%eax           \n\t"
+//pre "movl bpp, %%eax             \n\t"
+      "addl %%eax, %%edi           \n\t" // rp = row + bpp
+//irr "xorl %%eax, %%eax           \n\t"
       // get # of bytes to alignment
       "movl %%edi, _dif            \n\t" // take start of row
       "addl $0xf, _dif             \n\t" // add 7 + 8 to incr past
-                                         // alignment boundary
-      "xorl %%ebx, %%ebx           \n\t"
+                                         //  alignment boundary
+      "xorl %%ecx, %%ecx           \n\t"
       "andl $0xfffffff8, _dif      \n\t" // mask to alignment boundary
       "subl %%edi, _dif            \n\t" // subtract from start ==> value
-                                         //  ebx at alignment
-      "jz sub_go                   \n\t"
-      // fix alignment
-   "sub_lp1:                       \n\t"
-      "movb (%%esi,%%ebx,), %%al   \n\t"
-      "addb %%al, (%%edi,%%ebx,)   \n\t"
-      "incl %%ebx                  \n\t"
-      "cmpl _dif, %%ebx            \n\t"
+      "jz sub_go                   \n\t" //  ecx at alignment
+
+   "sub_lp1:                       \n\t" // fix alignment
+      "movb (%%esi,%%ecx,), %%al   \n\t"
+      "addb %%al, (%%edi,%%ecx,)   \n\t"
+      "incl %%ecx                  \n\t"
+      "cmpl _dif, %%ecx            \n\t"
       "jb sub_lp1                  \n\t"
+
    "sub_go:                        \n\t"
-      "movl _FullLength, %%ecx     \n\t"
-      "movl %%ecx, %%edx           \n\t"
-      "subl %%ebx, %%edx           \n\t" // subtract alignment fix
+      "movl _FullLength, %%eax     \n\t"
+      "movl %%eax, %%edx           \n\t"
+      "subl %%ecx, %%edx           \n\t" // subtract alignment fix
       "andl $0x00000007, %%edx     \n\t" // calc bytes over mult of 8
-      "subl %%edx, %%ecx           \n\t" // drop over bytes from length
-      "movl %%ecx, _MMXLength      \n\t"
+      "subl %%edx, %%eax           \n\t" // drop over bytes from length
+      "movl %%eax, _MMXLength      \n\t"
 
-      : // FIXASM: output regs/vars go here, e.g.:  "=m" (memory_var)
+      : "=a" (dummy_value_a),   // 0      // output regs (dummy)
+        "=D" (dummy_value_D)    // 1
 
-      : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
+      : "0" (bpp),              // eax    // input regs
+        "1" (row)               // edi
 
-      : "%eax", "%ebx", "%ecx", "%edx", "%edi", "%esi" // CHECKASM: clobber list
+      : "%ebx", "%ecx", "%edx"            // clobber list
+      , "%esi"
+
+#if 0  /* MMX regs (%mm0, etc.) not supported by gcc 2.7.2.3 or egcs 1.1 */
+      , "%mm0", "%mm1", "%mm2", "%mm3"
+      , "%mm4", "%mm5", "%mm6", "%mm7"
+#endif
    );
 
-   // Now do the math for the rest of the row
-   switch ( bpp )
+   // now do the math for the rest of the row
+   switch (bpp)
    {
-        case 3:
-        {
-         ActiveMask.use  = 0x0000ffffff000000;
-         ShiftBpp.use = 24;       // == 3 * 8
-         ShiftRem.use  = 40;      // == 64 - 24
-         __asm__ (
-            "movl row, %%edi             \n\t"
-            "movq $ActiveMask, %%mm7     \n\t" // Load ActiveMask for 2nd active byte group
-            "movl %%edi, %%esi           \n\t" // lp = row
-            "addl bpp, %%edi             \n\t" // rp = row + bpp
-            "movq %%mm7, %%mm6           \n\t"
-            "movl _dif, %%ebx            \n\t"
-            "psllq $ShiftBpp, %%mm6      \n\t" // Move mask in mm6 to cover 3rd active
-                                  // byte group
-            // PRIME the pump (load the first Raw(x-bpp) data set
-            "movq -8(%%edi,%%ebx,), %%mm1 \n\t"
-         "sub_3lp:                       \n\t"
-            "psrlq $ShiftRem, %%mm1      \n\t" // Shift data for adding 1st bpp bytes
-                          // no need for mask; shift clears inactive bytes
-            // Add 1st active group
-            "movq (%%edi,%%ebx,), %%mm0  \n\t"
-            "paddb %%mm1, %%mm0          \n\t"
-            // Add 2nd active group
-            "movq %%mm0, %%mm1           \n\t" // mov updated Raws to mm1
-            "psllq $ShiftBpp, %%mm1      \n\t" // shift data to position correctly
-            "pand %%mm7, %%mm1           \n\t" // mask to use only 2nd active group
-            "paddb %%mm1, %%mm0          \n\t"
-            // Add 3rd active group
-            "movq %%mm0, %%mm1           \n\t" // mov updated Raws to mm1
-            "psllq $ShiftBpp, %%mm1      \n\t" // shift data to position correctly
-            "pand %%mm6, %%mm1           \n\t" // mask to use only 3rd active group
-            "addl $8, %%ebx              \n\t"
-            "paddb %%mm1, %%mm0          \n\t"
-            "cmpl _MMXLength, %%ebx      \n\t"
-            "movq %%mm0, -8(%%edi,%%ebx,) \n\t" // Write updated Raws back to array
-            // Prep for doing 1st add at top of loop
-            "movq %%mm0, %%mm1           \n\t"
-            "jb sub_3lp                  \n\t"
+      case 3:
+      {
+         _ActiveMask.use  = 0x0000ffffff000000LL;
+         _ShiftBpp.use = 24;       // == 3 * 8
+         _ShiftRem.use  = 40;      // == 64 - 24
 
-            : // FIXASM: output regs/vars go here, e.g.:  "=m" (memory_var)
+         __asm__ __volatile__ (
+// preload  "movl row, %%edi              \n\t"
+            "movq _ActiveMask, %%mm7       \n\t" // load _ActiveMask for 2nd
+                                                //  active byte group
+            "movl %%edi, %%esi            \n\t" // lp = row
+// preload  "movl bpp, %%eax              \n\t"
+            "addl %%eax, %%edi            \n\t" // rp = row + bpp
+            "movq %%mm7, %%mm6            \n\t"
+            "movl _dif, %%edx             \n\t"
+            "psllq _ShiftBpp, %%mm6       \n\t" // move mask in mm6 to cover
+                                                //  3rd active byte group
+            // prime the pump:  load the first Raw(x-bpp) data set
+            "movq -8(%%edi,%%edx,), %%mm1 \n\t"
 
-            : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
+         "sub_3lp:                        \n\t" // shift data for adding first
+            "psrlq _ShiftRem, %%mm1       \n\t" //  bpp bytes (no need for mask;
+                                                //  shift clears inactive bytes)
+            // add 1st active group
+            "movq (%%edi,%%edx,), %%mm0   \n\t"
+            "paddb %%mm1, %%mm0           \n\t"
 
-            : "%ebx", "%edi", "%esi", "%mm0", "%mm1", "%mm6", "%mm7" // CHECKASM: clobber list
+            // add 2nd active group
+            "movq %%mm0, %%mm1            \n\t" // mov updated Raws to mm1
+            "psllq _ShiftBpp, %%mm1       \n\t" // shift data to pos. correctly
+            "pand %%mm7, %%mm1            \n\t" // mask to use 2nd active group
+            "paddb %%mm1, %%mm0           \n\t"
+
+            // add 3rd active group
+            "movq %%mm0, %%mm1            \n\t" // mov updated Raws to mm1
+            "psllq _ShiftBpp, %%mm1       \n\t" // shift data to pos. correctly
+            "pand %%mm6, %%mm1            \n\t" // mask to use 3rd active group
+            "addl $8, %%edx               \n\t"
+            "paddb %%mm1, %%mm0           \n\t"
+
+            "cmpl _MMXLength, %%edx       \n\t"
+            "movq %%mm0, -8(%%edi,%%edx,) \n\t" // write updated Raws to array
+            "movq %%mm0, %%mm1            \n\t" // prep 1st add at top of loop
+            "jb sub_3lp                   \n\t"
+
+            : "=a" (dummy_value_a),   // 0      // output regs (dummy)
+              "=D" (dummy_value_D)    // 1
+
+            : "0" (bpp),              // eax    // input regs
+              "1" (row)               // edi
+
+            : "%edx", "%esi"                    // clobber list
+#if 0  /* MMX regs (%mm0, etc.) not supported by gcc 2.7.2.3 or egcs 1.1 */
+            , "%mm0", "%mm1", "%mm6", "%mm7"
+#endif
          );
       }
       break;
 
       case 1:
       {
-         // Placed here just in case this is a duplicate of the
-         // non-MMX code for the SUB filter in png_read_filter_row above
-         //
-         //         png_bytep rp;
-         //         png_bytep lp;
-         //         png_uint_32 i;
-         //         bpp = (row_info->pixel_depth + 7) >> 3;
-         //         for (i = (png_uint_32)bpp, rp = row + bpp, lp = row;
-         //            i < row_info->rowbytes; i++, rp++, lp++)
-         //      {
-         //            *rp = (png_byte)(((int)(*rp) + (int)(*lp)) & 0xff);
-         //      }
-         __asm__ (
-            "movl _dif, %%ebx            \n\t"
-            "movl row, %%edi             \n\t"
-            "cmpl _FullLength, %%ebx     \n\t"
+         __asm__ __volatile__ (
+            "movl _dif, %%edx            \n\t"
+// preload  "movl row, %%edi             \n\t"
+            "cmpl _FullLength, %%edx     \n\t"
             "jnb sub_1end                \n\t"
             "movl %%edi, %%esi           \n\t" // lp = row
             "xorl %%eax, %%eax           \n\t"
-            "addl bpp, %%edi             \n\t" // rp = row + bpp
+// preload  "movl bpp, %%eax             \n\t"
+            "addl %%eax, %%edi           \n\t" // rp = row + bpp
+
          "sub_1lp:                       \n\t"
-            "movb (%%esi,%%ebx,), %%al   \n\t"
-            "addb %%al, (%%edi,%%ebx,)   \n\t"
-            "incl %%ebx                  \n\t"
-            "cmpl _FullLength, %%ebx     \n\t"
+            "movb (%%esi,%%edx,), %%al   \n\t"
+            "addb %%al, (%%edi,%%edx,)   \n\t"
+            "incl %%edx                  \n\t"
+            "cmpl _FullLength, %%edx     \n\t"
             "jb sub_1lp                  \n\t"
+
          "sub_1end:                      \n\t"
 
-            : // FIXASM: output regs/vars go here, e.g.:  "=m" (memory_var)
+            : "=a" (dummy_value_a),   // 0      // output regs (dummy)
+              "=D" (dummy_value_D)    // 1
 
-            : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
+            : "0" (bpp),              // eax    // input regs
+              "1" (row)               // edi
 
-            : "%eax", "%ebx", "%edi", "%esi" // CHECKASM: clobber list
+            : "%edx", "%esi"                    // clobber list
          );
       }
       return;
 
       case 6:
-      case 7:
       case 4:
-      case 5:
+      //case 7:   // GRR BOGUS
+      //case 5:   // GRR BOGUS
       {
-         ShiftBpp.use = bpp << 3;
-         ShiftRem.use = 64 - ShiftBpp.use;
-         __asm__ (
-            "movl row, %%edi             \n\t"
-            "movl _dif, %%ebx            \n\t"
-            "movl %%edi, %%esi           \n\t" // lp = row
-            "addl bpp, %%edi             \n\t" // rp = row + bpp
-            // PRIME the pump (load the first Raw(x-bpp) data set
-            "movq -8(%%edi,%%ebx,), %%mm1 \n\t"
-         "sub_4lp:                       \n\t"
-            "psrlq $ShiftRem, %%mm1      \n\t" // Shift data for adding 1st bpp bytes
-                          // no need for mask; shift clears inactive bytes
-            "movq (%%edi,%%ebx,), %%mm0  \n\t"
-            "paddb %%mm1, %%mm0          \n\t"
-            // Add 2nd active group
-            "movq %%mm0, %%mm1           \n\t" // mov updated Raws to mm1
-            "psllq $ShiftBpp, %%mm1      \n\t" // shift data to position correctly
-                                   // there is no need for any mask
-                                   // since shift clears inactive bits/bytes
-            "addl $8, %%ebx              \n\t"
-            "paddb %%mm1, %%mm0          \n\t"
-            "cmpl _MMXLength, %%ebx      \n\t"
-            "movq %%mm0, -8(%%edi,%%ebx,) \n\t"
-            "movq %%mm0, %%mm1           \n\t" // Prep for doing 1st add at top of loop
-            "jb sub_4lp                  \n\t"
+         _ShiftBpp.use = bpp << 3;
+         _ShiftRem.use = 64 - _ShiftBpp.use;
 
-            : // FIXASM: output regs/vars go here, e.g.:  "=m" (memory_var)
+         __asm__ __volatile__ (
+// preload  "movl row, %%edi              \n\t"
+            "movl _dif, %%edx             \n\t"
+            "movl %%edi, %%esi            \n\t" // lp = row
+// preload  "movl bpp, %%eax              \n\t"
+            "addl %%eax, %%edi            \n\t" // rp = row + bpp
 
-            : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
+            // prime the pump:  load the first Raw(x-bpp) data set
+            "movq -8(%%edi,%%edx,), %%mm1 \n\t"
 
-            : "%ebx", "%edi", "%esi", "%mm0", "%mm1" // CHECKASM: clobber list
+         "sub_4lp:                        \n\t" // shift data for adding first
+            "psrlq _ShiftRem, %%mm1       \n\t" //  bpp bytes (no need for mask;
+                                                //  shift clears inactive bytes)
+            "movq (%%edi,%%edx,), %%mm0   \n\t"
+            "paddb %%mm1, %%mm0           \n\t"
+
+            // add 2nd active group
+            "movq %%mm0, %%mm1            \n\t" // mov updated Raws to mm1
+            "psllq _ShiftBpp, %%mm1       \n\t" // shift data to pos. correctly
+            "addl $8, %%edx               \n\t"
+            "paddb %%mm1, %%mm0           \n\t"
+
+            "cmpl _MMXLength, %%edx       \n\t"
+            "movq %%mm0, -8(%%edi,%%edx,) \n\t"
+            "movq %%mm0, %%mm1            \n\t" // prep 1st add at top of loop
+            "jb sub_4lp                   \n\t"
+
+            : "=a" (dummy_value_a),   // 0      // output regs (dummy)
+              "=D" (dummy_value_D)    // 1
+
+            : "0" (bpp),              // eax    // input regs
+              "1" (row)               // edi
+
+            : "%edx", "%esi"                    // clobber list
+#if 0  /* MMX regs (%mm0, etc.) not supported by gcc 2.7.2.3 or egcs 1.1 */
+            , "%mm0", "%mm1"
+#endif
          );
       }
       break;
 
       case 2:
       {
-         ActiveMask.use  = 0x00000000ffff0000;
-         ShiftBpp.use = 16;       // == 2 * 8
-         ShiftRem.use = 48;       // == 64 - 16
-         __asm__ (
-            "movq $ActiveMask, %%mm7     \n\t" // Load ActiveMask for 2nd active byte group
-            "movl _dif, %%ebx            \n\t"
-            "movq %%mm7, %%mm6           \n\t"
-            "movl row, %%edi             \n\t"
-            "psllq $ShiftBpp, %%mm6      \n\t" // Move mask in mm6 to cover 3rd active
-                                    //  byte group
-            "movl %%edi, %%esi           \n\t" // lp = row
-            "movq %%mm6, %%mm5           \n\t"
-            "addl bpp, %%edi             \n\t" // rp = row + bpp
-            "psllq $ShiftBpp, %%mm5      \n\t" // Move mask in mm5 to cover 4th active
-                                    //  byte group
-            // PRIME the pump (load the first Raw(x-bpp) data set
-            "movq -8(%%edi,%%ebx,), %%mm1 \n\t"
-         "sub_2lp:                       \n\t"
-            // Add 1st active group
-            "psrlq $ShiftRem, %%mm1      \n\t" // Shift data for adding 1st bpp bytes
-                                    // no need for mask; shift clears inactive
-                                    //  bytes
-            "movq (%%edi,%%ebx,), %%mm0  \n\t"
-            "paddb %%mm1, %%mm0          \n\t"
-            // Add 2nd active group
-            "movq %%mm0, %%mm1           \n\t" // mov updated Raws to mm1
-            "psllq $ShiftBpp, %%mm1      \n\t" // shift data to position correctly
-            "pand %%mm7, %%mm1           \n\t" // mask to use only 2nd active group
-            "paddb %%mm1, %%mm0          \n\t"
-            // Add 3rd active group
-            "movq %%mm0, %%mm1           \n\t" // mov updated Raws to mm1
-            "psllq $ShiftBpp, %%mm1      \n\t" // shift data to position correctly
-            "pand %%mm6, %%mm1           \n\t" // mask to use only 3rd active group
-            "paddb %%mm1, %%mm0          \n\t"
-            // Add 4th active group
-            "movq %%mm0, %%mm1           \n\t" // mov updated Raws to mm1
-            "psllq $ShiftBpp, %%mm1      \n\t" // shift data to position correctly
-            "pand %%mm5, %%mm1           \n\t" // mask to use only 4th active group
-            "addl $8, %%ebx              \n\t"
-            "paddb %%mm1, %%mm0          \n\t"
-            "cmpl _MMXLength, %%ebx      \n\t"
-            "movq %%mm0, -8(%%edi,%%ebx,) \n\t" // Write updated Raws back to array
-            "movq %%mm0, %%mm1           \n\t" // Prep for doing 1st add at top of loop
-            "jb sub_2lp                  \n\t"
+         _ActiveMask.use = 0x00000000ffff0000LL;
+         _ShiftBpp.use = 16;       // == 2 * 8
+         _ShiftRem.use = 48;       // == 64 - 16
 
-            : // FIXASM: output regs/vars go here, e.g.:  "=m" (memory_var)
+         __asm__ __volatile__ (
+            "movq _ActiveMask, %%mm7      \n\t" // load _ActiveMask for 2nd
+                                                //  active byte group
+            "movl _dif, %%edx             \n\t"
+            "movq %%mm7, %%mm6            \n\t"
+// preload  "movl row, %%edi              \n\t"
+            "psllq _ShiftBpp, %%mm6       \n\t" // move mask in mm6 to cover
+                                                //  3rd active byte group
+            "movl %%edi, %%esi            \n\t" // lp = row
+            "movq %%mm6, %%mm5            \n\t"
+// preload  "movl bpp, %%eax              \n\t"
+            "addl %%eax, %%edi            \n\t" // rp = row + bpp
+            "psllq _ShiftBpp, %%mm5       \n\t" // move mask in mm5 to cover
+                                                //  4th active byte group
+            // prime the pump:  load the first Raw(x-bpp) data set
+            "movq -8(%%edi,%%edx,), %%mm1 \n\t"
 
-            : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
+         "sub_2lp:                        \n\t" // shift data for adding first
+            "psrlq _ShiftRem, %%mm1       \n\t" //  bpp bytes (no need for mask;
+                                                //  shift clears inactive bytes)
+            // add 1st active group
+            "movq (%%edi,%%edx,), %%mm0   \n\t"
+            "paddb %%mm1, %%mm0           \n\t"
 
-            : "%ebx", "%edi", "%esi", "%mm0", "%mm1", "%mm5", "%mm6", "%mm7" // CHECKASM: clobber list
+            // add 2nd active group
+            "movq %%mm0, %%mm1            \n\t" // mov updated Raws to mm1
+            "psllq _ShiftBpp, %%mm1       \n\t" // shift data to pos. correctly
+            "pand %%mm7, %%mm1            \n\t" // mask to use 2nd active group
+            "paddb %%mm1, %%mm0           \n\t"
+
+            // add 3rd active group
+            "movq %%mm0, %%mm1            \n\t" // mov updated Raws to mm1
+            "psllq _ShiftBpp, %%mm1       \n\t" // shift data to pos. correctly
+            "pand %%mm6, %%mm1            \n\t" // mask to use 3rd active group
+            "paddb %%mm1, %%mm0           \n\t"
+
+            // add 4th active group
+            "movq %%mm0, %%mm1            \n\t" // mov updated Raws to mm1
+            "psllq _ShiftBpp, %%mm1       \n\t" // shift data to pos. correctly
+            "pand %%mm5, %%mm1            \n\t" // mask to use 4th active group
+            "addl $8, %%edx               \n\t"
+            "paddb %%mm1, %%mm0           \n\t"
+            "cmpl _MMXLength, %%edx       \n\t"
+            "movq %%mm0, -8(%%edi,%%edx,) \n\t" // write updated Raws to array
+            "movq %%mm0, %%mm1            \n\t" // prep 1st add at top of loop
+            "jb sub_2lp                   \n\t"
+
+            : "=a" (dummy_value_a),   // 0      // output regs (dummy)
+              "=D" (dummy_value_D)    // 1
+
+            : "0" (bpp),              // eax    // input regs
+              "1" (row)               // edi
+
+            : "%edx", "%esi"                    // clobber list
+#if 0  /* MMX regs (%mm0, etc.) not supported by gcc 2.7.2.3 or egcs 1.1 */
+            , "%mm0", "%mm1", "%mm5", "%mm6", "%mm7"
+#endif
          );
       }
       break;
+
       case 8:
       {
-         __asm__ (
-            "movl row, %%edi             \n\t"
-            "movl _dif, %%ebx            \n\t"
-            "movl %%edi, %%esi           \n\t" // lp = row
-            "addl bpp, %%edi             \n\t" // rp = row + bpp
-            "movl _MMXLength, %%ecx      \n\t"
-            "movq -8(%%edi,%%ebx,), %%mm7 \n\t" // PRIME the pump (load the first
-                                    // Raw(x-bpp) data set
-            "andl $0x0000003f, %%ecx     \n\t" // calc bytes over mult of 64
-         "sub_8lp:                       \n\t"
-            "movq (%%edi,%%ebx,), %%mm0  \n\t" // Load Sub(x) for 1st 8 bytes
-            "paddb %%mm7, %%mm0          \n\t"
-            "movq 8(%%edi,%%ebx,), %%mm1 \n\t" // Load Sub(x) for 2nd 8 bytes
-            "movq %%mm0, (%%edi,%%ebx,)  \n\t" // Write Raw(x) for 1st 8 bytes
-                                   // Now mm0 will be used as Raw(x-bpp) for
-                                   // the 2nd group of 8 bytes.  This will be
-                                   // repeated for each group of 8 bytes with
-                                   // the 8th group being used as the Raw(x-bpp)
-                                   // for the 1st group of the next loop.
-            "paddb %%mm0, %%mm1          \n\t"
-            "movq 16(%%edi,%%ebx,), %%mm2 \n\t" // Load Sub(x) for 3rd 8 bytes
-            "movq %%mm1, 8(%%edi,%%ebx,) \n\t" // Write Raw(x) for 2nd 8 bytes
-            "paddb %%mm1, %%mm2          \n\t"
-            "movq 24(%%edi,%%ebx,), %%mm3 \n\t" // Load Sub(x) for 4th 8 bytes
-            "movq %%mm2, 16(%%edi,%%ebx,) \n\t" // Write Raw(x) for 3rd 8 bytes
-            "paddb %%mm2, %%mm3          \n\t"
-            "movq 32(%%edi,%%ebx,), %%mm4 \n\t" // Load Sub(x) for 5th 8 bytes
-            "movq %%mm3, 24(%%edi,%%ebx,) \n\t" // Write Raw(x) for 4th 8 bytes
-            "paddb %%mm3, %%mm4          \n\t"
-            "movq 40(%%edi,%%ebx,), %%mm5 \n\t" // Load Sub(x) for 6th 8 bytes
-            "movq %%mm4, 32(%%edi,%%ebx,) \n\t" // Write Raw(x) for 5th 8 bytes
-            "paddb %%mm4, %%mm5          \n\t"
-            "movq 48(%%edi,%%ebx,), %%mm6 \n\t" // Load Sub(x) for 7th 8 bytes
-            "movq %%mm5, 40(%%edi,%%ebx,) \n\t" // Write Raw(x) for 6th 8 bytes
-            "paddb %%mm5, %%mm6          \n\t"
-            "movq 56(%%edi,%%ebx,), %%mm7 \n\t" // Load Sub(x) for 8th 8 bytes
-            "movq %%mm6, 48(%%edi,%%ebx,) \n\t" // Write Raw(x) for 7th 8 bytes
-            "addl $64, %%ebx             \n\t"
-            "paddb %%mm6, %%mm7          \n\t"
-            "cmpl %%ecx, %%ebx           \n\t"
-            "movq %%mm7, -8(%%edi,%%ebx,) \n\t" // Write Raw(x) for 8th 8 bytes
-            "jb sub_8lp                  \n\t"
-            "cmpl _MMXLength, %%ebx      \n\t"
-            "jnb sub_8lt8                \n\t"
-         "sub_8lpA:                      \n\t"
-            "movq (%%edi,%%ebx,), %%mm0  \n\t"
-            "addl $8, %%ebx              \n\t"
-            "paddb %%mm7, %%mm0          \n\t"
-            "cmpl _MMXLength, %%ebx      \n\t"
-            "movq %%mm0, -8(%%edi,%%ebx,) \n\t" // use -8 to offset early add to ebx
-            "movq %%mm0, %%mm7           \n\t" // Move calculated Raw(x) data to mm1 to
-                                    // be the new Raw(x-bpp) for the next loop
-            "jb sub_8lpA                 \n\t"
-         "sub_8lt8:                      \n\t"
+         __asm__ __volatile__ (
+// preload  "movl row, %%edi              \n\t"
+            "movl _dif, %%edx             \n\t"
+            "movl %%edi, %%esi            \n\t" // lp = row
+// preload  "movl bpp, %%eax              \n\t"
+            "addl %%eax, %%edi            \n\t" // rp = row + bpp
+            "movl _MMXLength, %%ecx       \n\t"
 
-            : // FIXASM: output regs/vars go here, e.g.:  "=m" (memory_var)
+            // prime the pump:  load the first Raw(x-bpp) data set
+            "movq -8(%%edi,%%edx,), %%mm7 \n\t"
+            "andl $0x0000003f, %%ecx      \n\t" // calc bytes over mult of 64
 
-            : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
+         "sub_8lp:                        \n\t"
+            "movq (%%edi,%%edx,), %%mm0   \n\t" // load Sub(x) for 1st 8 bytes
+            "paddb %%mm7, %%mm0           \n\t"
+            "movq 8(%%edi,%%edx,), %%mm1  \n\t" // load Sub(x) for 2nd 8 bytes
+            "movq %%mm0, (%%edi,%%edx,)   \n\t" // write Raw(x) for 1st 8 bytes
 
-            : "%ebx", "%ecx", "%edi", "%esi", "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7" // CHECKASM: clobber list
+            // Now mm0 will be used as Raw(x-bpp) for the 2nd group of 8 bytes.
+            // This will be repeated for each group of 8 bytes with the 8th
+            // group being used as the Raw(x-bpp) for the 1st group of the
+            // next loop.
+
+            "paddb %%mm0, %%mm1           \n\t"
+            "movq 16(%%edi,%%edx,), %%mm2 \n\t" // load Sub(x) for 3rd 8 bytes
+            "movq %%mm1, 8(%%edi,%%edx,)  \n\t" // write Raw(x) for 2nd 8 bytes
+            "paddb %%mm1, %%mm2           \n\t"
+            "movq 24(%%edi,%%edx,), %%mm3 \n\t" // load Sub(x) for 4th 8 bytes
+            "movq %%mm2, 16(%%edi,%%edx,) \n\t" // write Raw(x) for 3rd 8 bytes
+            "paddb %%mm2, %%mm3           \n\t"
+            "movq 32(%%edi,%%edx,), %%mm4 \n\t" // load Sub(x) for 5th 8 bytes
+            "movq %%mm3, 24(%%edi,%%edx,) \n\t" // write Raw(x) for 4th 8 bytes
+            "paddb %%mm3, %%mm4           \n\t"
+            "movq 40(%%edi,%%edx,), %%mm5 \n\t" // load Sub(x) for 6th 8 bytes
+            "movq %%mm4, 32(%%edi,%%edx,) \n\t" // write Raw(x) for 5th 8 bytes
+            "paddb %%mm4, %%mm5           \n\t"
+            "movq 48(%%edi,%%edx,), %%mm6 \n\t" // load Sub(x) for 7th 8 bytes
+            "movq %%mm5, 40(%%edi,%%edx,) \n\t" // write Raw(x) for 6th 8 bytes
+            "paddb %%mm5, %%mm6           \n\t"
+            "movq 56(%%edi,%%edx,), %%mm7 \n\t" // load Sub(x) for 8th 8 bytes
+            "movq %%mm6, 48(%%edi,%%edx,) \n\t" // write Raw(x) for 7th 8 bytes
+            "addl $64, %%edx              \n\t"
+            "paddb %%mm6, %%mm7           \n\t"
+            "cmpl %%ecx, %%edx            \n\t"
+            "movq %%mm7, -8(%%edi,%%edx,) \n\t" // write Raw(x) for 8th 8 bytes
+            "jb sub_8lp                   \n\t"
+
+            "cmpl _MMXLength, %%edx       \n\t"
+            "jnb sub_8lt8                 \n\t"
+
+         "sub_8lpA:                       \n\t"
+            "movq (%%edi,%%edx,), %%mm0   \n\t"
+            "addl $8, %%edx               \n\t"
+            "paddb %%mm7, %%mm0           \n\t"
+            "cmpl _MMXLength, %%edx       \n\t"
+            "movq %%mm0, -8(%%edi,%%edx,) \n\t" // -8 to offset early addl edx
+            "movq %%mm0, %%mm7            \n\t" // move calculated Raw(x) data
+                                                //  to mm1 to be new Raw(x-bpp)
+                                                //  for next loop
+            "jb sub_8lpA                  \n\t"
+
+         "sub_8lt8:                       \n\t"
+
+            : "=a" (dummy_value_a),   // 0      // output regs (dummy)
+              "=D" (dummy_value_D)    // 1
+
+            : "0" (bpp),              // eax    // input regs
+              "1" (row)               // edi
+
+            : "%ecx", "%edx", "%esi"            // clobber list
+#if 0  /* MMX regs (%mm0, etc.) not supported by gcc 2.7.2.3 or egcs 1.1 */
+            , "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7"
+#endif
          );
       }
       break;
 
-      default:                // bpp greater than 8 bytes
+      default:                // bpp greater than 8 bytes	GRR BOGUS
       {
-         __asm__ (
-            "movl _dif, %%ebx            \n\t"
-            "movl row, %%edi             \n\t"
-            "movl %%edi, %%esi           \n\t" // lp = row
-            "addl bpp, %%edi             \n\t" // rp = row + bpp
-         "sub_Alp:                       \n\t"
-            "movq (%%edi,%%ebx,), %%mm0  \n\t"
-            "movq (%%esi,%%ebx,), %%mm1  \n\t"
-            "addl $8, %%ebx              \n\t"
-            "paddb %%mm1, %%mm0          \n\t"
-            "cmpl _MMXLength, %%ebx      \n\t"
-            "movq %%mm0, -8(%%edi,%%ebx,) \n\t" // mov does not affect flags; -8 to offset
-                                   //  add ebx
-            "jb sub_Alp                  \n\t"
+         __asm__ __volatile__ (
+            "movl _dif, %%edx             \n\t"
+// preload  "movl row, %%edi              \n\t"
+            "movl %%edi, %%esi            \n\t" // lp = row
+// preload  "movl bpp, %%eax              \n\t"
+            "addl %%eax, %%edi            \n\t" // rp = row + bpp
 
-            : // FIXASM: output regs/vars go here, e.g.:  "=m" (memory_var)
+         "sub_Alp:                        \n\t"
+            "movq (%%edi,%%edx,), %%mm0   \n\t"
+            "movq (%%esi,%%edx,), %%mm1   \n\t"
+            "addl $8, %%edx               \n\t"
+            "paddb %%mm1, %%mm0           \n\t"
+            "cmpl _MMXLength, %%edx       \n\t"
+            "movq %%mm0, -8(%%edi,%%edx,) \n\t" // mov does not affect flags;
+                                                //  -8 to offset addl edx
+            "jb sub_Alp                   \n\t"
 
-            : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
+            : "=a" (dummy_value_a),   // 0      // output regs (dummy)
+              "=D" (dummy_value_D)    // 1
 
-            : "%ebx", "%edi", "%esi", "%mm0", "%mm1" // CHECKASM: clobber list
+            : "0" (bpp),              // eax    // input regs
+              "1" (row)               // edi
+
+            : "%edx", "%esi"                    // clobber list
+#if 0  /* MMX regs (%mm0, etc.) not supported by gcc 2.7.2.3 or egcs 1.1 */
+            , "%mm0", "%mm1"
+#endif
          );
       }
       break;
 
-   } // end switch ( bpp )
+   } // end switch (bpp)
 
-   __asm__ (
-      "movl _MMXLength, %%ebx      \n\t"
-      "movl row, %%edi             \n\t"
-      "cmpl _FullLength, %%ebx     \n\t"
-      "jnb sub_end                 \n\t"
-      "movl %%edi, %%esi           \n\t" // lp = row
-      "xorl %%eax, %%eax           \n\t"
-      "addl bpp, %%edi             \n\t" // rp = row + bpp
-   "sub_lp2:                       \n\t"
-      "movb (%%esi,%%ebx,), %%al   \n\t"
-      "addb %%al, (%%edi,%%ebx,)   \n\t"
-      "incl %%ebx                  \n\t"
-      "cmpl _FullLength, %%ebx     \n\t"
-      "jb sub_lp2                  \n\t"
-   "sub_end:                       \n\t"
-      "emms                        \n\t" // end MMX instructions
+   __asm__ __volatile__ (
+      "movl _MMXLength, %%edx       \n\t"
+//pre "movl row, %%edi              \n\t"
+      "cmpl _FullLength, %%edx      \n\t"
+      "jnb sub_end                  \n\t"
 
-      : // FIXASM: output regs/vars go here, e.g.:  "=m" (memory_var)
+      "movl %%edi, %%esi            \n\t" // lp = row
+//pre "movl bpp, %%eax              \n\t"
+      "addl %%eax, %%edi            \n\t" // rp = row + bpp
+      "xorl %%eax, %%eax            \n\t"
 
-      : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
+   "sub_lp2:                        \n\t"
+      "movb (%%esi,%%edx,), %%al    \n\t"
+      "addb %%al, (%%edi,%%edx,)    \n\t"
+      "incl %%edx                   \n\t"
+      "cmpl _FullLength, %%edx      \n\t"
+      "jb sub_lp2                   \n\t"
 
-      : "%eax", "%ebx", "%edi", "%esi" // CHECKASM: clobber list
+   "sub_end:                        \n\t"
+      "EMMS                         \n\t" // end MMX instructions
+
+      : "=a" (dummy_value_a),   // 0      // output regs (dummy)
+        "=D" (dummy_value_D)    // 1
+
+      : "0" (bpp),              // eax    // input regs
+        "1" (row)               // edi
+
+      : "%edx", "%esi"                    // clobber list
    );
-#endif /* GRR_GCC_MMX_CONVERTED */
-}
+
+} // end of png_read_filter_row_mmx_sub()
+
+
+
+
+//===========================================================================//
+//                                                                           //
+//            P N G _ R E A D _ F I L T E R _ R O W _ M M X _ U P            //
+//                                                                           //
+//===========================================================================//
 
 // Optimized code for PNG Up filter decoder
-void /* PRIVATE */
+
+static void /* PRIVATE */
 png_read_filter_row_mmx_up(png_row_infop row_info, png_bytep row,
                            png_bytep prev_row)
 {
-#ifdef GRR_GCC_MMX_CONVERTED
    png_uint_32 len;
+   int dummy_value_d;   // fix 'forbidden register 3 (dx) was spilled' error
+   int dummy_value_S;
+   int dummy_value_D;
 
-   len = row_info->rowbytes;       // # of bytes to filter
-   __asm__ (
-      "movl row, %%edi             \n\t"
+   len = row_info->rowbytes;              // number of bytes to filter
+
+   __asm__ __volatile__ (
+//pre "movl row, %%edi              \n\t"
       // get # of bytes to alignment
-      "movl %%edi, %%ecx           \n\t"
-      "xorl %%ebx, %%ebx           \n\t"
-      "addl $0x7, %%ecx            \n\t"
-      "xorl %%eax, %%eax           \n\t"
-      "andl $0xfffffff8, %%ecx     \n\t"
-      "movl prev_row, %%esi        \n\t"
-      "subl %%edi, %%ecx           \n\t"
-      "jz up_go                    \n\t"
-      // fix alignment
-   "up_lp1:                        \n\t"
-      "movb (%%edi,%%ebx,), %%al   \n\t"
-      "addb (%%esi,%%ebx,), %%al   \n\t"
-      "incl %%ebx                  \n\t"
-      "cmpl %%ecx, %%ebx           \n\t"
-      "movb %%al, -1(%%edi,%%ebx,) \n\t" // mov does not affect flags; -1 to offset inc ebx
-      "jb up_lp1                   \n\t"
-   "up_go:                         \n\t"
-      "movl len, %%ecx             \n\t"
-      "movl %%ecx, %%edx           \n\t"
-      "subl %%ebx, %%edx           \n\t" // subtract alignment fix
-      "andl $0x0000003f, %%edx     \n\t" // calc bytes over mult of 64
-      "subl %%edx, %%ecx           \n\t" // drop over bytes from length
-      // Unrolled loop - use all MMX registers and interleave to reduce
+      "movl %%edi, %%ecx            \n\t"
+      "xorl %%ebx, %%ebx            \n\t"
+      "addl $0x7, %%ecx             \n\t"
+      "xorl %%eax, %%eax            \n\t"
+      "andl $0xfffffff8, %%ecx      \n\t"
+//pre "movl prev_row, %%esi         \n\t"
+      "subl %%edi, %%ecx            \n\t"
+      "jz up_go                     \n\t"
+
+   "up_lp1:                         \n\t" // fix alignment
+      "movb (%%edi,%%ebx,), %%al    \n\t"
+      "addb (%%esi,%%ebx,), %%al    \n\t"
+      "incl %%ebx                   \n\t"
+      "cmpl %%ecx, %%ebx            \n\t"
+      "movb %%al, -1(%%edi,%%ebx,)  \n\t" // mov does not affect flags; -1 to
+      "jb up_lp1                    \n\t" //  offset incl ebx
+
+   "up_go:                          \n\t"
+//pre "movl len, %%edx              \n\t"
+      "movl %%edx, %%ecx            \n\t"
+      "subl %%ebx, %%edx            \n\t" // subtract alignment fix
+      "andl $0x0000003f, %%edx      \n\t" // calc bytes over mult of 64
+      "subl %%edx, %%ecx            \n\t" // drop over bytes from length
+
+      // unrolled loop - use all MMX registers and interleave to reduce
       // number of branch instructions (loops) and reduce partial stalls
-   "up_loop:                       \n\t"
-      "movq (%%esi,%%ebx,), %%mm1  \n\t"
-      "movq (%%edi,%%ebx,), %%mm0  \n\t"
-      "movq 8(%%esi,%%ebx,), %%mm3 \n\t"
-      "paddb %%mm1, %%mm0          \n\t"
-      "movq 8(%%edi,%%ebx,), %%mm2 \n\t"
-      "movq %%mm0, (%%edi,%%ebx,)  \n\t"
-      "paddb %%mm3, %%mm2          \n\t"
+   "up_loop:                        \n\t"
+      "movq (%%esi,%%ebx,), %%mm1   \n\t"
+      "movq (%%edi,%%ebx,), %%mm0   \n\t"
+      "movq 8(%%esi,%%ebx,), %%mm3  \n\t"
+      "paddb %%mm1, %%mm0           \n\t"
+      "movq 8(%%edi,%%ebx,), %%mm2  \n\t"
+      "movq %%mm0, (%%edi,%%ebx,)   \n\t"
+      "paddb %%mm3, %%mm2           \n\t"
       "movq 16(%%esi,%%ebx,), %%mm5 \n\t"
-      "movq %%mm2, 8(%%edi,%%ebx,) \n\t"
+      "movq %%mm2, 8(%%edi,%%ebx,)  \n\t"
       "movq 16(%%edi,%%ebx,), %%mm4 \n\t"
       "movq 24(%%esi,%%ebx,), %%mm7 \n\t"
-      "paddb %%mm5, %%mm4          \n\t"
+      "paddb %%mm5, %%mm4           \n\t"
       "movq 24(%%edi,%%ebx,), %%mm6 \n\t"
       "movq %%mm4, 16(%%edi,%%ebx,) \n\t"
-      "paddb %%mm7, %%mm6          \n\t"
+      "paddb %%mm7, %%mm6           \n\t"
       "movq 32(%%esi,%%ebx,), %%mm1 \n\t"
       "movq %%mm6, 24(%%edi,%%ebx,) \n\t"
       "movq 32(%%edi,%%ebx,), %%mm0 \n\t"
       "movq 40(%%esi,%%ebx,), %%mm3 \n\t"
-      "paddb %%mm1, %%mm0          \n\t"
+      "paddb %%mm1, %%mm0           \n\t"
       "movq 40(%%edi,%%ebx,), %%mm2 \n\t"
       "movq %%mm0, 32(%%edi,%%ebx,) \n\t"
-      "paddb %%mm3, %%mm2          \n\t"
+      "paddb %%mm3, %%mm2           \n\t"
       "movq 48(%%esi,%%ebx,), %%mm5 \n\t"
       "movq %%mm2, 40(%%edi,%%ebx,) \n\t"
       "movq 48(%%edi,%%ebx,), %%mm4 \n\t"
       "movq 56(%%esi,%%ebx,), %%mm7 \n\t"
-      "paddb %%mm5, %%mm4          \n\t"
+      "paddb %%mm5, %%mm4           \n\t"
       "movq 56(%%edi,%%ebx,), %%mm6 \n\t"
       "movq %%mm4, 48(%%edi,%%ebx,) \n\t"
-      "addl $64, %%ebx             \n\t"
-      "paddb %%mm7, %%mm6          \n\t"
-      "cmpl %%ecx, %%ebx           \n\t"
+      "addl $64, %%ebx              \n\t"
+      "paddb %%mm7, %%mm6           \n\t"
+      "cmpl %%ecx, %%ebx            \n\t"
       "movq %%mm6, -8(%%edi,%%ebx,) \n\t" // (+56)movq does not affect flags;
-                                     // -8 to offset add ebx
-      "jb up_loop                  \n\t"
+      "jb up_loop                   \n\t" //  -8 to offset addl ebx
 
-      "cmpl $0, %%edx              \n\t" // Test for bytes over mult of 64
-      "jz up_end                   \n\t"
+      "cmpl $0, %%edx               \n\t" // test for bytes over mult of 64
+      "jz up_end                    \n\t"
 
+      "cmpl $8, %%edx               \n\t" // test for less than 8 bytes
+      "jb up_lt8                    \n\t" //  [added by lcreeve@netins.net]
 
-      // 2 lines added by lcreeve@netins.net
-      // (mail 11 Jul 98 in png-implement list)
-      "cmpl $8, %%edx              \n\t" //test for less than 8 bytes
-      "jb up_lt8                   \n\t"
+      "addl %%edx, %%ecx            \n\t"
+      "andl $0x00000007, %%edx      \n\t" // calc bytes over mult of 8
+      "subl %%edx, %%ecx            \n\t" // drop over bytes from length
+      "jz up_lt8                    \n\t"
 
+   "up_lpA:                         \n\t" // use MMX regs to update 8 bytes sim.
+      "movq (%%esi,%%ebx,), %%mm1   \n\t"
+      "movq (%%edi,%%ebx,), %%mm0   \n\t"
+      "addl $8, %%ebx               \n\t"
+      "paddb %%mm1, %%mm0           \n\t"
+      "cmpl %%ecx, %%ebx            \n\t"
+      "movq %%mm0, -8(%%edi,%%ebx,) \n\t" // movq does not affect flags; -8 to
+      "jb up_lpA                    \n\t" //  offset add ebx
+      "cmpl $0, %%edx               \n\t" // test for bytes over mult of 8
+      "jz up_end                    \n\t"
 
-      "addl %%edx, %%ecx           \n\t"
-      "andl $0x00000007, %%edx     \n\t" // calc bytes over mult of 8
-      "subl %%edx, %%ecx           \n\t" // drop over bytes from length
-      "jz up_lt8                   \n\t"
-      // Loop using MMX registers mm0 & mm1 to update 8 bytes simultaneously
-   "up_lpA:                        \n\t"
-      "movq (%%esi,%%ebx,), %%mm1  \n\t"
-      "movq (%%edi,%%ebx,), %%mm0  \n\t"
-      "addl $8, %%ebx              \n\t"
-      "paddb %%mm1, %%mm0          \n\t"
-      "cmpl %%ecx, %%ebx           \n\t"
-      "movq %%mm0, -8(%%edi,%%ebx,) \n\t" // movq does not affect flags; -8 to offset add ebx
-      "jb up_lpA                   \n\t"
-      "cmpl $0, %%edx              \n\t" // Test for bytes over mult of 8
-      "jz up_end                   \n\t"
-   "up_lt8:                        \n\t"
-      "xorl %%eax, %%eax           \n\t"
-      "addl %%edx, %%ecx           \n\t" // move over byte count into counter
-      // Loop using x86 registers to update remaining bytes
-   "up_lp2:                        \n\t"
-      "movb (%%edi,%%ebx,), %%al   \n\t"
-      "addb (%%esi,%%ebx,), %%al   \n\t"
-      "incl %%ebx                  \n\t"
-      "cmpl %%ecx, %%ebx           \n\t"
-      "movb %%al, -1(%%edi,%%ebx,) \n\t" // mov does not affect flags; -1 to offset inc ebx
-      "jb up_lp2                   \n\t"
-   "up_end:                        \n\t"
-      // Conversion of filtered row completed
-      "emms                        \n\t" // End MMX instructions; prep for possible FP instrs.
+   "up_lt8:                         \n\t"
+      "xorl %%eax, %%eax            \n\t"
+      "addl %%edx, %%ecx            \n\t" // move over byte count into counter
 
-      : // FIXASM: output regs/vars go here, e.g.:  "=m" (memory_var)
+   "up_lp2:                         \n\t" // use x86 regs for remaining bytes
+      "movb (%%edi,%%ebx,), %%al    \n\t"
+      "addb (%%esi,%%ebx,), %%al    \n\t"
+      "incl %%ebx                   \n\t"
+      "cmpl %%ecx, %%ebx            \n\t"
+      "movb %%al, -1(%%edi,%%ebx,)  \n\t" // mov does not affect flags; -1 to
+      "jb up_lp2                    \n\t" //  offset inc ebx
 
-      : // FIXASM: input regs, e.g.:  "c" (count), "S" (src), "D" (dest)
+   "up_end:                         \n\t"
+      "EMMS                         \n\t" // conversion of filtered row complete
 
-      : "%eax", "%ebx", "%ecx", "%edx", "%edi", "%esi", "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7" // CHECKASM: clobber list
+      : "=d" (dummy_value_d),   // 0      // output regs (dummy)
+        "=S" (dummy_value_S),   // 1
+        "=D" (dummy_value_D)    // 2
+
+      : "0" (len),              // edx    // input regs
+        "1" (prev_row),         // esi
+        "2" (row)               // edi
+
+      : "%eax", "%ebx", "%ecx"            // clobber list (no input regs!)
+
+#if 0  /* MMX regs (%mm0, etc.) not supported by gcc 2.7.2.3 or egcs 1.1 */
+      , "%mm0", "%mm1", "%mm2", "%mm3"
+      , "%mm4", "%mm5", "%mm6", "%mm7"
+#endif
    );
-#endif /* GRR_GCC_MMX_CONVERTED */
-}
 
+} // end of png_read_filter_row_mmx_up()
+
+
+
+
+//===========================================================================//
+//                                                                           //
+//                   P N G _ R E A D _ F I L T E R _ R O W                   //
+//                                                                           //
+//===========================================================================//
 
 #if defined(PNG_HAVE_ASSEMBLER_READ_FILTER_ROW)
 
@@ -4410,17 +4751,21 @@
 #ifdef PNG_DEBUG
    char filnm[6];
 #endif
-   #define UseMMX 1
+
+#define UseMMX 1
+
+#define UseMMX_sub    1   // GRR:  converted 20000730
+#define UseMMX_up     1   // GRR:  converted 20000729
+#define UseMMX_avg    1   // GRR:  converted 20000828 (+ 16-bit bugfix 20000916)
+#define UseMMX_paeth  1   // GRR:  converted 20000828
 
    if (mmx_supported == 2)
        mmx_supported = mmxsupport();
 
-#ifdef GRR_GCC_MMX_CONVERTED
    if (!mmx_supported)
-#endif
    {
        png_read_filter_row_c(png_ptr, row_info, row, prev_row, filter);
-       return ;
+       return;
    }
 
 #ifdef PNG_DEBUG
@@ -4432,23 +4777,24 @@
 #endif
    switch (filter)
    {
-      case 0: sprintf(filnm, "None ");
+      case 0: sprintf(filnm, "none");
          break;
-      case 1: sprintf(filnm, "Sub  ");
+      case 1: sprintf(filnm, "sub");
          break;
-      case 2: sprintf(filnm, "Up   ");
+      case 2: sprintf(filnm, "up");
          break;
-      case 3: sprintf(filnm, "Avg  ");
+      case 3: sprintf(filnm, "avg");
          break;
       case 4: sprintf(filnm, "Paeth");
          break;
-      default: sprintf(filnm, "Unknw");
+      default: sprintf(filnm, "unknw");
          break;
    }
-   png_debug2(0,"row=%5d, %s, ", png_ptr->row_number, filnm);
-   png_debug2(0, "pd=%2d, b=%d, ", (int)row_info->pixel_depth,
+   png_debug2(0, "row_number=%5ld, %5s, ", png_ptr->row_number, filnm);
+   png_debug1(0, "row=0x%08lx, ", (unsigned long)row);
+   png_debug2(0, "pixdepth=%2d, bytes=%d, ", (int)row_info->pixel_depth,
       (int)((row_info->pixel_depth + 7) >> 3));
-   png_debug1(0,"len=%8d, ", row_info->rowbytes);
+   png_debug1(0,"rowbytes=%8ld\n", row_info->rowbytes);
 #endif
 
    switch (filter)
@@ -4457,7 +4803,7 @@
          break;
 
       case PNG_FILTER_VALUE_SUB:
-#if (UseMMX == 1)
+#if (UseMMX_sub == 1)
          if ((row_info->pixel_depth > 8) && (row_info->rowbytes >= 128))
          {
             png_read_filter_row_mmx_sub(row_info, row);
@@ -4476,11 +4822,11 @@
                *rp = (png_byte)(((int)(*rp) + (int)(*lp++)) & 0xff);
                rp++;
             }
-         }  //end !UseMMX
+         }  //end !UseMMX_sub
          break;
 
       case PNG_FILTER_VALUE_UP:
-#if (UseMMX == 1)
+#if (UseMMX_up == 1)
          if ((row_info->pixel_depth > 8) && (row_info->rowbytes >= 128))
          {
             png_read_filter_row_mmx_up(row_info, row, prev_row);
@@ -4496,11 +4842,11 @@
             {
                   *rp = (png_byte)(((int)(*rp) + (int)(*pp)) & 0xff);
             }
-         }  //end !UseMMX
+         }  //end !UseMMX_up
          break;
 
       case PNG_FILTER_VALUE_AVG:
-#if (UseMMX == 1)
+#if (UseMMX_avg == 1)
          if ((row_info->pixel_depth > 8) && (row_info->rowbytes >= 128))
          {
             png_read_filter_row_mmx_avg(row_info, row, prev_row);
@@ -4528,11 +4874,11 @@
                   ((int)(*pp++ + *lp++) >> 1)) & 0xff);
                rp++;
             }
-         }  //end !UseMMX
+         }  //end !UseMMX_avg
          break;
 
       case PNG_FILTER_VALUE_PAETH:
-#if (UseMMX == 1)
+#if (UseMMX_paeth == 1)
          if ((row_info->pixel_depth > 8) && (row_info->rowbytes >= 128))
          {
             png_read_filter_row_mmx_paeth(row_info, row, prev_row);
@@ -4589,7 +4935,7 @@
                *rp = (png_byte)(((int)(*rp) + p) & 0xff);
                rp++;
             }
-         }  //end !UseMMX
+         }  //end !UseMMX_paeth
          break;
 
       default:
@@ -4602,6 +4948,14 @@
 #endif /* PNG_HAVE_ASSEMBLER_READ_FILTER_ROW */
 
 
+
+
+//===========================================================================//
+//                                                                           //
+//                            M M X S U P P O R T                            //
+//                                                                           //
+//===========================================================================//
+
 // GRR NOTES:  (1) the following code assumes 386 or better (pushfl/popfl)
 //             (2) all instructions compile with gcc 2.7.2.3 and later
 //             (3) the function is moved down here to prevent gcc from
@@ -4618,7 +4972,7 @@
 {
     int mmx_supported_local = 0;
 
-    __asm__ (
+    __asm__ __volatile__ (
 //      ".byte  0x66          \n\t"  // convert 16-bit pushf to 32-bit pushfd
 //      "pushf                \n\t"  // save Eflag to stack
         "pushfl               \n\t"  // save Eflag to stack
@@ -4670,11 +5024,13 @@
     return mmx_supported_local;
 }
 
+
 #else /* !ORIG_THAT_USED_TO_CLOBBER_EBX */
 
+
 int mmxsupport(void)
 {
-    __asm__ (
+    __asm__ __volatile__ (
         "pushl %%ebx          \n\t"  // ebx gets clobbered by CPUID instruction
         "pushl %%ecx          \n\t"  // so does ecx...
         "pushl %%edx          \n\t"  // ...and edx (but ecx & edx safe on Linux)
@@ -4740,5 +5096,3 @@
 #endif /* ?ORIG_THAT_USED_TO_CLOBBER_EBX */
 
 #endif /* PNG_ASSEMBLER_CODE_SUPPORTED && PNG_USE_PNGGCCRD */
-
-
diff --git a/pngget.c b/pngget.c
index 266dc3b..b5bd846 100644
--- a/pngget.c
+++ b/pngget.c
@@ -1,7 +1,7 @@
 
 /* pngget.c - retrieval of values from info struct
  *
- * libpng 1.0.8 - July 24, 2000
+ * libpng 1.0.9beta1 - November 10, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngmem.c b/pngmem.c
index 22c77be..1d34c9d 100644
--- a/pngmem.c
+++ b/pngmem.c
@@ -1,7 +1,7 @@
 
 /* pngmem.c - stub functions for memory allocation
  *
- * libpng 1.0.8 - July 24, 2000
+ * libpng 1.0.9beta1 - November 10, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngpread.c b/pngpread.c
index 6dfd018..0f3ba76 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,7 +1,7 @@
 
 /* pngpread.c - read a png file in push mode
  *
- * libpng 1.0.8 - July 24, 2000
+ * libpng 1.0.9beta1 - November 10, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -894,25 +894,25 @@
    /* arrays to facilitate easy interlacing - use pass (0 - 6) as index */
 
    /* start of interlace block */
-   const int png_pass_start[] = {0, 4, 0, 2, 0, 1, 0};
+   const int FARDATA png_pass_start[] = {0, 4, 0, 2, 0, 1, 0};
 
    /* offset to next interlace block */
-   const int png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1};
+   const int FARDATA png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1};
 
    /* start of interlace block in the y direction */
-   const int png_pass_ystart[] = {0, 0, 4, 0, 2, 0, 1};
+   const int FARDATA png_pass_ystart[] = {0, 0, 4, 0, 2, 0, 1};
 
    /* offset to next interlace block in the y direction */
-   const int png_pass_yinc[] = {8, 8, 8, 4, 4, 2, 2};
+   const int FARDATA png_pass_yinc[] = {8, 8, 8, 4, 4, 2, 2};
 
    /* Width of interlace block.  This is not currently used - if you need
     * it, uncomment it here and in png.h
-   const int png_pass_width[] = {8, 4, 4, 2, 2, 1, 1};
+   const int FARDATA png_pass_width[] = {8, 4, 4, 2, 2, 1, 1};
    */
 
    /* Height of interlace block.  This is not currently used - if you need
     * it, uncomment it here and in png.h
-   const int png_pass_height[] = {8, 8, 4, 4, 2, 2, 1};
+   const int FARDATA png_pass_height[] = {8, 8, 4, 4, 2, 2, 1};
    */
 #endif
 
@@ -1429,7 +1429,8 @@
    png_bytep old_row, png_bytep new_row)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   const int png_pass_dsp_mask[7] = {0xff, 0x0f, 0xff, 0x33, 0xff, 0x55, 0xff};
+   const int FARDATA png_pass_dsp_mask[7] =
+      {0xff, 0x0f, 0xff, 0x33, 0xff, 0x55, 0xff};
 #endif
    if (new_row != NULL)    /* new_row must == png_ptr->row_buf here. */
       png_combine_row(png_ptr, old_row, png_pass_dsp_mask[png_ptr->pass]);
diff --git a/pngread.c b/pngread.c
index d1cbc51..7a849bc 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,7 +1,7 @@
 
 /* pngread.c - read a PNG file
  *
- * libpng 1.0.8 - July 24, 2000
+ * libpng 1.0.9beta1 - November 10, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -440,6 +440,9 @@
    /* save jump buffer and error functions */
    if (!(png_ptr->flags & PNG_FLAG_ROW_INIT))
       png_read_start_row(png_ptr);
+   else
+      png_warning(png_ptr,
+      "Ignoring extra png_read_update_info() call; row buffer not reallocated");
    png_read_transform_info(png_ptr, info_ptr);
 }
 
@@ -698,7 +701,7 @@
  * not called png_set_interlace_handling(), the display_row buffer will
  * be ignored, so pass NULL to it.
  *
- * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.8
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.9beta1
  */
 
 void PNGAPI
@@ -747,7 +750,7 @@
  * only call this function once.  If you desire to have an image for
  * each pass of a interlaced image, use png_read_rows() instead.
  *
- * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.8
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.9beta1
  */
 void PNGAPI
 png_read_image(png_structp png_ptr, png_bytepp image)
diff --git a/pngrio.c b/pngrio.c
index b6e5922..2571b00 100644
--- a/pngrio.c
+++ b/pngrio.c
@@ -1,7 +1,7 @@
 
 /* pngrio.c - functions for data input
  *
- * libpng 1.0.8 - July 24, 2000
+ * libpng 1.0.9beta1 - November 10, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngrtran.c b/pngrtran.c
index da75f0a..a7da0c1 100644
--- a/pngrtran.c
+++ b/pngrtran.c
@@ -1,7 +1,7 @@
 
 /* pngrtran.c - transforms the data in a row for PNG readers
  *
- * libpng 1.0.8 - July 24, 2000
+ * libpng 1.0.9beta1 - November 10, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -1090,7 +1090,12 @@
    if ((png_ptr->transformations & PNG_FILLER) &&
        ((info_ptr->color_type == PNG_COLOR_TYPE_RGB) ||
        (info_ptr->color_type == PNG_COLOR_TYPE_GRAY)))
+   {
       info_ptr->channels++;
+#if 0 /* if adding a true alpha channel not just filler */
+      info_ptr->color_type |= PNG_COLOR_MASK_ALPHA;
+#endif
+   }
 #endif
 
 #if defined(PNG_USER_TRANSFORM_PTR_SUPPORTED) && \
diff --git a/pngrutil.c b/pngrutil.c
index fc62420..4912716 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,7 +1,7 @@
 
 /* pngrutil.c - utilities to read a PNG file
  *
- * libpng 1.0.8 - July 24, 2000
+ * libpng 1.0.9beta1 - November 10, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -976,6 +976,8 @@
    png_byte compression_type;
    png_charp profile;
    png_uint_32 skip = 0;
+   png_uint_32 profile_size = 0;
+   png_uint_32 profile_length = 0;
    png_size_t slength, prefix_length, data_length;
 
    png_debug(1, "in png_handle_iCCP\n");
@@ -1027,22 +1029,43 @@
 
    /* there should be at least one zero (the compression type byte)
       following the separator, and we should be on it  */
-   if (*profile || profile >= chunkdata + slength)
+   if ( profile >= chunkdata + slength)
    {
       png_free(png_ptr, chunkdata);
-      png_warning(png_ptr, "malformed iCCP chunk");
+      png_warning(png_ptr, "Malformed iCCP chunk");
       return;
    }
 
    /* compression_type should always be zero */
    compression_type = *profile++;
+   if (compression_type)
+   {
+      png_warning(png_ptr, "Ignoring nonzero compression type in iCCP chunk");
+      compression_type=0x00;  /* Reset it to zero (libpng-1.0.6 through 1.0.8
+                                 wrote nonzero) */
+   }
 
    prefix_length = profile - chunkdata;
    chunkdata = png_decompress_chunk(png_ptr, compression_type, chunkdata,
                                     slength, prefix_length, &data_length);
 
+   profile_length = data_length - prefix_length;
+   profile_size = ((*(chunkdata+prefix_length))<<24) |
+                  ((*(chunkdata+prefix_length+1))<<16) |
+                  ((*(chunkdata+prefix_length+2))<< 8) |
+                  ((*(chunkdata+prefix_length+3))    );
+
+   if(profile_size < profile_length)
+      profile_length = profile_size;
+
+   if(profile_size > profile_length)
+   {
+      png_warning(png_ptr, "Ignoring truncated iCCP profile.\n");
+      return;
+   }
+
    png_set_iCCP(png_ptr, info_ptr, chunkdata, compression_type,
-                chunkdata + prefix_length, data_length);
+                chunkdata + prefix_length, data_length-prefix_length);
    png_free(png_ptr, chunkdata);
 }
 #endif /* PNG_READ_iCCP_SUPPORTED */
@@ -1336,7 +1359,6 @@
           if(buf[0] > info_ptr->num_palette)
           {
              png_warning(png_ptr, "Incorrect bKGD chunk index value");
-             png_crc_finish(png_ptr, length);
              return;
           }
           png_ptr->background.red =
diff --git a/pngset.c b/pngset.c
index 6092328..210f473 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,7 +1,7 @@
 
 /* pngset.c - storage of image information into info struct
  *
- * libpng 1.0.8 - July 24, 2000
+ * libpng 1.0.9beta1 - November 10, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -741,10 +741,27 @@
 void PNGAPI
 png_permit_empty_plte (png_structp png_ptr, int empty_plte_permitted)
 {
-   png_debug(1, "in png_permit_empty_plte\n");
+   /* This function is deprecated in favor of png_permit_mng_features()
+      and will be removed from libpng-2.0.0 */
+   png_debug(1, "in png_permit_empty_plte, DEPRECATED.\n");
    if (png_ptr == NULL)
       return;
-   png_ptr->empty_plte_permitted=(png_byte)empty_plte_permitted;
+   png_ptr->mng_features_permitted = (png_byte)
+     ((png_ptr->mng_features_permitted & (~(PNG_FLAG_MNG_EMPTY_PLTE))) |
+     ((empty_plte_permitted & PNG_FLAG_MNG_EMPTY_PLTE)));
+}
+#endif
+
+#if defined(PNG_MNG_FEATURES_SUPPORTED)
+png_uint_32 PNGAPI
+png_permit_mng_features (png_structp png_ptr, png_uint_32 mng_features)
+{
+   png_debug(1, "in png_permit_mng_features\n");
+   if (png_ptr == NULL)
+      return (png_uint_32)0;
+   png_ptr->mng_features_permitted =
+     (png_byte)(mng_features & PNG_ALL_MNG_FEATURES);
+   return (png_uint_32)png_ptr->mng_features_permitted;
 }
 #endif
 
diff --git a/pngtest.c b/pngtest.c
index 1437ba7..f397bcc 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1,7 +1,7 @@
 
 /* pngtest.c - a simple test program to test libpng
  *
- * libpng 1.0.8 - July 24, 2000
+ * libpng 1.0.9beta1 - November 10, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -16,7 +16,8 @@
  * The program will report "FAIL" in certain legitimate cases:
  * 1) when the compression level or filter selection method is changed.
  * 2) when the maximum IDAT size (PNG_ZBUF_SIZE in pngconf.h) is not 8192.
- * 3) unknown ancillary chunks exist in the input file.
+ * 3) unknown unsafe-to-copy ancillary chunks or unknown critical chunks
+ *    exist in the input file.
  * 4) others not listed here...
  * In these cases, it is best to check with another tool such as "pngcheck"
  * to see what the differences between the two files are.
@@ -345,7 +346,7 @@
 {
    png_uint_32 check;
 
-   WRITEFILE((png_FILE_p)png_ptr->io_ptr,  data, 1, check);
+   WRITEFILE((png_FILE_p)png_ptr->io_ptr,  data, length, check);
    if (check != length)
    {
       png_error(png_ptr, "Write Error");
@@ -372,7 +373,7 @@
    io_ptr = (png_FILE_p)CVT_PTR(png_ptr->io_ptr);
    if ((png_bytep)near_data == data)
    {
-      WRITEFILE(io_ptr, near_data, 1, check);
+      WRITEFILE(io_ptr, near_data, length, check);
    }
    else
    {
@@ -384,7 +385,7 @@
       {
          written = MIN(NEAR_BUF_SIZE, remaining);
          png_memcpy(buf, data, written); /* copy far buffer to near buffer */
-         WRITEFILE(io_ptr, written, 1, err);
+         WRITEFILE(io_ptr, buf, written, err);
          if (err != written)
             break;
          else
@@ -1448,4 +1449,4 @@
 }
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_0_8 your_png_h_is_not_version_1_0_8;
+typedef version_1_0_9beta1 your_png_h_is_not_version_1_0_9beta1;
diff --git a/pngtrans.c b/pngtrans.c
index b974a66..834dc42 100644
--- a/pngtrans.c
+++ b/pngtrans.c
@@ -1,7 +1,7 @@
 
 /* pngtrans.c - transforms the data in a row (used by both readers and writers)
  *
- * libpng 1.0.8 - July 24, 2000
+ * libpng 1.0.9beta1 - November 10, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngvcrd.c b/pngvcrd.c
index ed09aae..eafdc29 100644
--- a/pngvcrd.c
+++ b/pngvcrd.c
@@ -2,7 +2,7 @@
  *
  * For Intel x86 CPU and Microsoft Visual C++ compiler
  *
- * libpng 1.0.8 - July 24, 2000
+ * libpng 1.0.9beta1 - November 10, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * Copyright (c) 1998, Intel Corporation
@@ -10,6 +10,8 @@
  * Contributed by Nirav Chhatrapati, Intel Corporation, 1998
  * Interface to libpng contributed by Gilles Vollant, 1999
  *
+ * [png_read_filter_row_mmx_avg() bpp == 2 bugfix, GRR 20000916]
+ *
  */
 
 #define PNG_INTERNAL
@@ -2117,8 +2119,8 @@
       case 2:
       {
          ActiveMask.use  = 0x000000000000ffff;
-         ShiftBpp.use = 24;   // == 3 * 8
-         ShiftRem.use = 40;   // == 64 - 24
+         ShiftBpp.use = 16;   // == 2 * 8     [BUGFIX]
+         ShiftRem.use = 48;   // == 64 - 16   [BUGFIX]
          _asm {
             // Load ActiveMask
             movq mm7, ActiveMask
@@ -2133,7 +2135,7 @@
                               // (we correct position in loop below)
 davg2lp:
             movq mm0, [edi + ebx]
-            psllq mm2, ShiftRem  // shift data to position correctly
+            psrlq mm2, ShiftRem  // shift data to position correctly   [BUGFIX]
             movq mm1, [esi + ebx]
             // Add (Prev_row/2) to Average
             movq mm3, mm5
diff --git a/pngwio.c b/pngwio.c
index c700624..b808d0c 100644
--- a/pngwio.c
+++ b/pngwio.c
@@ -1,7 +1,7 @@
 
 /* pngwio.c - functions for data output
  *
- * libpng 1.0.8 - July 24, 2000
+ * libpng 1.0.9beta1 - November 10, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngwrite.c b/pngwrite.c
index 167e770..203ad7b 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -1,7 +1,7 @@
 
 /* pngwrite.c - general routines to write a PNG file
  *
- * libpng 1.0.8 - July 24, 2000
+ * libpng 1.0.9beta1 - November 10, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -964,7 +964,6 @@
 png_set_filter(png_structp png_ptr, int method, int filters)
 {
    png_debug(1, "in png_set_filter\n");
-   /* We allow 'method' only for future expansion of the base filter method. */
    if (method == PNG_FILTER_TYPE_BASE)
    {
       switch (filters & (PNG_ALL_FILTERS | 0x07))
diff --git a/pngwtran.c b/pngwtran.c
index 257ccd1..110c6e7 100644
--- a/pngwtran.c
+++ b/pngwtran.c
@@ -1,7 +1,7 @@
 
 /* pngwtran.c - transforms the data in a row for PNG writers
  *
- * libpng 1.0.8 - July 24, 2000
+ * libpng 1.0.9beta1 - November 10, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngwutil.c b/pngwutil.c
index fb702c9..ea58d15 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,7 +1,7 @@
 
 /* pngwutil.c - utilities to write a PNG file
  *
- * libpng 1.0.8 - July 24, 2000
+ * libpng 1.0.9beta1 - November 10, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -514,8 +514,8 @@
 
    png_debug(1, "in png_write_PLTE\n");
    if ((
-#ifdef PNG_WRITE_EMPTY_PLTE_SUPPORTED
-        !png_ptr->empty_plte_permitted &&
+#if defined(PNG_MNG_FEATURES_SUPPORTED)
+        !(png_ptr->mng_features_permitted & PNG_FLAG_MNG_EMPTY_PLTE) &&
 #endif
         num_pal == 0) || num_pal > 256)
      {
@@ -670,6 +670,7 @@
    /* make sure we include the NULL after the name and the compression type */
    png_write_chunk_start(png_ptr, (png_bytep)png_iCCP,
           (png_uint_32)name_len+profile_len+2);
+   new_name[name_len+1]=0x00;
    png_write_chunk_data(png_ptr, (png_bytep)new_name, name_len + 2);
 
    if (profile_len)
@@ -996,9 +997,9 @@
    if (color_type == PNG_COLOR_TYPE_PALETTE)
    {
       if (
-#ifdef PNG_WRITE_EMPTY_PLTE_SUPPORTED
-          (!png_ptr->empty_plte_permitted ||
-          (png_ptr->empty_plte_permitted && png_ptr->num_palette)) &&
+#if defined(PNG_MNG_FEATURES_SUPPORTED)
+          (png_ptr->num_palette ||
+          (!(png_ptr->mng_features_permitted & PNG_FLAG_MNG_EMPTY_PLTE))) &&
 #endif
          back->index > png_ptr->num_palette)
       {
@@ -1083,7 +1084,7 @@
 
    png_debug1(2, "Keyword to be checked is '%s'\n", key);
 
-   *new_key = (png_charp)png_malloc(png_ptr, (png_uint_32)(key_len + 1));
+   *new_key = (png_charp)png_malloc(png_ptr, (png_uint_32)(key_len + 2));
 
    /* Replace non-printing characters with a blank and print a warning */
    for (kp = key, dp = *new_key; *kp != '\0'; kp++, dp++)
@@ -2553,6 +2554,7 @@
    png_debug(1, "in png_write_filtered_row\n");
    png_debug1(2, "filter = %d\n", filtered_row[0]);
    /* set up the zlib input buffer */
+
    png_ptr->zstream.next_in = filtered_row;
    png_ptr->zstream.avail_in = (uInt)png_ptr->row_info.rowbytes + 1;
    /* repeat until we have compressed all the data */
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index 7f39799..3893f2e 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -31,7 +31,7 @@
 # read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
 # have to change it.
 PNGMAJ = 2
-PNGMIN = 1.0.8
+PNGMIN = 1.0.9beta1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # where make install puts libpng.a, libpng.so*, and png.h
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
index 463a6f7..3b9e8ba 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -22,13 +22,6 @@
 #ZLIBLIB=../zlib
 #ZLIBINC=../zlib
 
-SHAREDLIB=libpng.dll
-STATLIB=libpng.a
-IMPLIB=libpng.dll.a
-SHAREDDEF=libpng.def
-LIBS=$(SHAREDLIB) $(STATLIB)
-EXE=.exe
-
 ALIGN=
 # for i386:
 #ALIGN=-malign-loops=2 -malign-functions=2
@@ -42,6 +35,19 @@
 CFLAGS=-I$(ZLIBINC) -Wall -O3 $(ALIGN) -funroll-loops \
         -fomit-frame-pointer 
 
+# read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
+# have to change it.
+PNGMAJ = 2
+PNGMIN = 1.0.9beta1
+PNGVER = $(PNGMAJ).$(PNGMIN)
+
+SHAREDLIB=cygpng$(PNGMAJ).dll
+STATLIB=libpng.a
+IMPLIB=libpng.dll.a
+SHAREDDEF=libpng.def
+LIBS=$(SHAREDLIB) $(STATLIB)
+EXE=.exe
+
 LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz
 LDSHARED=gcc -shared -Wl,--enable-auto-image-base
 LDEXTRA=-Wl,--out-implib=$(IMPLIB) $(SHAREDDEF)
@@ -49,19 +55,12 @@
 RANLIB=ranlib
 #RANLIB=echo
 
-# read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
-# have to change it.
-PNGMAJ = 2
-PNGMIN = 1.0.8beta3
-PNGVER = $(PNGMAJ).$(PNGMIN)
-
 INCPATH=$(prefix)/include
 LIBPATH=$(prefix)/lib
 BINPATH=$(prefix)/bin
 MANPATH=$(prefix)/man
 MAN3PATH=$(MANPATH)/man3
 DOCPATH=$(prefix)/doc/libpng-$(PNGMIN)
-CYGDOCPATH=$(prefix)/doc/Cygwin
 
 OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
 	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
@@ -77,7 +76,15 @@
 %.pic.o : %.c
 	$(CC) -c $(CFLAGS) -DPNG_BUILD_DLL -o $@ $<
 
-all: $(SHAREDLIB) $(STATLIB) pngtest$(EXE) pngtest-stat$(EXE)
+all: all-static all-shared
+
+static: all-static
+
+shared: all-shared
+
+all-static: $(STATLIB) pngtest-stat$(EXE)
+
+all-shared: $(SHAREDLIB) pngtest$(EXE)
 
 pnggccrd.o:	png.h pngconf.h pngasmrd.h
 	@echo ""
@@ -91,7 +98,7 @@
 	@echo '    You can ignore the single "control reaches end of non-void function"'
 	@echo '    warning and multiple "<variable> defined but not used" warnings:'
 	@echo ""
-	$(CC) -c $(CFLAGS) -o $@ pnggccrd.c
+	$(CC) -c $(CFLAGS) -DPNG_BUILD_DLL -o $@ pnggccrd.c
 
 $(STATLIB): $(OBJS)
 	ar rc $@ $(OBJS)
@@ -115,24 +122,36 @@
 pngtest.o: pngtest.c
 	$(CC) $(CFLAGS) -DPNG_STATIC -DZLIB_STATIC -c $< -o $@
 
-test: test-dll test-stat
+test: test-static test-shared
 
-test-stat: pngtest-stat$(EXE)
+test-static: pngtest-stat$(EXE)
 	./pngtest-stat
 
-test-dll: pngtest$(EXE)
+test-shared: pngtest$(EXE)
 	./pngtest
 
-install: $(STATLIB) $(SHAREDLIB)
-	-@if [ ! -d $(INCPATH)  ]; then mkdir -p $(INCPATH); fi
+install: install-static install-shared
+
+install-static: $(STATLIB) install-headers install-docs install-man 
+	-@if [ ! -d $(LIBPATH) ]; then mkdir -p $(LIBPATH); fi
+	install -m 755 $(STATLIB) $(LIBPATH)
+
+install-shared: $(SHAREDLIB) install-headers install-docs install-man
 	-@if [ ! -d $(LIBPATH) ]; then mkdir -p $(LIBPATH); fi
 	-@if [ ! -d $(BINPATH) ]; then mkdir -p $(BINPATH); fi
-	-@if [ ! -d $(MAN3PATH) ]; then mkdir -p $(MAN3PATH); fi
-	-@if [ ! -d $(DOCPATH) ]; then mkdir -p $(DOCPATH); fi
-	install -m 644 png.h pngconf.h $(INCPATH)
-	install -m 755 $(STATLIB) $(IMPLIB) $(LIBPATH)
+	install -m 755 $(IMPLIB) $(LIBPATH)
 	install -s -m 755 $(SHAREDLIB) $(BINPATH)
+
+install-headers:
+	-@if [ ! -d $(INCPATH)  ]; then mkdir -p $(INCPATH); fi
+	install -m 644 png.h pngconf.h $(INCPATH)
+
+install-docs:
+	-@if [ ! -d $(DOCPATH) ]; then mkdir -p $(DOCPATH); fi
 	install -m 644 $(DOCS) $(DOCPATH)
+
+install-man:
+	-@if [ ! -d $(MAN3PATH) ]; then mkdir -p $(MAN3PATH); fi
 	install -m 644 libpngpf.3 libpng.3 $(MAN3PATH)
 
 clean:
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index b8552c0..91f4540 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -1,9 +1,12 @@
 # makefile for libpng on DEC Alpha Unix
+# Copyright (C) 2000 Glenn Randers-Pehrson
 # Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
 # For conditions of distribution and use, see copyright notice in png.h
 
 # where make install puts libpng.a and png.h
 prefix=/usr/local
+INCPATH=$(prefix)/include
+LIBPATH=$(prefix)/lib
 
 # Where the zlib library and include files are located
 #ZLIBLIB=/usr/local/lib
@@ -14,7 +17,7 @@
 # read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
 # have to change it.
 PNGMAJ = 2
-PNGMIN = 1.0.8
+PNGMIN = 1.0.9beta1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 CC=cc
@@ -24,7 +27,6 @@
 #RANLIB=echo
 RANLIB=ranlib
 
-
 OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
 	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
 	pngwtran.o pngmem.o pngerror.o pngpread.o
@@ -51,18 +53,18 @@
 	./pngtest
 
 install: libpng.a libpng.so.$(PNGVER)
-	-@mkdir $(prefix)/include
-	-@mkdir $(prefix)/lib
-	cp png.h $(prefix)/include
-	cp pngconf.h $(prefix)/include
-	chmod 644 $(prefix)/include/png.h
-	chmod 644 $(prefix)/include/pngconf.h
-	cp libpng.a $(prefix)/lib
-	cp libpng.so.$(PNGVER) $(prefix)/lib
-	chmod 644 $(prefix)/lib/libpng.a
-	chmod 644 $(prefix)/lib/libpng.so.$(PNGVER)
+	-@mkdir $(INCPATH)
+	-@mkdir $(LIBPATH)
+	cp png.h $(INCPATH)
+	cp pngconf.h $(INCPATH)
+	chmod 644 $(INCPATH)/png.h
+	chmod 644 $(INCPATH)/pngconf.h
+	cp libpng.a $(LIBPATH)
+	cp libpng.so.$(PNGVER) $(LIBPATH)
+	chmod 644 $(LIBPATH)/libpng.a
+	chmod 644 $(LIBPATH)/libpng.so.$(PNGVER)
 	-@/bin/rm -f $(LIBPATH)/libpng.so.$(PNGMAJ) $(LIBPATH)/libpng.so
-	(cd $(LIBPATH); ln -f -s libpng.so.$(PNGVER) libpng.so.$(PNGMAJ); \
+	(cd $(LIBPATH)); ln -f -s libpng.so.$(PNGVER) libpng.so.$(PNGMAJ); \
 	 ln -f -s libpng.so.$(PNGMAJ) libpng.so)
 
 clean:
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index 877bb49..f97b2ff 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -29,6 +29,7 @@
 CFLAGS=-DPNG_USE_PNGGCCRD -I$(ZLIBINC) -Wall -O3 $(ALIGN) -funroll-loops \
         -fomit-frame-pointer  # $(WARNMORE) -g -DPNG_DEBUG=5
 LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng -lz -lm
+LDFLAGS_A=-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) libpng.a -lz -lm
 
 RANLIB=ranlib
 #RANLIB=echo
@@ -36,7 +37,7 @@
 # read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
 # have to change it.
 PNGMAJ = 2
-PNGMIN = 1.0.8
+PNGMIN = 1.0.9beta1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
@@ -53,7 +54,7 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
 
-all: libpng.a libpng.so pngtest
+all: libpng.a libpng.so pngtest pngtest-static
 
 pnggccrd.o:	pnggccrd.c png.h pngconf.h pngasmrd.h
 	@echo ""
@@ -86,8 +87,18 @@
 pngtest: pngtest.o libpng.so
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
-test: pngtest
+pngtest-static: pngtest.o libpng.a
+	$(CC) -o pngtest-static $(CFLAGS) pngtest.o $(LDFLAGS_A)
+
+test: pngtest pngtest-static
+	@echo ""
+	@echo "   Testing dynamically linked version:"
+	@echo ""
 	./pngtest
+	@echo ""
+	@echo "   Testing statically linked version:"
+	@echo ""
+	./pngtest-static
 
 install: libpng.a libpng.so.$(PNGVER)
 	-@if [ ! -d $(INCPATH)  ]; then mkdir $(INCPATH); fi
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index 7fe55b0..f13a014 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -18,7 +18,7 @@
 # read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
 # have to change it.
 PNGMAJ = 2
-PNGMIN = 1.0.8
+PNGMIN = 1.0.9beta1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # where make install puts libpng.a and png.h
@@ -67,7 +67,7 @@
 	cp libpng.a libpng.sl.$(PNGVER) $(prefix)/lib
 	chmod 644 $(prefix)/lib/libpng.a
 	chmod 755 $(prefix)/lib/libpng.sl.$(PNGVER)
-	(cd $(prefix)/lib; ln -f -s libpng.sl.$(PNGVER) libpng.sl.$(MNGMAJ); \
+	(cd $(prefix)/lib; ln -f -s libpng.sl.$(PNGVER) libpng.sl.$(PNGMAJ); \
 	ln -f -s libpng.sl.$(PNGMAJ) libpng.sl)
 
 clean:
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index 2680e8a..3512bfb 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -34,7 +34,7 @@
 # read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
 # have to change it.
 PNGMAJ = 2
-PNGMIN = 1.0.8
+PNGMIN = 1.0.9beta1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
diff --git a/scripts/makefile.sco b/scripts/makefile.sco
index 604d614..dfbf813 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -25,7 +25,7 @@
 # read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
 # have to change it.
 PNGMAJ = 2
-PNGMIN = 1.0.8
+PNGMIN = 1.0.9beta1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index 782fc74..07ae805 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -19,8 +19,8 @@
 LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
 LDSHARED=gcc -shared
 
-VER=1.0.8
-LIBS=libpng.so.1.0.8
+VER=1.0.9beta1
+LIBS=libpng.so.1.0.9beta1
 SHAREDLIB=libpng.so
 libdir=$(prefix)/lib32
 
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index 8209255..2a21411 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -31,7 +31,7 @@
 # read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
 # have to change it.
 PNGMAJ = 2
-PNGMIN = 1.0.8
+PNGMIN = 1.0.9beta1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
diff --git a/scripts/makevms.com b/scripts/makevms.com
index 8f8bf32..0037326 100644
--- a/scripts/makevms.com
+++ b/scripts/makevms.com
@@ -3,6 +3,19 @@
 $!
 $! Check for MMK/MMS
 $!
+$! This procedure accepts one parameter (contrib), which causes it to build
+$! the programs from the contrib directory instead of libpng.
+$!
+$ p1 = f$edit(p1,"UPCASE")
+$ if p1 .eqs. "CONTRIB"
+$ then
+$   set def [.contrib.gregbook]
+$   @makevms
+$   set def [-.pngminus]
+$   @makevms
+$   set def [--]
+$   exit 
+$ endif
 $ Make = ""
 $ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS"
 $ If F$Type (MMK) .eqs. "STRING" Then Make = "MMK"
@@ -83,6 +96,7 @@
 $   write sys$output "Testing Libpng..."
 $   run pngtest
 $  else
+$   if f$search("DESCRIP.MMS") .eqs. "" then copy/nolog [.SCRIPTS]DESCRIP.MMS []
 $   'make'/macro=('comp',zlibsrc='zlibsrc')
 $  endif
 $ write sys$output "Libpng build completed"
@@ -128,4 +142,3 @@
 $Exit:
 $ If V Then Set Verify
 $ENDSUBROUTINE
-
diff --git a/scripts/pngdef.pas b/scripts/pngdef.pas
index 1905931..7f0d5ad 100644
--- a/scripts/pngdef.pas
+++ b/scripts/pngdef.pas
@@ -5,8 +5,8 @@
 interface
 
 const
-  PNG_LIBPNG_VER_STRING = '1.0.8';
-  PNG_LIBPNG_VER        =  10008;
+  PNG_LIBPNG_VER_STRING = '1.0.9beta1';
+  PNG_LIBPNG_VER        =  10009;
 
 type
   png_uint_32 = Cardinal;