Imported from libpng-1.0.9beta2.tar
diff --git a/ANNOUNCE b/ANNOUNCE
index ab7e36f..63ee893 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.0.9beta10 - January 16, 2001
+Libpng 1.0.9beta2 - November 19, 2000
 
 This is a public release of libpng, intended for use in production codes.
 
@@ -28,29 +28,6 @@
     subdirectory and added projects/borland project subdirectory.
   Set VS_FF_PRERELEASE and VS_FF_PATCHED flags in msvc/png.rc when appropriate.
   Add error message in png_set_compression_buffer_size() when malloc fails.
-  Revised PNG_LIBPNG_BUILD_TYPE macro in png.h, used in the msvc project.
-  Removed the png_flush() in pngwrite.c that crashes some applications
-    that don't set png_output_flush_fn.
-  Added makefile.macosx and makefile.aix to scripts directory.
-  Change png_chunk_warning to png_warning in png_check_keyword().
-  Increased the first part of msg buffer from 16 to 18 in png_chunk_error().
-  Added support for filter method 64 (for PNG datastreams embedded in MNG)
-  Revised png_set_filter() to accept filter method 64 when appropriate.
-  Added new PNG_HAVE_PNG_SIGNATURE bit to png_ptr->mode and use it to
-    help prevent applications from using MNG features in PNG datastreams.
-  Revised libpng.3/libpng.txt.  Changed "filter type" to "filter method".
-  Fixed error handling of unknown compression type in png_decompress_chunk().
-  In pngconf.h, define __cdecl when _MSC_VER is defined.
-  Changed PNG_TEXT_COMPRESSION_zTXt to PNG_COMPRESSION_TYPE_BASE several places.
-  Revised memory management in png_set_hIST and png_handle_hIST in a backward
-    compatible manner.  PLTE and tRNS were revised similarly.
-  Revised the iCCP chunk reader to ignore trailing garbage.
-  Moved pngasmrd.h into pngconf.h.
-  Improved handling of out-of-spec garbage iCCP chunks generated by PhotoShop.
-  Added png_set_invalid, png_permit_mng_features, and png_mmx_supported to
-    wince and msvc project module definition files.
-  Fixed bug with progressive reading of narrow interlaced images in pngpread.c
-  Do not typedef png_FILE_io in pngconf.h when PNG_NO_STDIO is defined.
 
 Send comments/corrections/commendations to
 png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/CHANGES b/CHANGES
index 23bd60a..33f7045 100644
--- a/CHANGES
+++ b/CHANGES
@@ -379,7 +379,7 @@
   Changed "ln -sf" to "ln -s -f" in makefile.s2x, makefile.lnx, and makefile.sco.
   Removed lines after Dynamic Dependencies" in makefile.aco .
   Revised makefile.dec to make a shared library (Jeremie Petit).
-  Removed trailing blanks from all files.
+  Removed trailing blanks from all files. 
 version 1.0.2a [January 6, 1999]
   Removed misplaced #endif and #ifdef PNG_NO_EXTERN near the end of png.h
   Added "if" tests to silence complaints about unused png_ptr in png.h and png.c
@@ -718,7 +718,7 @@
     the high-level interface, and unknown chunks support (all new in 1.0.6).
     This was necessary because of old applications that allocate the structs
     directly as authors were instructed to do in libpng-0.88 and earlier,
-    instead of using png_create_*().
+    instead of using png_create_*(). 
   Added modes PNG_CREATED_READ_STRUCT and PNG_CREATED_WRITE_STRUCT which
     can be used to detect codes that directly allocate the structs, and
     code to check these modes in png_read_init() and png_write_init() and
@@ -798,6 +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.9beta2 [November 19, 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
@@ -847,41 +848,6 @@
   Added borland project files to "projects" subdirectory.
   Set VS_FF_PRERELEASE and VS_FF_PATCHED flags in msvc/png.rc when appropriate.
   Add error message in png_set_compression_buffer_size() when malloc fails.
-version 1.0.9beta3 [November 23, 2000]
-  Revised PNG_LIBPNG_BUILD_TYPE macro in png.h, used in the msvc project.
-  Removed the png_flush() in pngwrite.c that crashes some applications
-    that don't set png_output_flush_fn.
-  Added makefile.macosx and makefile.aix to scripts directory.
-version 1.0.9beta4 [December 1, 2000]
-  Change png_chunk_warning to png_warning in png_check_keyword().
-  Increased the first part of msg buffer from 16 to 18 in png_chunk_error().
-version 1.0.9beta5 [December 15, 2000]
-  Added support for filter method 64 (for PNG datastreams embedded in MNG)
-version 1.0.9beta6 [December 18, 2000]
-  Revised png_set_filter() to accept filter method 64 when appropriate.
-  Added new PNG_HAVE_PNG_SIGNATURE bit to png_ptr->mode and use it to
-    help prevent applications from using MNG features in PNG datastreams.
-  Revised libpng.3/libpng.txt.  Changed "filter type" to "filter method".
-version 1.0.9rc1 [December 23, 2000]
-  Revised test for PNG_HAVE_PNG_SIGNATURE in pngrutil.c
-  Fixed error handling of unknown compression type in png_decompress_chunk().
-  In pngconf.h, define __cdecl when _MSC_VER is defined.
-version 1.0.9beta7 [December 28, 2000]
-  Changed PNG_TEXT_COMPRESSION_zTXt to PNG_COMPRESSION_TYPE_BASE several places.
-  Revised memory management in png_set_hIST and png_handle_hIST in a backward
-    compatible manner.  PLTE and tRNS were revised similarly.
-  Revised the iCCP chunk reader to ignore trailing garbage.
-version 1.0.9beta8 [January 12, 2001]
-  Moved pngasmrd.h into pngconf.h.
-  Improved handling of out-of-spec garbage iCCP chunks generated by PhotoShop.
-version 1.0.9beta9 [January 15, 2001]
-  Added png_set_invalid, png_permit_mng_features, and png_mmx_supported to
-    wince and msvc project module definition files.
-  Minor revision of makefile.cygwin.
-  Fixed bug with progressive reading of narrow interlaced images in pngpread.c
-version 1.0.9beta10 [January 16, 2001]
-  Do not typedef png_FILE_io in pngconf.h when PNG_NO_STDIO is defined.
-  Fixe "png_mmx_supported" typo in project definition files 
 
 Send comments/corrections/commendations to
 png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/INSTALL b/INSTALL
index f8f400a..fa74b12 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.0.9beta10 - January 16, 2001
+Installing libpng version 1.0.9beta2 - November 19, 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.9beta10" or "lpng109" and "zlib-1.1.3"
+might be called "libpng-1.0.9beta2" 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:
@@ -53,31 +53,29 @@
 
 Else enter the zlib directory and follow the instructions in zlib/README,
 then come back here and choose the appropriate makefile.sys in the scripts
-directory.
+directory.  
 
 The files that are presently available in the scripts directory
 include
 
  makefile.std      =>  Generic UNIX makefile (cc, creates static libpng.a)
- makefile.linux    =>  Linux/ELF makefile (gcc, creates libpng.so.2.1.0.9beta10)
- makefile.gcmmx    =>  Linux/ELF makefile (gcc, creates libpng.so.2.1.0.9beta10,
+ makefile.linux    =>  Linux/ELF makefile (gcc, creates libpng.so.2.1.0.9beta2)
+ makefile.gcmmx    =>  Linux/ELF makefile (gcc, creates libpng.so.2.1.0.9beta2,
                        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.aix      =>  AIX makefile
  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.macosx   =>  MACOS X Makefile
  makefile.sgi      =>  Silicon Graphics IRIX makefile (cc, creates static lib)
- makefile.sggcc    =>  Silicon Graphics (gcc, creates libpng.so.2.1.0.9beta10)
+ makefile.sggcc    =>  Silicon Graphics (gcc, creates libpng.so.2.1.0.9beta2)
  makefile.sunos    =>  Sun makefile
- makefile.solaris  =>  Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.9beta10)
+ makefile.solaris  =>  Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.9beta2)
  makefile.sco      =>  For SCO OSr5  ELF and Unixware 7 with Native cc
  makefile.mips     =>  MIPS makefile
  makefile.acorn    =>  Acorn makefile
diff --git a/KNOWNBUG b/KNOWNBUG
index 716242c..d879ce0 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -1,9 +1,65 @@
 
-Known bugs in libpng-1.0.9
+Known bugs and suggested enhancements in libpng-1.0.8
 
-1: January 16, 2001 -- BUG -- progressive reading narrow interlaced PNGs
+0: November 3, 2000 -- BUG -- incorrect iCCP chunk is written
 
-   A crash occurs in Mozilla when reading a 2x533 interlaced RGB image.
+   The compression_type byte in the iCCP chunk written by libpng is
+   usually incorrect.
 
-   Status: Under investigation.  It appears that pngpread.c is not
-   taking care to skip empty passes.
+   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: 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).
+
+3. March 15, 1998 -- OPTIMIZATION -- Kevin Bracey
+
+   Loops need to be optimized everywhere
+
+   Make them count down instead of up -- Kevin Bracey
+
+   Optimizing compilers don't need this, and making
+   the change would be error prone -- Tom Lane, Glenn R-P
+
+   Question whether i-- or --i is better.
+
+   STATUS: Under investigation, postponed until after
+   libpng-2.0.0.  About 160 loops will be turned around
+   in libpng-2.0.x betaxx, for testing.
+
+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
+   bit_depth of the intermediate (gamma=1.0) representation is probably
+   not sufficient.  In the typical gamma=1/2.2 situation, the linear
+   pixels need about 4 more bits than the gamma-encoded ones, to avoid
+   loss of precision.  A similar situation exists with the rgb_to_gray
+   operation.
+
+   STATUS: under development.
+
+5. September 1999 -- ENHANCEMENT --
+
+   It should be possible to use libpng without floating-point arithmetic.
+
+   STATUS: Under investigation, implementation postponed until after
+   libpng-2.0.0.
+
+   Much of this was completed in libpng-1.0.6, but gamma compensation
+   is not yet done in fixed-point arithmetic.
+
diff --git a/LICENSE b/LICENSE
index 1e0634d..7b88943 100644
--- a/LICENSE
+++ b/LICENSE
@@ -8,7 +8,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.9beta10, January 16, 2001, are
+libpng versions 1.0.7, July 1, 2000, through 1.0.9beta2, November 19, 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
@@ -99,4 +99,4 @@
 
 Glenn Randers-Pehrson
 randeg@alum.rpi.edu
-January 16, 2001
+November 19, 2000
diff --git a/README b/README
index 749d435..3ac9cbe 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng 1.0.9beta10 - January 16, 2001 (shared library 2.1)
+README for libpng 1.0.9beta2 - November 19, 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.
@@ -182,27 +182,25 @@
        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.9beta10)
+                            (gcc, creates libpng.so.2.1.0.9beta2)
        makefile.gcmmx   =>  Linux/ELF makefile (gcc, creates
-                            libpng.so.2.1.0.9beta10, uses assembler code
+                            libpng.so.2.1.0.9beta2, 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.aix     =>  AIX makefile
        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.macosx  =>  MACOS X Makefile
        makefile.sgi     =>  Silicon Graphics IRIX (cc, creates static lib)
-       makefile.sggcc   =>  Silicon Graphics (gcc, creates libpng.so.2.1.0.9beta10)
+       makefile.sggcc   =>  Silicon Graphics (gcc, creates libpng.so.2.1.0.9beta2)
        makefile.sunos   =>  Sun makefile
        makefile.solaris =>  Solaris 2.X makefile
-                            (gcc, creates libpng.so.2.1.0.9beta10)
+                            (gcc, creates libpng.so.2.1.0.9beta2)
        makefile.sco     =>  For SCO OSr5  ELF and Unixware 7 with Native cc
        makefile.mips    =>  MIPS makefile
        makefile.acorn   =>  Acorn makefile
diff --git a/TODO b/TODO
index a5f6395..e1de86c 100644
--- a/TODO
+++ b/TODO
@@ -17,8 +17,3 @@
    (counting huffman bits/precompression?  filter inertia?  filter costs?).
 Histogram creation.
 Text conversion between different code pages (Latin-1 -> Mac and DOS).
-Should we always malloc 2^bit_depth PLTE/tRNS/hIST entries for safety?
-Build gamma tables using fixed point (and do away with floating point entirely).
-Use greater precision when changing to linear gamma for compositing against
-  background and doing rgb-to-gray transformation.
-Investigate pre-incremented loop counters and other loop constructions.
diff --git a/Y2KINFO b/Y2KINFO
index fa30507..c3542a4 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -1,13 +1,13 @@
    Y2K compliance in libpng:
    =========================
 
-      January 16, 2001
+      November 19, 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.9beta10 are Y2K compliant.  It is my belief that earlier
+      upward through 1.0.9beta2 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 13340c5..53a921e 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 echo "
-  There is no \"configure\" script for Libpng-1.0.9beta10.  Instead, please
+  There is no \"configure\" script for Libpng-1.0.9beta2.  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/Makefile.sgi b/contrib/gregbook/Makefile.sgi
deleted file mode 100644
index bba61fb..0000000
--- a/contrib/gregbook/Makefile.sgi
+++ /dev/null
@@ -1,102 +0,0 @@
-# Sample makefile for rpng-x / rpng2-x / wpng for SGI using cc and make.
-# Greg Roelofs
-# Last modified:  16 January 1000
-#
-#	The programs built by this makefile are described in the book,
-#	"PNG:  The Definitive Guide," by Greg Roelofs (O'Reilly and
-#	Associates, 1999).  Go buy a copy, eh?  Buy some for friends
-#	and family, too.  (Not that this is a blatant plug or anything.)
-#
-# Invoke this makefile from a shell prompt in the usual way; for example:
-#
-#	make -f Makefile.sgi
-#
-# This makefile assumes libpng and zlib have already been built or downloaded
-# and are both installed in /usr/local/{include,lib} (as indicated by the
-# PNG* and Z* macros below).  Edit as appropriate--choose only ONE each of
-# the PNGINC, PNGLIB, ZINC and ZLIB lines.
-#
-# This makefile builds dynamically linked executables (against libpng and zlib,
-# that is), but that can be changed by uncommenting the appropriate PNGLIB and
-# ZLIB lines.
-
-
-# macros --------------------------------------------------------------------
-
-PNGINC = -I/usr/local/include
-PNGLIB = -L/usr/local/lib -lpng	# dynamically linked against libpng
-#PNGLIB = /usr/local/lib/libpng.a	# statically linked against libpng
-# or:
-#PNGINC = -I../..
-#PNGLIB = -L../.. -lpng
-#PNGLIB = ../../libpng.a
-
-ZINC = -I/usr/local/include
-ZLIB = -L/usr/local/lib -lz		# dynamically linked against zlib
-#ZLIB = /usr/local/lib/libz.a		# statically linked against zlib
-#ZINC = -I../zlib
-#ZLIB = -L../zlib -lz
-#ZLIB = ../../../zlib/libz.a
-
-XINC = -I/usr/include/X11		# old-style, stock X distributions
-XLIB = -L/usr/lib/X11 -lX11
-#XINC = -I/usr/openwin/include    	# Sun workstations (OpenWindows)
-#XLIB = -L/usr/openwin/lib -lX11
-#XINC = -I/usr/X11R6/include		# new X distributions (XFree86, etc.)
-#XLIB = -L/usr/X11R6/lib -lX11
-
-INCS = $(PNGINC) $(ZINC) $(XINC)
-RLIBS = $(PNGLIB) $(ZLIB) $(XLIB) -lm
-WLIBS = $(PNGLIB) $(ZLIB)
-
-CC = cc
-LD = cc
-RM = rm -f
-CFLAGS = -O -fullwarn $(INCS)
-LDFLAGS =
-O = .o
-E =
-
-RPNG  = rpng-x
-RPNG2 = rpng2-x
-WPNG  = wpng
-
-ROBJS  = $(RPNG)$(O) readpng$(O)
-ROBJS2 = $(RPNG2)$(O) readpng2$(O)
-WOBJS  = $(WPNG)$(O) writepng$(O)
-
-EXES = $(RPNG)$(E) $(RPNG2)$(E) $(WPNG)$(E)
-
-
-# implicit make rules -------------------------------------------------------
-
-.c$(O):
-	$(CC) -c $(CFLAGS) $<
-
-
-# dependencies --------------------------------------------------------------
-
-all:  $(EXES)
-
-$(RPNG)$(E): $(ROBJS)
-	$(LD) $(LDFLAGS) -o $@ $(ROBJS) $(RLIBS)
-
-$(RPNG2)$(E): $(ROBJS2)
-	$(LD) $(LDFLAGS) -o $@ $(ROBJS2) $(RLIBS)
-
-$(WPNG)$(E): $(WOBJS)
-	$(LD) $(LDFLAGS) -o $@ $(WOBJS) $(WLIBS)
-
-$(RPNG)$(O):	$(RPNG).c readpng.h
-$(RPNG2)$(O):	$(RPNG2).c readpng2.h
-$(WPNG)$(O):	$(WPNG).c writepng.h
-
-readpng$(O):	readpng.c readpng.h
-readpng2$(O):	readpng2.c readpng2.h
-writepng$(O):	writepng.c writepng.h
-
-
-# maintenance ---------------------------------------------------------------
-
-clean:
-	$(RM) $(EXES) $(ROBJS) $(ROBJS2) $(WOBJS)
diff --git a/contrib/gregbook/readpng2.c b/contrib/gregbook/readpng2.c
index 498d967..8f70c83 100644
--- a/contrib/gregbook/readpng2.c
+++ b/contrib/gregbook/readpng2.c
@@ -4,7 +4,7 @@
 
   ---------------------------------------------------------------------------
 
-      Copyright (c) 1998-2001 Greg Roelofs.  All rights reserved.
+      Copyright (c) 1998-2000 Greg Roelofs.  All rights reserved.
 
       This software is provided "as is," without warranty of any kind,
       express or implied.  In no event shall the author or contributors
@@ -51,7 +51,6 @@
 {
     fprintf(stderr, "   Compiled with libpng %s; using libpng %s.\n",
       PNG_LIBPNG_VER_STRING, png_libpng_ver);
-
     fprintf(stderr, "   Compiled with zlib %s; using zlib %s.\n",
       ZLIB_VERSION, zlib_version);
 }
@@ -111,6 +110,7 @@
     png_set_progressive_read_fn(png_ptr, mainprog_ptr,
       readpng2_info_callback, readpng2_row_callback, readpng2_end_callback);
 
+
     /* make sure we save our pointers for use in readpng2_decode_data() */
 
     mainprog_ptr->png_ptr = png_ptr;
diff --git a/contrib/gregbook/readpng2.h b/contrib/gregbook/readpng2.h
index 7caa9d9..cbc1fd8 100644
--- a/contrib/gregbook/readpng2.h
+++ b/contrib/gregbook/readpng2.h
@@ -4,7 +4,7 @@
 
   ---------------------------------------------------------------------------
 
-      Copyright (c) 1998-2001 Greg Roelofs.  All rights reserved.
+      Copyright (c) 1998-2000 Greg Roelofs.  All rights reserved.
 
       This software is provided "as is," without warranty of any kind,
       express or implied.  In no event shall the author or contributors
@@ -66,11 +66,6 @@
     int rowbytes;
     int channels;
     int need_bgcolor;
-#if (defined(__i386__) || defined(_M_IX86))
-    int nommxfilters;
-    int nommxcombine;
-    int nommxinterlace;
-#endif
     int done;
     uch bg_red;
     uch bg_green;
diff --git a/contrib/gregbook/rpng2-win.c b/contrib/gregbook/rpng2-win.c
index 8a8d3e7..9bc66c7 100644
--- a/contrib/gregbook/rpng2-win.c
+++ b/contrib/gregbook/rpng2-win.c
@@ -11,6 +11,7 @@
    Meulen for the "diamond" and "radial waves" patterns, respectively.
 
    to do:
+    - stdout/stderr don't work!  need message window (maybe scrollable?)
     - handle quoted command-line args (especially filenames with spaces)
     - finish resizable checkerboard-gradient (sizes 4-128?)
     - use %.1023s to simplify truncation of title-bar string?
@@ -24,12 +25,10 @@
     - 1.03:  modified to allow abbreviated options
     - 1.04:  removed bogus extra argument from usage fprintf() [Glenn R-P?];
               fixed command-line parsing bug
-    - 1.10:  enabled "message window" (console), thanks to David Geldreich
-    - 1.20:  added runtime MMX-enabling/disabling and new -mmx* options
 
   ---------------------------------------------------------------------------
 
-      Copyright (c) 1998-2001 Greg Roelofs.  All rights reserved.
+      Copyright (c) 1998-2000 Greg Roelofs.  All rights reserved.
 
       This software is provided "as is," without warranty of any kind,
       express or implied.  In no event shall the author or contributors
@@ -56,7 +55,7 @@
 
 #define PROGNAME  "rpng2-win"
 #define LONGNAME  "Progressive PNG Viewer for Windows"
-#define VERSION   "1.20 of 4 January 2001"
+#define VERSION   "1.04 of 19 March 2000"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -65,7 +64,6 @@
 #include <time.h>
 #include <math.h>      /* only for PvdM background code */
 #include <windows.h>
-#include <conio.h>     /* only for _getch() */
 
 /* all for PvdM background code: */
 #ifndef PI
@@ -241,16 +239,6 @@
     memset(&rpng2_info, 0, sizeof(mainprog_info));
 
 
-    /* Next reenable console output, which normally goes to the bit bucket
-     * for windowed apps.  Closing the console window will terminate the
-     * app.  Thanks to David.Geldreich@realviz.com for supplying the magical
-     * incantation. */
-
-    AllocConsole();
-    freopen("CONOUT$", "a", stderr);
-    freopen("CONOUT$", "a", stdout);
-
-
     /* Set the default value for our display-system exponent, i.e., the
      * product of the CRT exponent and the exponent corresponding to
      * the frame-buffer's lookup table (LUT), if any.  This is not an
@@ -366,14 +354,6 @@
             }
         } else if (!strncmp(*argv, "-timing", 2)) {
             timing = TRUE;
-#if (defined(__i386__) || defined(_M_IX86))
-        } else if (!strncmp(*argv, "-nommxfilters", 7)) {
-            rpng2_info.nommxfilters = TRUE;
-        } else if (!strncmp(*argv, "-nommxcombine", 7)) {
-            rpng2_info.nommxcombine = TRUE;
-        } else if (!strncmp(*argv, "-nommxinterlace", 7)) {
-            rpng2_info.nommxinterlace = TRUE;
-#endif
         } else {
             if (**argv != '-') {
                 filename = *argv;
@@ -421,47 +401,25 @@
     /* usage screen */
 
     if (error) {
-        int ch;
-
-        fprintf(stderr, "\n%s %s:  %s\n\n", PROGNAME, VERSION, appname);
+        fprintf(stderr, "\n%s %s:  %s\n", PROGNAME, VERSION, appname);
         readpng2_version_info();
         fprintf(stderr, "\n"
-          "Usage:  %s [-gamma exp] [-bgcolor bg | -bgpat pat] [-timing]\n"
-#if (defined(__i386__) || defined(_M_IX86))
-          "        %*s [-nommxfilters] [-nommxcombine] [-nommxinterlace]\n"
-#endif
-          "        %*s file.png\n\n"
+          "Usage:  %s [-gamma exp] [-bgcolor bg | -bgpat pat] [-timing]"
+          " file.png\n\n"
           "    exp \ttransfer-function exponent (``gamma'') of the display\n"
           "\t\t  system in floating-point format (e.g., ``%.1f''); equal\n"
           "\t\t  to the product of the lookup-table exponent (varies)\n"
           "\t\t  and the CRT exponent (usually 2.2); must be positive\n"
           "    bg  \tdesired background color in 7-character hex RGB format\n"
           "\t\t  (e.g., ``#ff7700'' for orange:  same as HTML colors);\n"
-          "\t\t  used with transparent images; overrides -bgpat option\n"
+          "\t\t  used with transparent images; overrides -bgpat\n"
           "    pat \tdesired background pattern number (1-%d); used with\n"
-          "\t\t  transparent images; overrides -bgcolor option\n"
+          "\t\t  transparent images; overrides -bgcolor\n"
           "    -timing\tenables delay for every block read, to simulate modem\n"
           "\t\t  download of image (~36 Kbps)\n"
-#if (defined(__i386__) || defined(_M_IX86))
-          "    -nommx*\tdisable optimized MMX routines for decoding row filters,\n"
-          "\t\t  combining rows, and expanding interlacing, respectively\n"
-#endif
           "\nPress Q, Esc or mouse button 1 after image is displayed to quit.\n"
-          "Press Q or Esc to quit this usage screen.\n"
-          "\n", PROGNAME,
-#if (defined(__i386__) || defined(_M_IX86))
-          strlen(PROGNAME), " ",
-#endif
-          strlen(PROGNAME), " ", default_display_exponent, num_bgpat);
-        do
-            ch = _getch();
-        while (ch != 'q' && ch != 'Q' && ch != 0x1B);
+          "\n", PROGNAME, default_display_exponent, num_bgpat);
         exit(1);
-    } else {
-        fprintf(stderr, "\n%s %s:  %s\n", PROGNAME, VERSION, appname);
-        fprintf(stderr,
-          "\n   [console window:  closing this window will terminate %s]\n\n",
-          PROGNAME);
     }
 
 
diff --git a/contrib/gregbook/rpng2-x.c b/contrib/gregbook/rpng2-x.c
index dd26fec..47ab5b9 100644
--- a/contrib/gregbook/rpng2-x.c
+++ b/contrib/gregbook/rpng2-x.c
@@ -25,11 +25,10 @@
     - 1.10:  added support for non-default visuals; fixed X pixel-conversion
     - 1.11:  added -usleep option for demos; fixed command-line parsing bug
     - 1.12:  added -pause option for demos and testing
-    - 1.20:  added runtime MMX-enabling/disabling and new -mmx* options
 
   ---------------------------------------------------------------------------
 
-      Copyright (c) 1998-2001 Greg Roelofs.  All rights reserved.
+      Copyright (c) 1998-2000 Greg Roelofs.  All rights reserved.
 
       This software is provided "as is," without warranty of any kind,
       express or implied.  In no event shall the author or contributors
@@ -56,7 +55,7 @@
 
 #define PROGNAME  "rpng2-x"
 #define LONGNAME  "Progressive PNG Viewer for X"
-#define VERSION   "1.20 of 4 January 2001"
+#define VERSION   "1.12 of 19 March 2000"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -360,14 +359,6 @@
             pause_after_pass = TRUE;
         } else if (!strncmp(*argv, "-timing", 2)) {
             timing = TRUE;
-#if (defined(__i386__) || defined(_M_IX86))
-        } else if (!strncmp(*argv, "-nommxfilters", 7)) {
-            rpng2_info.nommxfilters = TRUE;
-        } else if (!strncmp(*argv, "-nommxcombine", 7)) {
-            rpng2_info.nommxcombine = TRUE;
-        } else if (!strncmp(*argv, "-nommxinterlace", 7)) {
-            rpng2_info.nommxinterlace = TRUE;
-#endif
         } else {
             if (**argv != '-') {
                 filename = *argv;
@@ -423,13 +414,10 @@
     /* usage screen */
 
     if (error) {
-        fprintf(stderr, "\n%s %s:  %s\n\n", PROGNAME, VERSION, appname);
+        fprintf(stderr, "\n%s %s:  %s\n", PROGNAME, VERSION, appname);
         readpng2_version_info();
         fprintf(stderr, "\n"
           "Usage:  %s [-display xdpy] [-gamma exp] [-bgcolor bg | -bgpat pat]\n"
-#if (defined(__i386__) || defined(_M_IX86))
-          "        %*s [-nommxfilters] [-nommxcombine] [-nommxinterlace]\n"
-#endif
           "        %*s [-usleep dur | -timing] [-pause] file.png\n\n"
           "    xdpy\tname of the target X display (e.g., ``hostname:0'')\n"
           "    exp \ttransfer-function exponent (``gamma'') of the display\n"
@@ -441,10 +429,6 @@
           "\t\t  used with transparent images; overrides -bgpat\n"
           "    pat \tdesired background pattern number (1-%d); used with\n"
           "\t\t  transparent images; overrides -bgcolor\n"
-#if (defined(__i386__) || defined(_M_IX86))
-          "    -nommx*\tdisable optimized MMX routines for decoding row filters,\n"
-          "\t\t  combining rows, and expanding interlacing, respectively\n"
-#endif
           "    dur \tduration in microseconds to wait after displaying each\n"
           "\t\t  row (for demo purposes)\n"
           "    -timing\tenables delay for every block read, to simulate modem\n"
@@ -452,11 +436,8 @@
           "    -pause\tpauses after displaying each pass until key pressed\n"
           "\nPress Q, Esc or mouse button 1 (within image window, after image\n"
           "is displayed) to quit.\n"
-          "\n", PROGNAME,
-#if (defined(__i386__) || defined(_M_IX86))
-          strlen(PROGNAME), " ",
-#endif
-          strlen(PROGNAME), " ", default_display_exponent, num_bgpat);
+          "\n", PROGNAME, strlen(PROGNAME), " ", default_display_exponent,
+          num_bgpat);
         exit(1);
     }
 
diff --git a/example.c b/example.c
index 1e953c8..aa920fe 100644
--- a/example.c
+++ b/example.c
@@ -267,7 +267,7 @@
     */
    if (color_type & PNG_COLOR_MASK_COLOR)
    {
-      int num_palette;
+      png_uint_32 num_palette;
       png_colorp palette;
 
       /* This reduces the image to the application supplied palette */
@@ -603,9 +603,9 @@
       PNG_INTERLACE_????, PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE);
 
    /* set the palette if there is one.  REQUIRED for indexed-color images */
-   palette = (png_colorp)png_malloc(png_ptr, PNG_MAX_PALETTE_LENGTH * sizeof (png_color));
+   palette = (png_colorp)png_malloc(png_ptr, 256 * sizeof (png_color));
    /* ... set palette colors ... */
-   png_set_PLTE(png_ptr, info_ptr, palette, PNG_MAX_PALETTE_LENGTH);
+   png_set_PLTE(png_ptr, info_ptr, palette, 256);
    /* You must not free palette here, because png_set_PLTE only makes a link to
       the palette that you malloced.  Wait until you are about to destroy
       the png structure. */
diff --git a/libpng.3 b/libpng.3
index 2203540..2a54ac2 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "January 16, 2001"
+.TH LIBPNG 3 "November 19, 2000"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.9beta10
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.9beta2
 .SH SYNOPSIS
 \fI\fB
 
@@ -100,10 +100,6 @@
 
 \fI\fB
 
-\fBpng_uint_32 png_get_asm_flags (png_structp \fIpng_ptr\fP\fB);\fP
-
-\fI\fB
-
 \fBpng_byte png_get_bit_depth (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fIinfo_ptr\fP\fB);\fP
 
 \fI\fB
@@ -338,10 +334,6 @@
 
 \fI\fB
 
-\fBint png_mmx_support \fI(void\fP\fB);\fP
-
-\fI\fB
-
 \fBvoid png_permit_empty_plte (png_structp \fP\fIpng_ptr\fP\fB, int \fIempty_plte_permitted\fP\fB);\fP
 
 \fI\fB
@@ -392,10 +384,6 @@
 
 \fI\fB
 
-\fBpng_set_asm_flags (png_structp \fP\fIpng_ptr\fP\fB, png_uint_32 \fIasm_flags\fP\fB);\fP
-
-\fI\fB
-
 \fBvoid png_set_background (png_structp \fP\fIpng_ptr\fP\fB, png_color_16p \fP\fIbackground_color\fP\fB, int \fP\fIbackground_gamma_code\fP\fB, int \fP\fIneed_expand\fP\fB, double \fIbackground_gamma\fP\fB);\fP
 
 \fI\fB
@@ -759,7 +747,7 @@
 .SH LIBPNG.TXT
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.0.9beta10 - January 16, 2001
+ libpng version 1.0.9beta2 - November 19, 2000
  Updated and distributed by Glenn Randers-Pehrson
  <randeg@alum.rpi.edu>
  Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
@@ -826,7 +814,7 @@
 
 Libpng uses zlib for its compression and decompression of PNG files.
 Further information about zlib, and the latest version of zlib, can
-be found at the zlib home page, <http://www.info-zip.org/pub/infozip/zlib/>.
+be found at the zlib home page, <ftp://ftp.freesoftware.com/pub/infozip/zlib/>.
 The zlib compression utility is a general purpose utility that is
 useful for more than PNG files, and can be used without libpng.
 See the documentation delivered with zlib for more details.
@@ -1130,7 +1118,7 @@
    row_pointers = png_malloc(png_ptr, height*sizeof(png_bytep));
    for (int i=0; i<height, i++)
       row_pointers[i]=png_malloc(png_ptr, width*pixel_size);
-   png_set_rows(png_ptr, info_ptr, &row_pointers);
+   png_set_rows(png_ptr, info_ptr, &row_pointers); 
 
 Alternatively you could allocate your image in one big block and define
 row_pointers[i] to point into the proper places in your block.
@@ -1159,7 +1147,7 @@
 
     png_get_IHDR(png_ptr, info_ptr, &width, &height,
        &bit_depth, &color_type, &interlace_type,
-       &compression_type, &filter_method);
+       &compression_type, &filter_type);
 
     width          - holds the width of the image
                      in pixels (up to 2^31).
@@ -1187,18 +1175,15 @@
                      PNG_COLOR_MASK_COLOR
                      PNG_COLOR_MASK_ALPHA
 
-    filter_method  - (must be PNG_FILTER_TYPE_BASE
-                     for PNG 1.0, and can also be
-                     PNG_INTRAPIXEL_DIFFERENCING if
-                     the PNG datastream is embedded in
-                     a MNG-1.0 datastream)
+    filter_type    - (must be PNG_FILTER_TYPE_BASE
+                     for PNG 1.0)
     compression_type - (must be PNG_COMPRESSION_TYPE_BASE
                      for PNG 1.0)
     interlace_type - (PNG_INTERLACE_NONE or
                      PNG_INTERLACE_ADAM7)
     Any or all of interlace_type, compression_type, of
-                     filter_method can be NULL if you are
-                     not interested in their values.
+                     filter_type can be NULL if you are not
+                     interested in their values.
 
     channels = png_get_channels(png_ptr, info_ptr);
     channels       - number of channels of info for the
@@ -1228,7 +1213,7 @@
                          info_ptr);
     color_type       = png_get_color_type(png_ptr,
                          info_ptr);
-    filter_method    = png_get_filter_type(png_ptr,
+    filter_type      = png_get_filter_type(png_ptr,
                          info_ptr);
     compression_type = png_get_compression_type(png_ptr,
                          info_ptr);
@@ -1326,7 +1311,7 @@
                          (empty string for unknown).
     num_text       - number of comments (same as num_comments;
                      you can put NULL here to avoid the duplication)
-    Note while png_set_text() will accept text, language, and
+    Note while png_set_text() will accept text, language, and 
     translated keywords that can be NULL pointers, the structure
     returned by png_get_text will always contain regular
     zero-terminated C strings.  They might be empty strings but
@@ -1721,7 +1706,7 @@
       if (png_get_valid(png_ptr, info_ptr,
          PNG_INFO_PLTE))
       {
-         png_uint_16p histogram;
+         png_color_16p histogram;
 
          png_get_hIST(png_ptr, info_ptr,
             &histogram);
@@ -2009,7 +1994,7 @@
     png_set_invalid(png_ptr, info_ptr, mask);
     mask - identifies the chunks to be made invalid,
            containing the logical OR of one or
-           more of
+           more of 
              PNG_INFO_gAMA, PNG_INFO_sBIT,
              PNG_INFO_cHRM, PNG_INFO_PLTE,
              PNG_INFO_tRNS, PNG_INFO_bKGD,
@@ -2301,11 +2286,10 @@
 have no special needs in this area, let the library do what it wants by
 not calling this function at all, as it has been tuned to deliver a good
 speed/compression ratio. The second parameter to png_set_filter() is
-the filter method, for which the only valid values are 0 (as of the
-July 1999 PNG specification, version 1.2) or 64 (if you are writing
-a PNG datastream that is to be embedded in a MNG datastream).  The third
-parameter is a flag that indicates which filter type(s) are to be tested
-for each scanline.  See the PNG specification for details on the specific filter
+the filter method, for which the only valid value is '0' (as of the
+July 1999 PNG specification, version 1.2).  The third parameter is a
+flag that indicates which filter type(s) are to be tested for each
+scanline.  See the PNG specification for details on the specific filter
 types.
 
 
@@ -2326,9 +2310,6 @@
 row of pixels will be stored in case it's needed later), and then add
 and remove them after the start of compression.
 
-If you are writing a PNG datastream that is to be embedded in a MNG
-datastream, the second parameter can be either 0 or 64.
-
 The png_set_compression_*() functions interface to the zlib compression
 library, and should mostly be ignored unless you really know what you are
 doing.  The only generally useful call is png_set_compression_level()
@@ -2367,7 +2348,7 @@
 
     png_set_IHDR(png_ptr, info_ptr, width, height,
        bit_depth, color_type, interlace_type,
-       compression_type, filter_method)
+       compression_type, filter_type)
     width          - holds the width of the image
                      in pixels (up to 2^31).
     height         - holds the height of the image
@@ -2399,11 +2380,7 @@
                      PNG_INTERLACE_ADAM7
     compression_type - (must be
                      PNG_COMPRESSION_TYPE_DEFAULT)
-    filter_method  - (must be PNG_FILTER_TYPE_DEFAULT
-                     or, if you are writing a PNG to
-                     be embedded in a MNG datastream,
-                     can also be
-                     PNG_INTRAPIXEL_DIFFERENCING)
+    filter_type    - (must be PNG_FILTER_TYPE_DEFAULT)
 
     png_set_PLTE(png_ptr, info_ptr, palette,
        num_palette);
@@ -3001,22 +2978,13 @@
 
 .SH V. Modifying/Customizing libpng:
 
-There are three issues here.  The first is changing how libpng does
+There are two issues here.  The first is changing how libpng does
 standard things like memory allocation, input/output, and error handling.
 The second deals with more complicated things like adding new chunks,
 adding new transformations, and generally changing how libpng works.
-Both of those are compile-time issues; that is, they are generally
-determined at the time the code is written, and there is rarely a need
-to provide the user with a means of changing them.  The third is a
-run-time issue:  choosing between and/or tuning one or more alternate
-versions of computationally intensive routines; specifically, optimized
-assembly-language (and therefore compiler- and platform-dependent)
-versions.
-
-Memory allocation, input/output, and error handling
 
 All of the memory allocation, input/output, and error handling in libpng
-goes through callbacks that are user-settable.  The default routines are
+goes through callbacks that are user settable.  The default routines are
 in pngmem.c, pngrio.c, pngwio.c, and pngerror.c, respectively.  To change
 these functions, call the appropriate png_set_*_fn() function.
 
@@ -3249,10 +3217,6 @@
 
     png_set_filter(png_ptr, PNG_FILTER_TYPE_BASE,
        filters);
-              The second parameter can also be PNG_INTRAPIXEL_DIFFERENCING
-              if you are writing a PNG to be embedded in a MNG
-              datastream.  This parameter must be the same as the
-              value of filter_method used in png_set_IHDR().
 
 It is also possible to influence how libpng chooses from among the
 available filters.  This is done in two ways - by telling it how
@@ -3364,33 +3328,7 @@
 having level = 0 will be printed.  There aren't any such statements in
 this version of libpng, but if you insert some they will be printed.
 
-
-.SH VI.  MNG support
-
-The MNG specification (available at http://www.libpng.org/pub/mng) allows
-certain extensions to PNG for PNG images that are embedded in MNG datastreams.
-Libpng can support some of these extensions.  To enable them, use the
-png_permit_mng_features() function:
-
-   feature_set = png_permit_mng_features(png_ptr, mask)
-   mask is a png_uint_32 containing the logical OR of the
-        features you want to enable.  These include
-        PNG_FLAG_MNG_EMPTY_PLTE
-        PNG_FLAG_MNG_FILTER_64
-        PNG_ALL_MNG_FEATURES
-   feature_set is a png_32_uint that is the logical AND of
-      your mask with the set of MNG features that is
-      supported by the version of libpng that you are using.
-
-It is an error to use this function when reading or writing a standalone
-PNG file with the PNG 8-byte signature.  The PNG datastream must be wrapped
-in a MNG datastream.  As a minimum, it must have the MNG 8-byte signature
-and the MHDR and MEND chunks.  Libpng does not provide support for these
-or any other MNG chunks; your application must provide its own support for
-them.  You may wish to consider using libmng (available at
-http://www.libmng.com) instead.
-
-.SH VII.  Changes to Libpng from version 0.88
+.SH VI.  Changes to Libpng from version 0.88
 
 It should be noted that versions of libpng later than 0.96 are not
 distributed by the original libpng author, Guy Schalnat, nor by
@@ -3439,15 +3377,15 @@
 
    png_uint_32 application_vn = PNG_LIBPNG_VER;
 
-.SH VIII. Y2K Compliance in libpng
+.SH VII. Y2K Compliance in libpng
 
-January 16, 2001
+November 19, 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.9beta10 are Y2K compliant.  It is my belief that earlier
+upward through 1.0.9beta2 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
@@ -3588,7 +3526,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.0.9beta10 - January 16, 2001:
+Libpng version 1.0.9beta2 - November 19, 2000:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (randeg@alum.rpi.edu).
 
@@ -3605,7 +3543,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.9beta10, January 16, 2001, are
+libpng versions 1.0.7, July 1, 2000, through  1.0.9beta2, November 19, 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
@@ -3696,7 +3634,7 @@
 
 Glenn Randers-Pehrson
 randeg@alum.rpi.edu
-January 16, 2001
+November 19, 2000
 
 .\" end of man page
 
diff --git a/libpng.txt b/libpng.txt
index 9c01f86..e95ad00 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.9beta10 - January 16, 2001
+ libpng version 1.0.9beta2 - November 19, 2000
  Updated and distributed by Glenn Randers-Pehrson
  <randeg@alum.rpi.edu>
  Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
@@ -67,7 +67,7 @@
 
 Libpng uses zlib for its compression and decompression of PNG files.
 Further information about zlib, and the latest version of zlib, can
-be found at the zlib home page, <http://www.info-zip.org/pub/infozip/zlib/>.
+be found at the zlib home page, <ftp://ftp.freesoftware.com/pub/infozip/zlib/>.
 The zlib compression utility is a general purpose utility that is
 useful for more than PNG files, and can be used without libpng.
 See the documentation delivered with zlib for more details.
@@ -371,7 +371,7 @@
    row_pointers = png_malloc(png_ptr, height*sizeof(png_bytep));
    for (int i=0; i<height, i++)
       row_pointers[i]=png_malloc(png_ptr, width*pixel_size);
-   png_set_rows(png_ptr, info_ptr, &row_pointers);
+   png_set_rows(png_ptr, info_ptr, &row_pointers); 
 
 Alternatively you could allocate your image in one big block and define
 row_pointers[i] to point into the proper places in your block.
@@ -400,7 +400,7 @@
 
     png_get_IHDR(png_ptr, info_ptr, &width, &height,
        &bit_depth, &color_type, &interlace_type,
-       &compression_type, &filter_method);
+       &compression_type, &filter_type);
 
     width          - holds the width of the image
                      in pixels (up to 2^31).
@@ -428,18 +428,15 @@
                      PNG_COLOR_MASK_COLOR
                      PNG_COLOR_MASK_ALPHA
 
-    filter_method  - (must be PNG_FILTER_TYPE_BASE
-                     for PNG 1.0, and can also be
-                     PNG_INTRAPIXEL_DIFFERENCING if
-                     the PNG datastream is embedded in
-                     a MNG-1.0 datastream)
+    filter_type    - (must be PNG_FILTER_TYPE_BASE
+                     for PNG 1.0)
     compression_type - (must be PNG_COMPRESSION_TYPE_BASE
                      for PNG 1.0)
     interlace_type - (PNG_INTERLACE_NONE or
                      PNG_INTERLACE_ADAM7)
     Any or all of interlace_type, compression_type, of
-                     filter_method can be NULL if you are
-                     not interested in their values.
+                     filter_type can be NULL if you are not
+                     interested in their values.
 
     channels = png_get_channels(png_ptr, info_ptr);
     channels       - number of channels of info for the
@@ -469,7 +466,7 @@
                          info_ptr);
     color_type       = png_get_color_type(png_ptr,
                          info_ptr);
-    filter_method    = png_get_filter_type(png_ptr,
+    filter_type      = png_get_filter_type(png_ptr,
                          info_ptr);
     compression_type = png_get_compression_type(png_ptr,
                          info_ptr);
@@ -567,7 +564,7 @@
                          (empty string for unknown).
     num_text       - number of comments (same as num_comments;
                      you can put NULL here to avoid the duplication)
-    Note while png_set_text() will accept text, language, and
+    Note while png_set_text() will accept text, language, and 
     translated keywords that can be NULL pointers, the structure
     returned by png_get_text will always contain regular
     zero-terminated C strings.  They might be empty strings but
@@ -962,7 +959,7 @@
       if (png_get_valid(png_ptr, info_ptr,
          PNG_INFO_PLTE))
       {
-         png_uint_16p histogram;
+         png_color_16p histogram;
 
          png_get_hIST(png_ptr, info_ptr,
             &histogram);
@@ -1250,7 +1247,7 @@
     png_set_invalid(png_ptr, info_ptr, mask);
     mask - identifies the chunks to be made invalid,
            containing the logical OR of one or
-           more of
+           more of 
              PNG_INFO_gAMA, PNG_INFO_sBIT,
              PNG_INFO_cHRM, PNG_INFO_PLTE,
              PNG_INFO_tRNS, PNG_INFO_bKGD,
@@ -1542,11 +1539,10 @@
 have no special needs in this area, let the library do what it wants by
 not calling this function at all, as it has been tuned to deliver a good
 speed/compression ratio. The second parameter to png_set_filter() is
-the filter method, for which the only valid values are 0 (as of the
-July 1999 PNG specification, version 1.2) or 64 (if you are writing
-a PNG datastream that is to be embedded in a MNG datastream).  The third
-parameter is a flag that indicates which filter type(s) are to be tested
-for each scanline.  See the PNG specification for details on the specific filter
+the filter method, for which the only valid value is '0' (as of the
+July 1999 PNG specification, version 1.2).  The third parameter is a
+flag that indicates which filter type(s) are to be tested for each
+scanline.  See the PNG specification for details on the specific filter
 types.
 
 
@@ -1567,9 +1563,6 @@
 row of pixels will be stored in case it's needed later), and then add
 and remove them after the start of compression.
 
-If you are writing a PNG datastream that is to be embedded in a MNG
-datastream, the second parameter can be either 0 or 64.
-
 The png_set_compression_*() functions interface to the zlib compression
 library, and should mostly be ignored unless you really know what you are
 doing.  The only generally useful call is png_set_compression_level()
@@ -1608,7 +1601,7 @@
 
     png_set_IHDR(png_ptr, info_ptr, width, height,
        bit_depth, color_type, interlace_type,
-       compression_type, filter_method)
+       compression_type, filter_type)
     width          - holds the width of the image
                      in pixels (up to 2^31).
     height         - holds the height of the image
@@ -1640,11 +1633,7 @@
                      PNG_INTERLACE_ADAM7
     compression_type - (must be
                      PNG_COMPRESSION_TYPE_DEFAULT)
-    filter_method  - (must be PNG_FILTER_TYPE_DEFAULT
-                     or, if you are writing a PNG to
-                     be embedded in a MNG datastream,
-                     can also be
-                     PNG_INTRAPIXEL_DIFFERENCING)
+    filter_type    - (must be PNG_FILTER_TYPE_DEFAULT)
 
     png_set_PLTE(png_ptr, info_ptr, palette,
        num_palette);
@@ -2242,22 +2231,13 @@
 
 V. Modifying/Customizing libpng:
 
-There are three issues here.  The first is changing how libpng does
+There are two issues here.  The first is changing how libpng does
 standard things like memory allocation, input/output, and error handling.
 The second deals with more complicated things like adding new chunks,
 adding new transformations, and generally changing how libpng works.
-Both of those are compile-time issues; that is, they are generally
-determined at the time the code is written, and there is rarely a need
-to provide the user with a means of changing them.  The third is a
-run-time issue:  choosing between and/or tuning one or more alternate
-versions of computationally intensive routines; specifically, optimized
-assembly-language (and therefore compiler- and platform-dependent)
-versions.
-
-Memory allocation, input/output, and error handling
 
 All of the memory allocation, input/output, and error handling in libpng
-goes through callbacks that are user-settable.  The default routines are
+goes through callbacks that are user settable.  The default routines are
 in pngmem.c, pngrio.c, pngwio.c, and pngerror.c, respectively.  To change
 these functions, call the appropriate png_set_*_fn() function.
 
@@ -2490,10 +2470,6 @@
 
     png_set_filter(png_ptr, PNG_FILTER_TYPE_BASE,
        filters);
-              The second parameter can also be PNG_INTRAPIXEL_DIFFERENCING
-              if you are writing a PNG to be embedded in a MNG
-              datastream.  This parameter must be the same as the
-              value of filter_method used in png_set_IHDR().
 
 It is also possible to influence how libpng chooses from among the
 available filters.  This is done in two ways - by telling it how
@@ -2605,33 +2581,7 @@
 having level = 0 will be printed.  There aren't any such statements in
 this version of libpng, but if you insert some they will be printed.
 
-
-VI.  MNG support
-
-The MNG specification (available at http://www.libpng.org/pub/mng) allows
-certain extensions to PNG for PNG images that are embedded in MNG datastreams.
-Libpng can support some of these extensions.  To enable them, use the
-png_permit_mng_features() function:
-
-   feature_set = png_permit_mng_features(png_ptr, mask)
-   mask is a png_uint_32 containing the logical OR of the
-        features you want to enable.  These include
-        PNG_FLAG_MNG_EMPTY_PLTE
-        PNG_FLAG_MNG_FILTER_64
-        PNG_ALL_MNG_FEATURES
-   feature_set is a png_32_uint that is the logical AND of
-      your mask with the set of MNG features that is
-      supported by the version of libpng that you are using.
-
-It is an error to use this function when reading or writing a standalone
-PNG file with the PNG 8-byte signature.  The PNG datastream must be wrapped
-in a MNG datastream.  As a minimum, it must have the MNG 8-byte signature
-and the MHDR and MEND chunks.  Libpng does not provide support for these
-or any other MNG chunks; your application must provide its own support for
-them.  You may wish to consider using libmng (available at
-http://www.libmng.com) instead.
-
-VII.  Changes to Libpng from version 0.88
+VI.  Changes to Libpng from version 0.88
 
 It should be noted that versions of libpng later than 0.96 are not
 distributed by the original libpng author, Guy Schalnat, nor by
@@ -2680,15 +2630,15 @@
 
    png_uint_32 application_vn = PNG_LIBPNG_VER;
 
-VIII. Y2K Compliance in libpng
+VII. Y2K Compliance in libpng
 
-January 16, 2001
+November 19, 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.9beta10 are Y2K compliant.  It is my belief that earlier
+upward through 1.0.9beta2 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 19e0d44..4404059 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "January 16, 2001"
+.TH LIBPNGPF 3 "November 19, 2000"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.9beta10
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.9beta2
 (private functions)
 .SH SYNOPSIS
 \fB#include <png.h>\fP
diff --git a/png.5 b/png.5
index 8823781..a1cce5d 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "January 16, 2001"
+.TH PNG 5 "November 19, 2000"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index a8538e3..164ebf3 100644
--- a/png.c
+++ b/png.c
@@ -1,8 +1,8 @@
 
 /* png.c - location for general purpose libpng functions
  *
- * libpng version 1.0.9beta10 - January 16, 2001
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * libpng version 1.0.9beta2 - November 19, 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,14 +13,14 @@
 #include "png.h"
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_0_9beta10 Your_png_h_is_not_version_1_0_9beta10;
+typedef version_1_0_9beta2 Your_png_h_is_not_version_1_0_9beta2;
 
 /* 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 */
-const char png_libpng_ver[18] = "1.0.9beta10";
+const char png_libpng_ver[18] = "1.0.9beta2";
 
 /* png_sig was changed to a function in version 1.0.5c */
 /* Place to hold the signature string for a PNG file. */
@@ -526,7 +526,7 @@
    png_debug(1, "in png_info_destroy\n");
 
    png_free_data(png_ptr, info_ptr, PNG_FREE_ALL, -1);
-
+    
 #if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
    if (png_ptr->num_chunk_list)
    {
@@ -626,8 +626,8 @@
 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.9beta10 - January 16, 2001\n\
-   Copyright (c) 1998-2001 Glenn Randers-Pehrson\n\
+   return ((png_charp) "\n libpng version 1.0.9beta2 - November 19, 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");
    return ((png_charp) "");
@@ -644,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.9beta10");
-   return((png_charp) "1.0.9beta10");
+      return((png_charp) "1.0.9beta2");
+   return((png_charp) "1.0.9beta2");
 }
 
 png_charp PNGAPI
@@ -697,13 +697,3 @@
    /* Version of *.c files used when building libpng */
    return((png_uint_32) 10009L);
 }
-
-
-/* this function was added to libpng 1.0.9 (porting aid to libpng-1.2.0) */
-#ifndef PNG_ASSEMBLER_CODE_SUPPORTED
-int PNGAPI
-png_mmx_support(void)
-{
-    return -1;
-}
-#endif
diff --git a/png.h b/png.h
index 247ae3d..ca4c8a9 100644
--- a/png.h
+++ b/png.h
@@ -1,15 +1,15 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.0.9beta10 - January 16, 2001
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * libpng version 1.0.9beta2 - November 19, 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.)
  *
  * 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.9beta10 - January 16, 2001: Glenn
+ *  libpng versions 0.97, January 1998, through 1.0.9beta2 - November 19, 2000: Glenn
  *  See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -58,14 +58,12 @@
  *    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-6                  10009  2.1.0.9beta1-6
- *    1.0.9rc1                      10009  2.1.0.9rc1
- *    1.0.9beta7-10                 10009  2.1.0.9beta7-10
+ *    1.0.9beta1-2                  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
  *    used for changes in backward compatibility, as it is intended.  The
- *    PNG_LIBPNG_VER macro, which is not used within libpng but is available
+ *    PNG_PNGLIB_VER macro, which is not used within libpng but is available
  *    for applications, is an unsigned integer of the form xyyzz corresponding
  *    to the source version x.y.z (leading zeros in y and z).  Beta versions
  *    were given the previous public release number plus a letter, until
@@ -87,8 +85,8 @@
  * If you modify libpng you may insert additional notices immediately following
  * this sentence.
  *
- * libpng versions 1.0.7, July 1, 2000, through  1.0.9beta10, January 16, 2001, are
- * Copyright (c) 2000, 2001 Glenn Randers-Pehrson, and are
+ * libpng versions 1.0.7, July 1, 2000, through  1.0.9beta2, November 19, 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
  *
@@ -192,13 +190,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    January 16, 2001
+ *    November 19, 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.9beta10 are Y2K compliant.  It is my belief that earlier
+ *    upward through 1.0.9beta2 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
@@ -254,7 +252,7 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.0.9beta10"
+#define PNG_LIBPNG_VER_STRING "1.0.9beta2"
 
 #define PNG_LIBPNG_VER_SONUM   2
 
@@ -264,16 +262,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  10
-
-#define PNG_LIBPNG_BUILD_ALPHA    1
-#define PNG_LIBPNG_BUILD_BETA     2
-#define PNG_LIBPNG_BUILD_RC       3
-#define PNG_LIBPNG_BUILD_STABLE   4
-#define PNG_LIBPNG_BUILD_TYPEMASK 7
-#define PNG_LIBPNG_BUILD_PATCH    8 /* Can be OR'ed with STABLE only */
-#define PNG_LIBPNG_BUILD_TYPE 2
+#define PNG_LIBPNG_VER_BUILD  2
+#define PNG_LIBPNG_BUILD_TYPE beta /* alpha, beta, rc, stable, patched */
 
 /* Careful here.  At one time, Guy wanted to use 082, but that would be octal.
  * We must not include leading zeros.
@@ -287,9 +277,14 @@
 /* include the compression library's header */
 #include "zlib.h"
 
-/* include all user configurable info, including optional assembler routines */
+/* include all user configurable info */
 #include "pngconf.h"
 
+/* macros for optional assembler routines */
+#if defined(PNG_INTERNAL) && defined(PNG_ASSEMBLER_CODE_SUPPORTED)
+#  include "pngasmrd.h"
+#endif
+
 /* Inhibit C++ name-mangling for libpng functions but not for system calls. */
 #ifdef __cplusplus
 extern "C" {
@@ -443,7 +438,7 @@
  * Two conversions are provided, both from time_t and struct tm.  There
  * is no portable way to convert to either of these structures, as far
  * as I know.  If you know of a portable way, send it to me.  As a side
- * note - PNG has always been Year 2000 compliant!
+ * note - PNG is Year 2000 compliant!
  */
 typedef struct png_time_struct
 {
@@ -501,20 +496,20 @@
  * The following members may have allocated storage attached that should be
  * cleaned up before the structure is discarded: palette, trans, text,
  * pcal_purpose, pcal_units, pcal_params, hist, iccp_name, iccp_profile,
- * splt_palettes, scal_unit, row_pointers, and unknowns.   By default, these
- * are automatically freed when the info structure is deallocated, if they were
+ * splt_palettes, scal_unit, row_pointers, and unknowns.   By default, these are
+ * automatically freed when the info structure is deallocated, if they were
  * allocated internally by libpng.  This behavior can be changed by means
  * of the png_data_freer() function.
  *
- * More allocation details: all the chunk-reading functions that
- * change these members go through the corresponding png_set_*
- * functions.  A function to clear these members is available: see
- * png_free_data().  The png_set_* functions do not depend on being
- * able to point info structure members to any of the storage they are
- * passed (they make their own copies), EXCEPT that the png_set_text
- * functions use the same storage passed to them in the text_ptr or
- * itxt_ptr structure argument, and the png_set_rows and png_set_unknowns
- * functions do not make their own copies.
+ * More allocation details: all the chunk-reading functions that change these
+ * members go through the corresponding png_set_* functions.  A function to
+ * clear these members is available: see png_free_data().   Some of the
+ * png_set_* functions do not depend on being able to point info structure
+ * members to any of the storage they are passed (they make their own copies),
+ * EXCEPT that the png_set_text functions use the same storage passed to them
+ * in the text_ptr or itxt_ptr structure argument, and the png_set_tRNS,
+ * png_set_PLTE, png_set_hIST, png_set_iCCP, png_set_rows, png_set_sPLT,
+ * and png_set_unknowns do not make their own copies.
  */
 typedef struct png_info_struct
 {
@@ -700,7 +695,6 @@
    /* iCCP chunk data. */
    png_charp iccp_name;     /* profile name */
    png_charp iccp_profile;  /* International Color Consortium profile data */
-                            /* Note to maintainer: should be png_bytep */
    png_uint_32 iccp_proflen;  /* ICC profile data length */
    png_byte iccp_compression; /* Always zero */
 #endif
@@ -781,7 +775,6 @@
 
 /* This is for filter type. PNG 1.0-1.2 only define the single type. */
 #define PNG_FILTER_TYPE_BASE      0 /* Single row per-byte filtering */
-#define PNG_INTRAPIXEL_DIFFERENCING 64 /* Used only in MNG datastreams */
 #define PNG_FILTER_TYPE_DEFAULT   PNG_FILTER_TYPE_BASE
 
 /* These are for the interlacing type.  These values should NOT be changed. */
@@ -822,8 +815,6 @@
 /* This is for text chunks */
 #define PNG_KEYWORD_MAX_LENGTH     79
 
-/* Maximum number of entries in PLTE/sPLT/tRNS arrays */
-#define PNG_MAX_PALETTE_LENGTH	   256
 
 /* These determine if an ancillary chunk's data has been successfully read
  * from the PNG header, or if the application has filled in the corresponding
@@ -918,9 +909,8 @@
 #define PNG_TRANSFORM_STRIP_FILLER   0x0800    /* WRITE only */
 
 /* Flags for MNG supported features */
-#define PNG_FLAG_MNG_EMPTY_PLTE     0x01
-#define PNG_FLAG_MNG_FILTER_64      0x04
-#define PNG_ALL_MNG_FEATURES        0x05
+#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));
@@ -1166,15 +1156,12 @@
    png_fixed_point int_gamma;
 #endif
 
-   png_byte filter_type;
-
 };
 
-
 /* This prevents a compiler error in png_get_copyright() in png.c if png.c
-and png.h are both at * version 1.0.9beta10
+and png.h are both at * version 1.0.9beta2
  */
-typedef png_structp version_1_0_9beta10;
+typedef png_structp version_1_0_9beta2;
 
 typedef png_struct FAR * FAR * png_structpp;
 
@@ -2026,14 +2013,12 @@
 extern PNG_EXPORT(png_uint_32,png_get_iCCP) PNGARG((png_structp png_ptr,
    png_infop info_ptr, png_charpp name, int *compression_type,
    png_charpp profile, png_uint_32 *proflen));
-   /* Note to maintainer: profile should be png_bytepp */
 #endif
 
 #if defined(PNG_iCCP_SUPPORTED)
 extern PNG_EXPORT(void,png_set_iCCP) PNGARG((png_structp png_ptr,
    png_infop info_ptr, png_charp name, int compression_type,
    png_charp profile, png_uint_32 proflen));
-   /* Note to maintainer: profile should be png_bytep */
 #endif
 
 #if defined(PNG_READ_sPLT_SUPPORTED)
@@ -2214,13 +2199,8 @@
    png_ptr, png_uint_32 mng_features_permitted));
 #endif
 
-/* png.c, pnggccrd.c, or pngvcrd.c */
-extern PNG_EXPORT(int,png_mmx_support) PNGARG((void));
-
-/* Maintainer: Put new public prototypes here ^, in libpng.3, and project defs */
-
 #define PNG_HEADER_VERSION_STRING \
-   " libpng version 1.0.9beta10 - January 16, 2001 (header)\n"
+   " libpng version 1.0.9beta2 - November 19, 2000 (header)\n"
 
 #ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED
 /* With these routines we avoid an integer divide, which will be slower on
@@ -2286,7 +2266,6 @@
 #define PNG_WROTE_tIME             0x200
 #define PNG_WROTE_INFO_BEFORE_PLTE 0x400
 #define PNG_BACKGROUND_IS_GRAY     0x800
-#define PNG_HAVE_PNG_SIGNATURE    0x1000
 
 /* flags for the transformations the PNG library does on the image data */
 #define PNG_BGR                0x0001
@@ -2448,7 +2427,7 @@
 #endif /* !PNG_READ_BIG_ENDIAN_SUPPORTED */
 
 /* Initialize png_ptr struct for reading, and allocate any other memory.
- * (old interface - DEPRECATED - use png_create_read_struct instead).
+ * (old interface - DEPRECATED).
  */
 extern PNG_EXPORT(void,png_read_init) PNGARG((png_structp png_ptr));
 #define png_read_init(png_ptr) png_read_init_2(png_ptr, \
@@ -2458,7 +2437,7 @@
     png_info_size));
 
 /* Initialize png_ptr struct for writing, and allocate any other memory.
- * (old interface - DEPRECATED - use png_create_write_struct instead).
+ * (old interface - DEPRECATED).
  */
 extern PNG_EXPORT(void,png_write_init) PNGARG((png_structp png_ptr));
 #define png_write_init(png_ptr) png_write_init_2(png_ptr, \
@@ -2605,7 +2584,6 @@
 PNG_EXTERN void png_write_iCCP PNGARG((png_structp png_ptr,
    png_charp name, int compression_type,
    png_charp profile, int proflen));
-   /* Note to maintainer: profile should be png_bytep */
 #endif
 
 #if defined(PNG_WRITE_sPLT_SUPPORTED)
@@ -2700,15 +2678,10 @@
 
 #if defined(PNG_READ_INTERLACING_SUPPORTED)
 /* expand an interlaced row */
-/* OLD interface:
 PNG_EXTERN void png_do_read_interlace PNGARG((png_row_infop row_info,
    png_bytep row, int pass, png_uint_32 transformations));
- */
-PNG_EXTERN void png_do_read_interlace PNGARG((png_structp png_ptr));
 #endif
 
-/* GRR TO DO (2.0 or whenever):  simplify other internal calling interfaces */
-
 #if defined(PNG_WRITE_INTERLACING_SUPPORTED)
 /* grab pixels out of a row for an interlaced pass */
 PNG_EXTERN void png_do_write_interlace PNGARG((png_row_infop row_info,
@@ -3013,15 +2986,6 @@
 
 #endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
 
-#ifdef PNG_MNG_FEATURES_SUPPORTED
-PNG_EXTERN void png_do_read_intrapixel PNGARG((png_row_infop row_info,
-   png_bytep row));
-PNG_EXTERN void png_do_write_intrapixel PNGARG((png_row_infop row_info,
-   png_bytep row));
-#endif
-
-/* Maintainer: Put new private prototypes here ^ and in libpngpf.3 */
-
 #endif /* PNG_INTERNAL */
 
 #ifdef __cplusplus
diff --git a/pngasmrd.h b/pngasmrd.h
index cab3fb5..0293920 100644
--- a/pngasmrd.h
+++ b/pngasmrd.h
@@ -1,11 +1,39 @@
 /* pngasmrd.h - assembler version of utilities to read a PNG file
  *
- * libpng 1.0.9beta10 - January 16, 2001
+ * libpng 1.0.9beta2 - November 19, 2000
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 2001 Glenn Randers-Pehrson
+ * Copyright (c) 1999, 2000 Glenn Randers-Pehrson
  *
  */
 
-/* This file is obsolete in libpng-1.0.9 and later; its contents now appear
- * at the end of pngconf.h.
+#ifndef PNGASMRD_H
+#define PNGASMRD_H
+
+#ifdef PNG_ASSEMBLER_CODE_SUPPORTED
+
+/* Set this in the makefile for VC++ on Pentium, not in pngconf.h */
+/* Platform must be Pentium.  Makefile must assemble and load pngvcrd.c .
+ * MMX will be detected at run time and used if present.
  */
+#ifdef PNG_USE_PNGVCRD
+#  define PNG_HAVE_ASSEMBLER_COMBINE_ROW
+#  define PNG_HAVE_ASSEMBLER_READ_INTERLACE
+#  define PNG_HAVE_ASSEMBLER_READ_FILTER_ROW
+#endif
+
+/* Set this in the makefile for gcc/as on Pentium, not in pngconf.h */
+/* Platform must be Pentium.  Makefile must assemble and load pnggccrd.c .
+ * MMX will be detected at run time and used if present.
+ */
+#ifdef PNG_USE_PNGGCCRD
+#  define PNG_HAVE_ASSEMBLER_COMBINE_ROW
+#  define PNG_HAVE_ASSEMBLER_READ_INTERLACE
+#  define PNG_HAVE_ASSEMBLER_READ_FILTER_ROW
+#endif
+/*
+    GRR notes:
+      - see pnggccrd.c for info about what is currently enabled
+ */
+
+#endif
+#endif /* PNGASMRD_H */
diff --git a/pngconf.h b/pngconf.h
index 0f4f233..12d12dd 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,8 +1,8 @@
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng 1.0.9beta10 - January 16, 2001
+ * libpng 1.0.9beta2 - November 19, 2000
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  */
@@ -30,11 +30,11 @@
  */
 
 #ifndef PNG_ZBUF_SIZE
-#  define PNG_ZBUF_SIZE 8192
+#define PNG_ZBUF_SIZE 8192
 #endif
 
-#ifndef PNG_NO_FLOATING_POINT_SUPPORTED
-#  define PNG_FLOATING_POINT_SUPPORTED
+#ifndef PNG_NO_FLOATING_POINT_SUPPORTED 
+#define PNG_FLOATING_POINT_SUPPORTED
 #endif
 
 /* If you are running on a machine where you cannot allocate more
@@ -46,14 +46,14 @@
 #define PNG_MAX_MALLOC_64K
  */
 #if defined(MAXSEG_64K) && !defined(PNG_MAX_MALLOC_64K)
-#  define PNG_MAX_MALLOC_64K
+#define PNG_MAX_MALLOC_64K
 #endif
 
 /* Special munging to support doing things the 'cygwin' way:
  * 'Normal' png-on-win32 defines/defaults:
  *   PNG_BUILD_DLL -- building dll
  *   PNG_USE_DLL   -- building an application, linking to dll
- *   (no define)   -- building static library, or building an
+ *   (no define)   -- building static library, or building an 
  *                    application and linking to the static lib
  * 'Cygwin' defines/defaults:
  *   PNG_BUILD_DLL -- building the dll
@@ -117,12 +117,12 @@
  */
 
 #if defined(_WIN32_WCE)
-#  include <windows.h>
-   /* Console I/O functions are not supported on WindowsCE */
-#  define PNG_NO_CONSOLE_IO
-#  ifdef PNG_DEBUG
-#    undef PNG_DEBUG
-#  endif
+#include <windows.h>
+/* Console I/O functions are not supported on WindowsCE */
+#define PNG_NO_CONSOLE_IO
+#ifdef PNG_DEBUG
+#  undef PNG_DEBUG
+#endif
 #endif
 
 #ifdef PNG_BUILD_DLL
@@ -159,13 +159,13 @@
 #ifndef PNGARG
 
 #ifdef OF /* zlib prototype munger */
-#  define PNGARG(arglist) OF(arglist)
+#define PNGARG(arglist) OF(arglist)
 #else
 
 #ifdef _NO_PROTO
-#  define PNGARG(arglist) ()
+#define PNGARG(arglist) ()
 #else
-#  define PNGARG(arglist) arglist
+#define PNGARG(arglist) arglist
 #endif /* _NO_PROTO */
 
 #endif /* OF */
@@ -177,15 +177,15 @@
  * on non-Mac platforms.
  */
 #ifndef MACOS
-#  if (defined(__MWERKS__) && defined(macintosh)) || defined(applec) || \
-      defined(THINK_C) || defined(__SC__) || defined(TARGET_OS_MAC)
-#    define MACOS
-#  endif
+#if (defined(__MWERKS__) && defined(macintosh)) || defined(applec) || \
+    defined(THINK_C) || defined(__SC__) || defined(TARGET_OS_MAC)
+#define MACOS
+#endif
 #endif
 
 /* enough people need this for various reasons to include it here */
 #if !defined(MACOS) && !defined(RISCOS) && !defined(_WIN32_WCE)
-#  include <sys/types.h>
+#include <sys/types.h>
 #endif
 
 #ifndef PNG_SETJMP_NOT_SUPPORTED
@@ -206,10 +206,10 @@
       __png.h__ already includes setjmp.h;
       __dont__ include it again.;
 #    endif
-#  endif /* __linux__ */
+#endif /* __linux__ */
 
-   /* include setjmp.h for error handling */
-#  include <setjmp.h>
+/* include setjmp.h for error handling */
+#include <setjmp.h>
 
 #  ifdef __linux__
 #    ifdef PNG_SAVE_BSD_SOURCE
@@ -222,18 +222,17 @@
 #if defined(_AIX) && defined(__xlC__)
 /* This prevents "AIX/xlC" from generating an "index(s,c)" macro in strings.h
  * that conflicts with libpng's png_color_16.index */
-#  undef __STR__
+#undef __STR__
 #endif
 
 #ifdef BSD
-#  include <strings.h>
+#include <strings.h>
 #else
-#  include <string.h>
+#include <string.h>
 #endif
 
 /* Other defines for things like memory and the like can go here.  */
 #ifdef PNG_INTERNAL
-
 #include <stdlib.h>
 
 /* The functions exported by PNG_EXTERN are PNG_INTERNAL functions, which
@@ -250,28 +249,28 @@
  */
 
 #if defined(PNG_FLOATING_POINT_SUPPORTED)
-#  if defined(MACOS)
-     /* We need to check that <math.h> hasn't already been included earlier
-      * as it seems it doesn't agree with <fp.h>, yet we should really use
-      * <fp.h> if possible.
-      */
-#    if !defined(__MATH_H__) && !defined(__MATH_H) && !defined(__cmath__)
-#      include <fp.h>
-#    endif
-#  else
-#    include <math.h>
-#  endif
-#  if defined(_AMIGA) && defined(__SASC) && defined(_M68881)
-     /* Amiga SAS/C: We must include builtin FPU functions when compiling using
-      * MATH=68881
-      */
-#    include <m68881.h>
-#  endif
+#if defined(MACOS)
+/* We need to check that <math.h> hasn't already been included earlier
+ * as it seems it doesn't agree with <fp.h>, yet we should really use
+ * <fp.h> if possible.
+ */
+#if !defined(__MATH_H__) && !defined(__MATH_H) && !defined(__cmath__)
+#include <fp.h>
+#endif
+#else
+#include <math.h>
+#endif
+#if defined(_AMIGA) && defined(__SASC) && defined(_M68881)
+/* Amiga SAS/C: We must include builtin FPU functions when compiling using
+ * MATH=68881
+ */
+#include <m68881.h>
+#endif
 #endif
 
 /* Codewarrior on NT has linking problems without this. */
 #if (defined(__MWERKS__) && defined(WIN32)) || defined(__STDC__)
-#  define PNG_ALWAYS_EXTERN
+#define PNG_ALWAYS_EXTERN
 #endif
 
 /* For some reason, Borland C++ defines memcmp, etc. in mem.h, not
@@ -279,12 +278,12 @@
  * "feature"?
  */
 #ifdef __TURBOC__
-#  include <mem.h>
-#  include "alloc.h"
+#include <mem.h>
+#include "alloc.h"
 #endif
 
 #ifdef _MSC_VER
-#  include <malloc.h>
+#include <malloc.h>
 #endif
 
 /* This controls how fine the dithering gets.  As this allocates
@@ -292,13 +291,13 @@
  * with dithering quality can decrease some or all of these.
  */
 #ifndef PNG_DITHER_RED_BITS
-#  define PNG_DITHER_RED_BITS 5
+#define PNG_DITHER_RED_BITS 5
 #endif
 #ifndef PNG_DITHER_GREEN_BITS
-#  define PNG_DITHER_GREEN_BITS 5
+#define PNG_DITHER_GREEN_BITS 5
 #endif
 #ifndef PNG_DITHER_BLUE_BITS
-#  define PNG_DITHER_BLUE_BITS 5
+#define PNG_DITHER_BLUE_BITS 5
 #endif
 
 /* This controls how fine the gamma correction becomes when you
@@ -309,14 +308,14 @@
  */
 
 #ifndef PNG_MAX_GAMMA_8
-#  define PNG_MAX_GAMMA_8 11
+#define PNG_MAX_GAMMA_8 11
 #endif
 
 /* This controls how much a difference in gamma we can tolerate before
  * we actually start doing gamma conversion.
  */
 #ifndef PNG_GAMMA_THRESHOLD
-#  define PNG_GAMMA_THRESHOLD 0.05
+#define PNG_GAMMA_THRESHOLD 0.05
 #endif
 
 #endif /* PNG_INTERNAL */
@@ -381,167 +380,163 @@
  */
 
 #ifdef PNG_LEGACY_SUPPORTED
-#  define PNG_NO_FREE_ME
-#  define PNG_NO_READ_UNKNOWN_CHUNKS
-#  define PNG_NO_WRITE_UNKNOWN_CHUNKS
-#  define PNG_NO_READ_USER_CHUNKS
-#  define PNG_NO_READ_iCCP
-#  define PNG_NO_WRITE_iCCP
-#  define PNG_NO_READ_iTXt
-#  define PNG_NO_WRITE_iTXt
-#  define PNG_NO_READ_sCAL
-#  define PNG_NO_WRITE_sCAL
-#  define PNG_NO_READ_sPLT
-#  define PNG_NO_WRITE_sPLT
-#  define PNG_NO_INFO_IMAGE
-#  define PNG_NO_READ_RGB_TO_GRAY
-#  define PNG_NO_READ_USER_TRANSFORM
-#  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
+#define PNG_NO_FREE_ME
+#define PNG_NO_READ_UNKNOWN_CHUNKS
+#define PNG_NO_WRITE_UNKNOWN_CHUNKS
+#define PNG_NO_READ_USER_CHUNKS
+#define PNG_NO_READ_iCCP
+#define PNG_NO_WRITE_iCCP
+#define PNG_NO_READ_iTXt
+#define PNG_NO_WRITE_iTXt
+#define PNG_NO_READ_sCAL
+#define PNG_NO_WRITE_sCAL
+#define PNG_NO_READ_sPLT
+#define PNG_NO_WRITE_sPLT
+#define PNG_NO_INFO_IMAGE
+#define PNG_NO_READ_RGB_TO_GRAY
+#define PNG_NO_READ_USER_TRANSFORM
+#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
 
 /* Ignore attempt to turn off both floating and fixed point support */
 #if !defined(PNG_FLOATING_POINT_SUPPORTED) || \
-    !defined(PNG_NO_FIXED_POINT_SUPPORTED)
-#  define PNG_FIXED_POINT_SUPPORTED
+ !defined(PNG_NO_FIXED_POINT_SUPPORTED)
+#define PNG_FIXED_POINT_SUPPORTED
 #endif
 
 #ifndef PNG_NO_FREE_ME
-#  define PNG_FREE_ME_SUPPORTED
+#define PNG_FREE_ME_SUPPORTED
 #endif
 
 #if !defined(PNG_READ_TRANSFORMS_NOT_SUPPORTED) && \
     !defined(PNG_NO_READ_TRANSFORMS)
-#  define PNG_READ_TRANSFORMS_SUPPORTED
+#define PNG_READ_TRANSFORMS_SUPPORTED
 #endif
 #if !defined(PNG_WRITE_TRANSFORMS_NOT_SUPPORTED) && \
     !defined(PNG_NO_WRITE_TRANSFORMS)
-#  define PNG_WRITE_TRANSFORMS_SUPPORTED
+#define PNG_WRITE_TRANSFORMS_SUPPORTED
 #endif
 
 #ifdef PNG_READ_TRANSFORMS_SUPPORTED
-#  ifndef PNG_NO_READ_EXPAND
-#    define PNG_READ_EXPAND_SUPPORTED
-#  endif
-#  ifndef PNG_NO_READ_SHIFT
-#    define PNG_READ_SHIFT_SUPPORTED
-#  endif
-#  ifndef PNG_NO_READ_PACK
-#    define PNG_READ_PACK_SUPPORTED
-#  endif
-#  ifndef PNG_NO_READ_BGR
-#    define PNG_READ_BGR_SUPPORTED
-#  endif
-#  ifndef PNG_NO_READ_SWAP
-#    define PNG_READ_SWAP_SUPPORTED
-#  endif
-#  ifndef PNG_NO_READ_PACKSWAP
-#    define PNG_READ_PACKSWAP_SUPPORTED
-#  endif
-#  ifndef PNG_NO_READ_INVERT
-#    define PNG_READ_INVERT_SUPPORTED
-#  endif
-#  ifndef PNG_NO_READ_DITHER
-#    define PNG_READ_DITHER_SUPPORTED
-#  endif
-#  ifndef PNG_NO_READ_BACKGROUND
-#    define PNG_READ_BACKGROUND_SUPPORTED
-#  endif
-#  ifndef PNG_NO_READ_16_TO_8
-#    define PNG_READ_16_TO_8_SUPPORTED
-#  endif
-#  ifndef PNG_NO_READ_FILLER
-#    define PNG_READ_FILLER_SUPPORTED
-#  endif
-#  ifndef PNG_NO_READ_GAMMA
-#    define PNG_READ_GAMMA_SUPPORTED
-#  endif
-#  ifndef PNG_NO_READ_GRAY_TO_RGB
-#    define PNG_READ_GRAY_TO_RGB_SUPPORTED
-#  endif
-#  ifndef PNG_NO_READ_SWAP_ALPHA
-#    define PNG_READ_SWAP_ALPHA_SUPPORTED
-#  endif
-#  ifndef PNG_NO_READ_INVERT_ALPHA
-#    define PNG_READ_INVERT_ALPHA_SUPPORTED
-#  endif
-#  ifndef PNG_NO_READ_STRIP_ALPHA
-#    define PNG_READ_STRIP_ALPHA_SUPPORTED
-#  endif
-#  ifndef PNG_NO_READ_USER_TRANSFORM
-#    define PNG_READ_USER_TRANSFORM_SUPPORTED
-#  endif
-#  ifndef PNG_NO_READ_RGB_TO_GRAY
-#    define PNG_READ_RGB_TO_GRAY_SUPPORTED
-#  endif
+#ifndef PNG_NO_READ_EXPAND
+#define PNG_READ_EXPAND_SUPPORTED
+#endif
+#ifndef PNG_NO_READ_SHIFT
+#define PNG_READ_SHIFT_SUPPORTED
+#endif
+#ifndef PNG_NO_READ_PACK
+#define PNG_READ_PACK_SUPPORTED
+#endif
+#ifndef PNG_NO_READ_BGR
+#define PNG_READ_BGR_SUPPORTED
+#endif
+#ifndef PNG_NO_READ_SWAP
+#define PNG_READ_SWAP_SUPPORTED
+#endif
+#ifndef PNG_NO_READ_PACKSWAP
+#define PNG_READ_PACKSWAP_SUPPORTED
+#endif
+#ifndef PNG_NO_READ_INVERT
+#define PNG_READ_INVERT_SUPPORTED
+#endif
+#ifndef PNG_NO_READ_DITHER
+#define PNG_READ_DITHER_SUPPORTED
+#endif
+#ifndef PNG_NO_READ_BACKGROUND
+#define PNG_READ_BACKGROUND_SUPPORTED
+#endif
+#ifndef PNG_NO_READ_16_TO_8
+#define PNG_READ_16_TO_8_SUPPORTED
+#endif
+#ifndef PNG_NO_READ_FILLER
+#define PNG_READ_FILLER_SUPPORTED
+#endif
+#ifndef PNG_NO_READ_GAMMA
+#define PNG_READ_GAMMA_SUPPORTED
+#endif
+#ifndef PNG_NO_READ_GRAY_TO_RGB
+#define PNG_READ_GRAY_TO_RGB_SUPPORTED
+#endif
+#ifndef PNG_NO_READ_SWAP_ALPHA
+#define PNG_READ_SWAP_ALPHA_SUPPORTED
+#endif
+#ifndef PNG_NO_READ_INVERT_ALPHA
+#define PNG_READ_INVERT_ALPHA_SUPPORTED
+#endif
+#ifndef PNG_NO_READ_STRIP_ALPHA
+#define PNG_READ_STRIP_ALPHA_SUPPORTED
+#endif
+#ifndef PNG_NO_READ_USER_TRANSFORM
+#define PNG_READ_USER_TRANSFORM_SUPPORTED
+#endif
+#ifndef PNG_NO_READ_RGB_TO_GRAY
+#define PNG_READ_RGB_TO_GRAY_SUPPORTED
+#endif
 #endif /* PNG_READ_TRANSFORMS_SUPPORTED */
 
 #if !defined(PNG_NO_PROGRESSIVE_READ) && \
- !defined(PNG_PROGRESSIVE_READ_NOT_SUPPORTED)  /* if you don't do progressive */
-#  define PNG_PROGRESSIVE_READ_SUPPORTED     /* reading.  This is not talking */
+ !defined(PNG_PROGRESSIVE_READ_NOT_SUPPORTED) /* if you don't do progressive   */
+#define PNG_PROGRESSIVE_READ_SUPPORTED       /* reading.  This is not talking */
 #endif                               /* about interlacing capability!  You'll */
               /* still have interlacing unless you change the following line: */
-
 #define PNG_READ_INTERLACING_SUPPORTED /* required for PNG-compliant decoders */
 
 #ifndef PNG_NO_READ_COMPOSITE_NODIV
-#  ifndef PNG_NO_READ_COMPOSITED_NODIV  /* libpng-1.0.x misspelling */
-#    define PNG_READ_COMPOSITE_NODIV_SUPPORTED   /* well tested on Intel, SGI */
-#  endif
+#ifndef PNG_NO_READ_COMPOSITED_NODIV  /* libpng-1.0.x misspelling */
+#define PNG_READ_COMPOSITE_NODIV_SUPPORTED    /* well tested on Intel and SGI */
+#endif
 #endif
 
-/* Disable if you don't need to support PNGs that are embedded in MNG
-   datastreams */
 #ifndef PNG_NO_MNG_FEATURES
-#  define PNG_MNG_FEATURES_SUPPORTED
+#define PNG_MNG_FEATURES_SUPPORTED  /* Useful for MNG applications */
 #endif
-
-/* Deprecated, will be removed from version 2.0.0 */
+/* Deprecated, will be removed */
 #ifndef PNG_NO_READ_EMPTY_PLTE
-#  define PNG_READ_EMPTY_PLTE_SUPPORTED
+#define PNG_READ_EMPTY_PLTE_SUPPORTED
 #endif
 
 #ifdef PNG_WRITE_TRANSFORMS_SUPPORTED
-#  ifndef PNG_NO_WRITE_SHIFT
-#    define PNG_WRITE_SHIFT_SUPPORTED
-#  endif
-#  ifndef PNG_NO_WRITE_PACK
-#    define PNG_WRITE_PACK_SUPPORTED
-#  endif
-#  ifndef PNG_NO_WRITE_BGR
-#    define PNG_WRITE_BGR_SUPPORTED
-#  endif
-#  ifndef PNG_NO_WRITE_SWAP
-#    define PNG_WRITE_SWAP_SUPPORTED
-#  endif
-#  ifndef PNG_NO_WRITE_PACKSWAP
-#    define PNG_WRITE_PACKSWAP_SUPPORTED
-#  endif
-#  ifndef PNG_NO_WRITE_INVERT
-#    define PNG_WRITE_INVERT_SUPPORTED
-#  endif
-#  ifndef PNG_NO_WRITE_FILLER
-#    define PNG_WRITE_FILLER_SUPPORTED   /* same as WRITE_STRIP_ALPHA */
-#  endif
-#  ifndef PNG_NO_WRITE_SWAP_ALPHA
-#    define PNG_WRITE_SWAP_ALPHA_SUPPORTED
-#  endif
-#  ifndef PNG_NO_WRITE_INVERT_ALPHA
-#    define PNG_WRITE_INVERT_ALPHA_SUPPORTED
-#  endif
-#  ifndef PNG_NO_WRITE_USER_TRANSFORM
-#    define PNG_WRITE_USER_TRANSFORM_SUPPORTED
-#  endif
+#ifndef PNG_NO_WRITE_SHIFT
+#define PNG_WRITE_SHIFT_SUPPORTED
+#endif
+#ifndef PNG_NO_WRITE_PACK
+#define PNG_WRITE_PACK_SUPPORTED
+#endif
+#ifndef PNG_NO_WRITE_BGR
+#define PNG_WRITE_BGR_SUPPORTED
+#endif
+#ifndef PNG_NO_WRITE_SWAP
+#define PNG_WRITE_SWAP_SUPPORTED
+#endif
+#ifndef PNG_NO_WRITE_PACKSWAP
+#define PNG_WRITE_PACKSWAP_SUPPORTED
+#endif
+#ifndef PNG_NO_WRITE_INVERT
+#define PNG_WRITE_INVERT_SUPPORTED
+#endif
+#ifndef PNG_NO_WRITE_FILLER
+#define PNG_WRITE_FILLER_SUPPORTED  /* This is the same as WRITE_STRIP_ALPHA */
+#endif
+#ifndef PNG_NO_WRITE_SWAP_ALPHA
+#define PNG_WRITE_SWAP_ALPHA_SUPPORTED
+#endif
+#ifndef PNG_NO_WRITE_INVERT_ALPHA
+#define PNG_WRITE_INVERT_ALPHA_SUPPORTED
+#endif
+#ifndef PNG_NO_WRITE_USER_TRANSFORM
+#define PNG_WRITE_USER_TRANSFORM_SUPPORTED
+#endif
 #endif /* PNG_WRITE_TRANSFORMS_SUPPORTED */
 
 #if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \
-    defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED)
-#  ifndef PNG_NO_USER_TRANSFORM_PTR
-#    define PNG_USER_TRANSFORM_PTR_SUPPORTED
-#  endif
+defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED)
+#ifndef PNG_NO_USER_TRANSFORM_PTR
+#define PNG_USER_TRANSFORM_PTR_SUPPORTED
+#endif
 #endif
 
 #define PNG_WRITE_INTERLACING_SUPPORTED  /* not required for PNG-compliant
@@ -550,20 +545,20 @@
 
 #if !defined(PNG_NO_WRITE_WEIGHTED_FILTER) && \
      defined(PNG_FLOATING_POINT_SUPPORTED)
-#  define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED
+#define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED
 #endif
 
 #ifndef PNG_NO_WRITE_FLUSH
-#  define PNG_WRITE_FLUSH_SUPPORTED
+#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
+#define PNG_WRITE_EMPTY_PLTE_SUPPORTED
 #endif
 
 #ifndef PNG_NO_STDIO
-#  define PNG_TIME_RFC1123_SUPPORTED
+#define PNG_TIME_RFC1123_SUPPORTED
 #endif
 
 /* This adds extra functions in pngget.c for accessing data from the
@@ -583,16 +578,12 @@
  * png_get_y_offset_microns()
  */
 #ifndef PNG_NO_EASY_ACCESS
-#  define PNG_EASY_ACCESS_SUPPORTED
+#define PNG_EASY_ACCESS_SUPPORTED
 #endif
 
-/* PNG_ASSEMBLER_CODE will be enabled by default in version 1.2.0 
-   even when PNG_USE_PNGVCRD or PNG_USE_PNGGCCRD is not defined */
-#ifndef PNG_NO_ASSEMBLER_CODE
-#  if defined(PNG_USE_PNGVCRD) || defined(PNG_USE_PNGGCCRD)
-#    define PNG_ASSEMBLER_CODE_SUPPORTED
-#    define PNG_MMX_CODE_SUPPORTED
-#  endif
+#if defined(PNG_USE_PNGVCRD) || defined(PNG_USE_PNGGCCRD) && \
+  !defined(PNG_NO_ASSEMBLER_CODE)
+#define PNG_ASSEMBLER_CODE_SUPPORTED
 #endif
 
 /* These are currently experimental features, define them if you want */
@@ -601,10 +592,10 @@
 /*
 #define PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED
 #ifndef PNG_NO_USER_MEM
-#  define PNG_USER_MEM_SUPPORTED
+#define PNG_USER_MEM_SUPPORTED
 #endif
 #ifndef PNG_NO_ZALLOC_ZERO
-#  define PNG_ZALLOC_ZERO
+#define PNG_ZALLOC_ZERO
 #endif
 */
 
@@ -633,11 +624,11 @@
 
 #if !defined(PNG_READ_ANCILLARY_CHUNKS_NOT_SUPPORTED) && \
     !defined(PNG_NO_READ_ANCILLARY_CHUNKS)
-#  define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED
+#define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED
 #endif
 #if !defined(PNG_WRITE_ANCILLARY_CHUNKS_NOT_SUPPORTED) && \
     !defined(PNG_NO_WRITE_ANCILLARY_CHUNKS)
-#  define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED
+#define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED
 #endif
 
 #ifdef PNG_READ_ANCILLARY_CHUNKS_SUPPORTED
@@ -739,15 +730,13 @@
 #  define PNG_READ_OPT_PLTE_SUPPORTED /* only affects support of the */
 #endif                      /* optional PLTE chunk in RGB and RGBA images */
 #if defined(PNG_READ_iTXt_SUPPORTED) || defined(PNG_READ_tEXt_SUPPORTED) || \
-    defined(PNG_READ_zTXt_SUPPORTED)
+  defined(PNG_READ_zTXt_SUPPORTED)
 #  define PNG_READ_TEXT_SUPPORTED
 #  define PNG_TEXT_SUPPORTED
 #endif
-
 #endif /* PNG_READ_ANCILLARY_CHUNKS_SUPPORTED */
 
 #ifdef PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED
-
 #ifdef PNG_NO_WRITE_TEXT
 #  define PNG_NO_WRITE_iTXt
 #  define PNG_NO_WRITE_tEXt
@@ -867,13 +856,12 @@
 #  endif
 #endif
 #if defined(PNG_WRITE_iTXt_SUPPORTED) || defined(PNG_WRITE_tEXt_SUPPORTED) || \
-    defined(PNG_WRITE_zTXt_SUPPORTED)
+  defined(PNG_WRITE_zTXt_SUPPORTED)
 #  define PNG_WRITE_TEXT_SUPPORTED
 #  ifndef PNG_TEXT_SUPPORTED
 #    define PNG_TEXT_SUPPORTED
 #  endif
 #endif
-
 #endif /* PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED */
 
 /* Turn this off to disable png_read_png() and
@@ -923,26 +911,28 @@
 /* Separate compiler dependencies (problem here is that zlib.h always
    defines FAR. (SJT) */
 #ifdef __BORLANDC__
-#  if defined(__LARGE__) || defined(__HUGE__) || defined(__COMPACT__)
-#    define LDATA 1
-#  else
-#    define LDATA 0
-#  endif
-   /* GRR:  why is Cygwin in here?  Cygwin is not Borland C... */
-#  if !defined(__WIN32__) && !defined(__FLAT__) && !defined(__CYGWIN__)
-#    define PNG_MAX_MALLOC_64K
-#    if (LDATA != 1)
-#      ifndef FAR
-#        define FAR __far
-#      endif
-#      define USE_FAR_KEYWORD
-#    endif   /* LDATA != 1 */
-     /* Possibly useful for moving data out of default segment.
-      * Uncomment it if you want. Could also define FARDATA as
-      * const if your compiler supports it. (SJT)
-#    define FARDATA FAR
-      */
-#  endif  /* __WIN32__, __FLAT__, __CYGWIN__ */
+#if defined(__LARGE__) || defined(__HUGE__) || defined(__COMPACT__)
+#define LDATA 1
+#else
+#define LDATA 0
+#endif
+
+#if !defined(__WIN32__) && !defined(__FLAT__) && !defined(__CYGWIN__)
+#define PNG_MAX_MALLOC_64K
+#if (LDATA != 1)
+#ifndef FAR
+#define FAR __far
+#endif
+#define USE_FAR_KEYWORD
+#endif   /* LDATA != 1 */
+
+/* Possibly useful for moving data out of default segment.
+ * Uncomment it if you want. Could also define FARDATA as
+ * const if your compiler supports it. (SJT)
+#  define FARDATA FAR
+ */
+#endif  /* __WIN32__, __FLAT__, __CYGWIN__ */
+
 #endif   /* __BORLANDC__ */
 
 
@@ -954,20 +944,20 @@
 /* MSC Medium model */
 #if defined(FAR)
 #  if defined(M_I86MM)
-#    define USE_FAR_KEYWORD
-#    define FARDATA FAR
-#    include <dos.h>
+#     define USE_FAR_KEYWORD
+#     define FARDATA FAR
+#     include <dos.h>
 #  endif
 #endif
 
 /* SJT: default case */
 #ifndef FAR
-#  define FAR
+#   define FAR
 #endif
 
 /* At this point FAR is always defined */
 #ifndef FARDATA
-#  define FARDATA
+#define FARDATA
 #endif
 
 /* Typedef for floating-point numbers that are converted
@@ -984,15 +974,11 @@
 typedef PNG_CONST char  FAR * png_const_charp;
 typedef char            FAR * png_charp;
 typedef png_fixed_point FAR * png_fixed_point_p;
-
-#ifndef PNG_NO_STDIO
 #if defined(_WIN32_WCE)
 typedef HANDLE                png_FILE_p;
 #else
 typedef FILE                * png_FILE_p;
 #endif
-#endif
-
 #ifdef PNG_FLOATING_POINT_SUPPORTED
 typedef double          FAR * png_doublep;
 #endif
@@ -1010,7 +996,7 @@
 typedef double          FAR * FAR * png_doublepp;
 #endif
 
-/* Pointers to pointers to pointers; i.e., pointer to array */
+/* Pointers to pointers to pointers; i.e. pointer to array */
 typedef char            FAR * FAR * FAR * png_charppp;
 
 /* libpng typedefs for types in zlib. If zlib changes
@@ -1029,11 +1015,11 @@
  * It is equivalent to Microsoft predefined macro _DLL which is
  * automatically defined when you compile using the share
  * version of the CRT (C Run-Time library)
- *
- * The cygwin mods make this behavior a little different:
+ * 
+ * The cygwin mods make this behavior a little different: 
  * Define PNG_BUILD_DLL if you are building a dll for use with cygwin
  * Define PNG_STATIC if you are building a static library for use with cygwin,
- *   -or- if you are building an application that you want to link to the
+ *   -or- if you are building an application that you want to link to the 
  *   static library.
  * PNG_USE_DLL is defined by default (no user action needed) unless one of
  *   the other flags is defined.
@@ -1065,7 +1051,7 @@
 #    define PNG_USE_LOCAL_ARRAYS
 #  endif
 #endif
-
+    
 /* Do not use global arrays (helps with building DLL's)
  * They are no longer used in libpng itself, since version 1.0.5c,
  * but might be required for some pre-1.0.5c applications.
@@ -1078,15 +1064,15 @@
 #  endif
 #endif
 
-
 #ifndef PNGAPI
 
+
 #if defined(__MINGW32__) || defined(__CYGWIN__) && !defined(PNG_MODULEDEF)
 #  ifndef PNG_NO_MODULEDEF
 #    define PNG_NO_MODULEDEF
 #  endif
-#endif
-
+#endif 
+ 
 #if !defined(PNG_IMPEXP) && defined(PNG_BUILD_DLL) && !defined(PNG_NO_MODULEDEF)
 #  define PNG_IMPEXP
 #endif
@@ -1096,7 +1082,7 @@
        defined(WIN32) || defined(_WIN32) || defined(__WIN32__) \
 	  ) && !defined(__CYGWIN__))
 
-#  if defined(__GNUC__) || (defined (_MSC_VER) && (_MSC_VER >= 800))
+#  ifdef __GNUC__
 #    define PNGAPI __cdecl
 #  else
 #    define PNGAPI _cdecl
@@ -1164,9 +1150,9 @@
 #endif
 
 #ifdef PNG_USE_GLOBAL_ARRAYS
-#  ifndef PNG_EXPORT_VAR
-#    define PNG_EXPORT_VAR(type) extern PNG_IMPEXP type
-#  endif
+#ifndef PNG_EXPORT_VAR
+#  define PNG_EXPORT_VAR(type) extern PNG_IMPEXP type
+#endif
 #endif
 
 /* User may want to use these so they are not in PNG_INTERNAL. Any library
@@ -1174,35 +1160,35 @@
  */
 
 #ifndef PNG_ABORT
-#  define PNG_ABORT() abort()
+#   define PNG_ABORT() abort()
 #endif
 
 #ifdef PNG_SETJMP_SUPPORTED
-#  define png_jmpbuf(png_ptr) ((png_ptr)->jmpbuf)
+#   define png_jmpbuf(png_ptr) ((png_ptr)->jmpbuf)
 #else
-#  define png_jmpbuf(png_ptr) \
-   (LIBPNG_WAS_COMPILED_WITH__PNG_SETJMP_NOT_SUPPORTED)
+#   define png_jmpbuf(png_ptr) \
+    (LIBPNG_WAS_COMPILED_WITH__PNG_SETJMP_NOT_SUPPORTED)
 #endif
 
 #if defined(USE_FAR_KEYWORD)  /* memory model independent fns */
 /* use this to make far-to-near assignments */
-#  define CHECK   1
-#  define NOCHECK 0
-#  define CVT_PTR(ptr) (png_far_to_near(png_ptr,ptr,CHECK))
-#  define CVT_PTR_NOCHECK(ptr) (png_far_to_near(png_ptr,ptr,NOCHECK))
-#  define png_strcpy _fstrcpy
-#  define png_strlen _fstrlen
-#  define png_memcmp _fmemcmp      /* SJT: added */
-#  define png_memcpy _fmemcpy
-#  define png_memset _fmemset
+#   define CHECK   1
+#   define NOCHECK 0
+#   define CVT_PTR(ptr) (png_far_to_near(png_ptr,ptr,CHECK))
+#   define CVT_PTR_NOCHECK(ptr) (png_far_to_near(png_ptr,ptr,NOCHECK))
+#   define png_strcpy _fstrcpy
+#   define png_strlen _fstrlen
+#   define png_memcmp _fmemcmp      /* SJT: added */
+#   define png_memcpy _fmemcpy
+#   define png_memset _fmemset
 #else /* use the usual functions */
-#  define CVT_PTR(ptr)         (ptr)
-#  define CVT_PTR_NOCHECK(ptr) (ptr)
-#  define png_strcpy strcpy
-#  define png_strlen strlen
-#  define png_memcmp memcmp     /* SJT: added */
-#  define png_memcpy memcpy
-#  define png_memset memset
+#   define CVT_PTR(ptr)         (ptr)
+#   define CVT_PTR_NOCHECK(ptr) (ptr)
+#   define png_strcpy strcpy
+#   define png_strlen strlen
+#   define png_memcmp memcmp     /* SJT: added */
+#   define png_memcpy memcpy
+#   define png_memset memset
 #endif
 /* End of memory model independent support */
 
@@ -1210,48 +1196,9 @@
  * contradictory.
  */
 #if (PNG_ZBUF_SIZE > 65536) && defined(PNG_MAX_MALLOC_64K)
-#  undef PNG_ZBUF_SIZE
-#  define PNG_ZBUF_SIZE 65536
+#undef PNG_ZBUF_SIZE
+#define PNG_ZBUF_SIZE 65536
 #endif
 
-/* Prior to libpng-1.0.9, this block was in pngasmrd.h */
-#if defined(PNG_ASSEMBLER_CODE_SUPPORTED) && defined(PNG_INTERNAL)
-
-/* These are the default thresholds before the MMX code kicks in; if either
- * rowbytes or bitdepth is below the threshold, plain C code is used.  These
- * can be overridden at runtime via the png_set_mmx_thresholds() call in
- * libpng 1.2.0 and later.  The values below were chosen by Intel.
- */
-
-#ifndef PNG_MMX_ROWBYTES_THRESHOLD_DEFAULT
-#  define PNG_MMX_ROWBYTES_THRESHOLD_DEFAULT  128  /*  >=  */
-#endif
-#ifndef PNG_MMX_BITDEPTH_THRESHOLD_DEFAULT
-#  define PNG_MMX_BITDEPTH_THRESHOLD_DEFAULT  9    /*  >=  */   
-#endif
-
-/* Set this in the makefile for VC++ on Pentium, not here. */
-/* Platform must be Pentium.  Makefile must assemble and load pngvcrd.c .
- * MMX will be detected at run time and used if present.
- */
-#ifdef PNG_USE_PNGVCRD
-#  define PNG_HAVE_ASSEMBLER_COMBINE_ROW
-#  define PNG_HAVE_ASSEMBLER_READ_INTERLACE
-#  define PNG_HAVE_ASSEMBLER_READ_FILTER_ROW
-#endif
-
-/* Set this in the makefile for gcc/as on Pentium, not here. */
-/* Platform must be Pentium.  Makefile must assemble and load pnggccrd.c .
- * MMX will be detected at run time and used if present.
- */
-#ifdef PNG_USE_PNGGCCRD
-#  define PNG_HAVE_ASSEMBLER_COMBINE_ROW
-#  define PNG_HAVE_ASSEMBLER_READ_INTERLACE
-#  define PNG_HAVE_ASSEMBLER_READ_FILTER_ROW
-#endif
-/* - see pnggccrd.c for info about what is currently enabled */
-
-#endif /* PNG_ASSEMBLER_CODE_SUPPORTED */
-
 #endif /* PNGCONF_H */
 
diff --git a/pngerror.c b/pngerror.c
index dbccc1f..43bf597 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,9 +1,9 @@
 
 /* pngerror.c - stub functions for i/o and memory allocation
  *
- * libpng 1.0.9beta10 - January 16, 2001
+ * libpng 1.0.9beta2 - November 19, 2000
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  *
@@ -99,7 +99,7 @@
 void PNGAPI
 png_chunk_error(png_structp png_ptr, png_const_charp message)
 {
-   char msg[18+64];
+   char msg[16+64];
    png_format_buffer(png_ptr, msg, message);
    png_error(png_ptr, msg);
 }
diff --git a/pnggccrd.c b/pnggccrd.c
index 8877d5b..d6e49b4 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 1.0.9beta10 - January 16, 2001
+ * libpng 1.0.9beta2 - November 19, 2000
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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-2001.
+ * GNU C port by Greg Roelofs, 1999-2000.
  *
  * Lines 2350-4300 converted in place with intel2gas 1.3.1:
  *
@@ -198,20 +198,11 @@
  *     correctly (but 48-bit RGB just fine)
  *
  * 20000916:
- *  - fixed bug in png_read_filter_row_mmx_avg(), bpp == 2 case; three errors:
+ *  - 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"
  *
- * 20010103:
- *  - renamed mmxsupport() to png_mmx_support(), with auto-set of mmx_supported,
- *     and made it public
- *
- * 20010104:
- *  - removed dependency on png_read_filter_row_c() (C code already duplicated
- *     within MMX version of png_read_filter_row()) so no longer necessary to
- *     compile it into pngrutil.o
- *
  * STILL TO DO:
  *     - test png_do_read_interlace() 64-bit case (pixel_bytes == 8)
  *     - write MMX code for 48-bit case (pixel_bytes == 6)
@@ -220,7 +211,7 @@
  *        (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)
- *     x pick one version of mmxsupport() and get rid of the other
+ *     - 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
@@ -233,6 +224,10 @@
 
 #if defined(PNG_ASSEMBLER_CODE_SUPPORTED) && defined(PNG_USE_PNGGCCRD)
 
+int mmxsupport(void);
+
+static int mmx_supported = 2;
+
 #ifdef PNG_USE_LOCAL_ARRAYS
 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};
@@ -242,26 +237,25 @@
 // djgpp, Win32, and Cygwin add their own underscores to global variables,
 // so define them without:
 #if defined(__DJGPP__) || defined(WIN32) || defined(__CYGWIN__)
-#  define _mmx_supported  mmx_supported
 #  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 _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
@@ -277,8 +271,6 @@
 #  define _pctemp         pctemp
 #endif
 
-static int _mmx_supported = 2;
-
 /* These constants are used in the inlined MMX assembly code.
    Ignore gcc's "At top level: defined but not used" warnings. */
 
@@ -326,6 +318,11 @@
 static int          _pctemp;
 
 
+void /* PRIVATE */
+png_read_filter_row_c(png_structp png_ptr, png_row_infop row_info,
+   png_bytep row, png_bytep prev_row, int filter);
+
+
 
 
 //===========================================================================//
@@ -355,16 +352,16 @@
 {
    png_debug(1,"in png_combine_row_asm\n");
 
-   if (_mmx_supported == 2) {
-       png_mmx_support();
-   }
+   if (mmx_supported == 2)
+       mmx_supported = mmxsupport();
 
    if (mask == 0xff)
    {
       png_memcpy(row, png_ptr->row_buf + 1,
        (png_size_t)((png_ptr->width * png_ptr->row_info.pixel_depth + 7) >> 3));
    }
-   /* GRR:  png_combine_row() never called with mask == 0 */
+   /* GRR:  add "else if (mask == 0)" case?
+    *       or does png_combine_row() not even get called in that case? */
    else
    {
       switch (png_ptr->row_info.pixel_depth)
@@ -540,7 +537,7 @@
             png_bytep srcptr;
             png_bytep dstptr;
 
-            if ( _mmx_supported  )
+            if (mmx_supported)
             {
                png_uint_32 len;
                int diff;
@@ -645,7 +642,7 @@
                   png_memcpy(dstptr, srcptr, rep_bytes);
                   srcptr += stride;
                   dstptr += stride;
-               }
+               } 
             } /* end of else */
 
             break;
@@ -656,7 +653,7 @@
             png_bytep srcptr;
             png_bytep dstptr;
 
-            if ( _mmx_supported )
+            if (mmx_supported)
             {
                png_uint_32 len;
                int diff;
@@ -777,7 +774,7 @@
                   png_memcpy(dstptr, srcptr, rep_bytes);
                   srcptr += stride;
                   dstptr += stride;
-               }
+               } 
             } /* end of else */
 
             break;
@@ -788,7 +785,7 @@
             png_bytep srcptr;
             png_bytep dstptr;
 
-            if ( _mmx_supported )
+            if (mmx_supported)
             {
                png_uint_32 len;
                int diff;
@@ -924,7 +921,7 @@
                   png_memcpy(dstptr, srcptr, rep_bytes);
                   srcptr += stride;
                   dstptr += stride;
-               }
+               } 
             } /* end of else */
 
             break;
@@ -935,7 +932,7 @@
             png_bytep srcptr;
             png_bytep dstptr;
 
-            if ( _mmx_supported )
+            if (mmx_supported)
             {
                png_uint_32 len;
                int diff;
@@ -1089,7 +1086,7 @@
             png_bytep srcptr;
             png_bytep dstptr;
 
-            if ( _mmx_supported )
+            if (mmx_supported)
             {
                png_uint_32 len;
                int diff;
@@ -1249,7 +1246,7 @@
                   png_memcpy(dstptr, srcptr, rep_bytes);
                   srcptr += stride;
                   dstptr += stride;
-               }
+               } 
             } /* end of else */
 
             break;
@@ -1276,7 +1273,7 @@
                png_memcpy(dstptr, srcptr, rep_bytes);
                srcptr += stride;
                dstptr += stride;
-            }
+            } 
             break;
          }       // end 64 bpp
 
@@ -1314,18 +1311,13 @@
  */
 
 void /* PRIVATE */
-png_do_read_interlace(png_structp png_ptr)
+png_do_read_interlace(png_row_infop row_info, png_bytep row, int pass,
+   png_uint_32 transformations)
 {
-   png_row_infop row_info = &(png_ptr->row_info);
-   png_bytep row = png_ptr->row_buf + 1;
-   int pass = png_ptr->pass;
-   png_uint_32 transformations = png_ptr->transformations;
-
    png_debug(1,"in png_do_read_interlace\n");
 
-   if (_mmx_supported == 2) {
-       png_mmx_support();
-   }
+   if (mmx_supported == 2)
+       mmx_supported = mmxsupport();
 
    if (row != NULL && row_info != NULL)
    {
@@ -1528,7 +1520,7 @@
 
             // New code by Nirav Chhatrapati - Intel Corporation
 
-            if ( _mmx_supported )
+            if (mmx_supported)  // use MMX code if machine supports it
             {
                //--------------------------------------------------------------
                if (pixel_bytes == 3)
@@ -2103,7 +2095,7 @@
                            : "=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_mmx)  // ecx
@@ -2161,7 +2153,7 @@
                            : "=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_mmx)  // ecx
@@ -2406,7 +2398,7 @@
                      sptr-= pixel_bytes;
                   }
                }
-            } // end of _mmx_supported ========================================
+            } // end of mmx_supported =========================================
 
             else /* MMX not supported:  use modified C code - takes advantage
                   *   of inlining of memcpy for a constant */
@@ -4757,32 +4749,43 @@
    row, png_bytep prev_row, int filter)
 {
 #ifdef PNG_DEBUG
-   char filnm[10];
+   char filnm[6];
 #endif
 
-/* GRR:  these are superseded by png_ptr->asm_flags: */
+#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) {
-       png_mmx_support();
+   if (mmx_supported == 2)
+       mmx_supported = mmxsupport();
+
+   if (!mmx_supported)
+   {
+       png_read_filter_row_c(png_ptr, row_info, row, prev_row, filter);
+       return;
    }
 
 #ifdef PNG_DEBUG
    png_debug(1, "in png_read_filter_row\n");
+#if (UseMMX == 1)
+   png_debug1(0,"%s, ", "MMX");
+#else
+   png_debug1(0,"%s, ", "x86");
+#endif
    switch (filter)
    {
       case 0: sprintf(filnm, "none");
          break;
-      case 1: sprintf(filnm, "sub-%s", "MMX");
+      case 1: sprintf(filnm, "sub");
          break;
-      case 2: sprintf(filnm, "up-%s", "MMX");
+      case 2: sprintf(filnm, "up");
          break;
-      case 3: sprintf(filnm, "avg-%s", "MMX");
+      case 3: sprintf(filnm, "avg");
          break;
-      case 4: sprintf(filnm, "Paeth-%s", "MMX");
+      case 4: sprintf(filnm, "Paeth");
          break;
       default: sprintf(filnm, "unknw");
          break;
@@ -4792,7 +4795,7 @@
    png_debug2(0, "pixdepth=%2d, bytes=%d, ", (int)row_info->pixel_depth,
       (int)((row_info->pixel_depth + 7) >> 3));
    png_debug1(0,"rowbytes=%8ld\n", row_info->rowbytes);
-#endif /* PNG_DEBUG */
+#endif
 
    switch (filter)
    {
@@ -4800,13 +4803,13 @@
          break;
 
       case PNG_FILTER_VALUE_SUB:
-         if (
-             (row_info->pixel_depth >= PNG_MMX_BITDEPTH_THRESHOLD_DEFAULT) &&
-             (row_info->rowbytes >= PNG_MMX_ROWBYTES_THRESHOLD_DEFAULT))
+#if (UseMMX_sub == 1)
+         if ((row_info->pixel_depth > 8) && (row_info->rowbytes >= 128))
          {
             png_read_filter_row_mmx_sub(row_info, row);
          }
          else
+#endif
          {
             png_uint_32 i;
             png_uint_32 istop = row_info->rowbytes;
@@ -4823,35 +4826,33 @@
          break;
 
       case PNG_FILTER_VALUE_UP:
-         if (
-             (row_info->pixel_depth >= PNG_MMX_BITDEPTH_THRESHOLD_DEFAULT) &&
-             (row_info->rowbytes >= PNG_MMX_ROWBYTES_THRESHOLD_DEFAULT))
+#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);
          }
          else
+#endif
          {
+            png_bytep rp;
+            png_bytep pp;
             png_uint_32 i;
-            png_uint_32 istop = row_info->rowbytes;
-            png_bytep rp = row;
-            png_bytep pp = prev_row;
-
-            for (i = 0; i < istop; ++i)
+            for (i = 0, rp = row, pp = prev_row;
+               i < row_info->rowbytes; i++, rp++, pp++)
             {
-               *rp = (png_byte)(((int)(*rp) + (int)(*pp++)) & 0xff);
-               rp++;
+                  *rp = (png_byte)(((int)(*rp) + (int)(*pp)) & 0xff);
             }
          }  //end !UseMMX_up
          break;
 
       case PNG_FILTER_VALUE_AVG:
-         if (
-             (row_info->pixel_depth >= PNG_MMX_BITDEPTH_THRESHOLD_DEFAULT) &&
-             (row_info->rowbytes >= PNG_MMX_ROWBYTES_THRESHOLD_DEFAULT))
+#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);
          }
          else
+#endif
          {
             png_uint_32 i;
             png_bytep rp = row;
@@ -4877,13 +4878,13 @@
          break;
 
       case PNG_FILTER_VALUE_PAETH:
-         if (
-             (row_info->pixel_depth >= PNG_MMX_BITDEPTH_THRESHOLD_DEFAULT) &&
-             (row_info->rowbytes >= PNG_MMX_ROWBYTES_THRESHOLD_DEFAULT))
+#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);
          }
          else
+#endif
          {
             png_uint_32 i;
             png_bytep rp = row;
@@ -4891,7 +4892,7 @@
             png_bytep lp = row;
             png_bytep cp = prev_row;
             png_uint_32 bpp = (row_info->pixel_depth + 7) >> 3;
-            png_uint_32 istop = row_info->rowbytes - bpp;
+            png_uint_32 istop=row_info->rowbytes - bpp;
 
             for (i = 0; i < bpp; i++)
             {
@@ -4899,7 +4900,7 @@
                rp++;
             }
 
-            for (i = 0; i < istop; i++)   /* use leftover rp,pp */
+            for (i = 0; i < istop; i++)   // use leftover rp,pp
             {
                int a, b, c, pa, pb, pc, p;
 
@@ -4929,7 +4930,7 @@
                      p = c;
                 */
 
-               p = (pa <= pb && pa <= pc) ? a : (pb <= pc) ? b : c;
+               p = (pa <= pb && pa <=pc) ? a : (pb <= pc) ? b : c;
 
                *rp = (png_byte)(((int)(*rp) + p) & 0xff);
                rp++;
@@ -4938,7 +4939,7 @@
          break;
 
       default:
-         png_warning(png_ptr, "Ignoring bad row-filter type");
+         png_warning(png_ptr, "Ignoring bad adaptive filter type");
          *row=0;
          break;
    }
@@ -4963,24 +4964,85 @@
 //             [is there a way to signal that a *single* function should
 //              not be inlined?  is there a way to modify the label for
 //              each inlined instance, e.g., by appending _1, _2, etc.?
-//              maybe if don't use leading "." in label name? (nope...sigh)]
+//              maybe if don't use leading "." in label name? (not tested)]
 
-int PNGAPI
-png_mmx_support(void)
+#ifdef ORIG_THAT_USED_TO_CLOBBER_EBX
+
+int mmxsupport(void)
 {
+    int mmx_supported_local = 0;
+
     __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)
 //      ".byte  0x66          \n\t"  // convert 16-bit pushf to 32-bit pushfd
-//      "pushf                \n\t"  // 16-bit pushf
+//      "pushf                \n\t"  // save Eflag to stack
         "pushfl               \n\t"  // save Eflag to stack
         "popl %%eax           \n\t"  // get Eflag from stack into eax
         "movl %%eax, %%ecx    \n\t"  // make another copy of Eflag in ecx
         "xorl $0x200000, %%eax \n\t" // toggle ID bit in Eflag (i.e., bit 21)
         "pushl %%eax          \n\t"  // save modified Eflag back to stack
 //      ".byte  0x66          \n\t"  // convert 16-bit popf to 32-bit popfd
-//      "popf                 \n\t"  // 16-bit popf
+//      "popf                 \n\t"  // restore modified value to Eflag reg
+        "popfl                \n\t"  // restore modified value to Eflag reg
+        "pushfl               \n\t"  // save Eflag to stack
+        "popl %%eax           \n\t"  // get Eflag from stack
+        "xorl %%ecx, %%eax    \n\t"  // compare new Eflag with original Eflag
+        "jz .NOT_SUPPORTED    \n\t"  // if same, CPUID instr. is not supported
+
+        "xorl %%eax, %%eax    \n\t"  // set eax to zero
+//      ".byte  0x0f, 0xa2    \n\t"  // CPUID instruction (two-byte opcode)
+        "cpuid                \n\t"  // get the CPU identification info
+        "cmpl $1, %%eax       \n\t"  // make sure eax return non-zero value
+        "jl .NOT_SUPPORTED    \n\t"  // if eax is zero, MMX is not supported
+
+        "xorl %%eax, %%eax    \n\t"  // set eax to zero and...
+        "incl %%eax           \n\t"  // ...increment eax to 1.  This pair is
+                                     // faster than the instruction "mov eax, 1"
+        "cpuid                \n\t"  // get the CPU identification info again
+        "andl $0x800000, %%edx \n\t" // mask out all bits but MMX bit (23)
+        "cmpl $0, %%edx       \n\t"  // 0 = MMX not supported
+        "jz .NOT_SUPPORTED    \n\t"  // non-zero = yes, MMX IS supported
+
+        "movl $1, %0          \n\t"  // set return value to 1 and fall through
+
+    ".NOT_SUPPORTED:          \n\t"  // target label for jump instructions
+        "movl %0, %%eax       \n\t"  // move return value to eax
+                                     // DONE
+
+        : "=m" (mmx_supported_local) // %0 (output list:  memory only)
+
+        :                            // any variables used on input (none)
+
+        : "%eax", "%ebx",            // clobber list
+          "%ecx", "%edx"
+//      , "memory"   // if write to a variable gcc thought was in a reg
+//      , "cc"       // "condition codes" (flag bits)
+    );
+
+    //mmx_supported_local=0; // test code for force don't support MMX
+    //printf("MMX : %u (1=MMX supported)\n",mmx_supported_local);
+
+    return mmx_supported_local;
+}
+
+
+#else /* !ORIG_THAT_USED_TO_CLOBBER_EBX */
+
+
+int mmxsupport(void)
+{
+    __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)
+//      ".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
+        "popl %%eax           \n\t"  // get Eflag from stack into eax
+        "movl %%eax, %%ecx    \n\t"  // make another copy of Eflag in ecx
+        "xorl $0x200000, %%eax \n\t" // toggle ID bit in Eflag (i.e., bit 21)
+        "pushl %%eax          \n\t"  // save modified Eflag back to stack
+//      ".byte  0x66          \n\t"  // convert 16-bit popf to 32-bit popfd
+//      "popf                 \n\t"  // restore modified value to Eflag reg
         "popfl                \n\t"  // restore modified value to Eflag reg
         "pushfl               \n\t"  // save Eflag to stack
         "popl %%eax           \n\t"  // get Eflag from stack
@@ -5002,7 +5064,6 @@
         "jz .NOT_SUPPORTED    \n\t"  // non-zero = yes, MMX IS supported
 
         "movl $1, %%eax       \n\t"  // set return value to 1
-        "movl %%eax, _mmx_supported \n\t" // save in global static variable, too
         "popl %%edx           \n\t"  // restore edx
         "popl %%ecx           \n\t"  // restore ecx
         "popl %%ebx           \n\t"  // restore ebx ("row" in png_do_interlace)
@@ -5010,14 +5071,13 @@
 
     ".NOT_SUPPORTED:          \n\t"  // target label for jump instructions
         "movl $0, %%eax       \n\t"  // set return value to 0
-        "movl %%eax, _mmx_supported \n\t" // save in global static variable, too
         "popl %%edx           \n\t"  // restore edx
         "popl %%ecx           \n\t"  // restore ecx
         "popl %%ebx           \n\t"  // restore ebx ("row" in png_do_interlace)
 //      "ret                  \n\t"  // DONE:  no MMX support
                                      // (fall through to standard C "ret")
 
-        :                            // output list (none)
+        : // "=m" (mmx_supported_local) // %0 (output list:  memory only)
 
         :                            // any variables used on input (none)
 
@@ -5027,7 +5087,12 @@
 //      , "cc"       // "condition codes" (flag bits)
     );
 
-    // return %%eax;
+    //mmx_supported_local=0; // test code for force don't support MMX
+    //printf("MMX : %u (1=MMX supported)\n",mmx_supported_local);
+
+    //return mmx_supported_local;
 }
 
+#endif /* ?ORIG_THAT_USED_TO_CLOBBER_EBX */
+
 #endif /* PNG_ASSEMBLER_CODE_SUPPORTED && PNG_USE_PNGGCCRD */
diff --git a/pngget.c b/pngget.c
index cbb2ef5..42ba528 100644
--- a/pngget.c
+++ b/pngget.c
@@ -1,9 +1,9 @@
 
 /* pngget.c - retrieval of values from info struct
  *
- * libpng 1.0.9beta10 - January 16, 2001
+ * libpng 1.0.9beta2 - November 19, 2000
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  */
@@ -807,7 +807,7 @@
 png_byte PNGAPI
 png_get_rgb_to_gray_status (png_structp png_ptr)
 {
-   return (png_byte)(png_ptr? png_ptr->rgb_to_gray_status : 0);
+   return png_ptr->rgb_to_gray_status;
 }
 #endif
 
@@ -815,7 +815,7 @@
 png_voidp PNGAPI
 png_get_user_chunk_ptr(png_structp png_ptr)
 {
-   return (png_ptr? png_ptr->user_chunk_ptr : NULL);
+   return (png_ptr->user_chunk_ptr);
 }
 #endif
 
@@ -823,6 +823,5 @@
 png_uint_32 PNGAPI
 png_get_compression_buffer_size(png_structp png_ptr)
 {
-   return (png_uint_32)(png_ptr? png_ptr->zbuf_size : 0L);
+   return(png_ptr->zbuf_size);
 }
-
diff --git a/pngmem.c b/pngmem.c
index 37e4caf..6a0474f 100644
--- a/pngmem.c
+++ b/pngmem.c
@@ -1,9 +1,9 @@
 
 /* pngmem.c - stub functions for memory allocation
  *
- * libpng 1.0.9beta10 - January 16, 2001
+ * libpng 1.0.9beta2 - November 19, 2000
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  *
diff --git a/pngpread.c b/pngpread.c
index d019ac4..0e56466 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,9 +1,9 @@
 
 /* pngpread.c - read a png file in push mode
  *
- * libpng 1.0.9beta10 - January 16, 2001
+ * libpng 1.0.9beta2 - November 19, 2000
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  */
@@ -772,29 +772,18 @@
    if (png_ptr->interlaced && (png_ptr->transformations & PNG_INTERLACE))
    {
       if (png_ptr->pass < 6)
-/*       old interface (pre-1.0.9):
          png_do_read_interlace(&(png_ptr->row_info),
             png_ptr->row_buf + 1, png_ptr->pass, png_ptr->transformations);
- */
-         png_do_read_interlace(png_ptr);
 
-    switch (png_ptr->pass)
-    {
+      switch (png_ptr->pass)
+      {
          case 0:
          {
             int i;
             for (i = 0; i < 8 && png_ptr->pass == 0; i++)
             {
                png_push_have_row(png_ptr, png_ptr->row_buf + 1);
-               png_read_push_finish_row(png_ptr); /* updates png_ptr->pass */
-            }
-            if (png_ptr->pass == 2) /* pass 1 might be empty */
-            {
-               for (i = 0; i < 4 && png_ptr->pass == 2; i++)
-               {
-                  png_push_have_row(png_ptr, NULL);
-                  png_read_push_finish_row(png_ptr);
-               }
+               png_read_push_finish_row(png_ptr);
             }
             break;
          }
@@ -806,7 +795,7 @@
                png_push_have_row(png_ptr, png_ptr->row_buf + 1);
                png_read_push_finish_row(png_ptr);
             }
-            if (png_ptr->pass == 2) /* skip top 4 generated rows */
+            if (png_ptr->pass == 2)
             {
                for (i = 0; i < 4 && png_ptr->pass == 2; i++)
                {
@@ -829,14 +818,6 @@
                png_push_have_row(png_ptr, NULL);
                png_read_push_finish_row(png_ptr);
             }
-            if (png_ptr->pass == 4) /* pass 3 might be empty */
-            {
-               for (i = 0; i < 2 && png_ptr->pass == 4; i++)
-               {
-                  png_push_have_row(png_ptr, NULL);
-                  png_read_push_finish_row(png_ptr);
-               }
-            }
             break;
          }
          case 3:
@@ -847,7 +828,7 @@
                png_push_have_row(png_ptr, png_ptr->row_buf + 1);
                png_read_push_finish_row(png_ptr);
             }
-            if (png_ptr->pass == 4) /* skip top two generated rows */
+            if (png_ptr->pass == 4)
             {
                for (i = 0; i < 2 && png_ptr->pass == 4; i++)
                {
@@ -870,11 +851,6 @@
                png_push_have_row(png_ptr, NULL);
                png_read_push_finish_row(png_ptr);
             }
-            if (png_ptr->pass == 6) /* pass 5 might be empty */
-            {
-               png_push_have_row(png_ptr, NULL);
-               png_read_push_finish_row(png_ptr);
-            }
             break;
          }
          case 5:
@@ -885,7 +861,7 @@
                png_push_have_row(png_ptr, png_ptr->row_buf + 1);
                png_read_push_finish_row(png_ptr);
             }
-            if (png_ptr->pass == 6) /* skip top generated row */
+            if (png_ptr->pass == 6)
             {
                png_push_have_row(png_ptr, NULL);
                png_read_push_finish_row(png_ptr);
@@ -952,11 +928,6 @@
       do
       {
          png_ptr->pass++;
-         if ((png_ptr->pass == 1 && png_ptr->width < 5) ||
-             (png_ptr->pass == 3 && png_ptr->width < 3) ||
-             (png_ptr->pass == 5 && png_ptr->width < 2))
-           png_ptr->pass++;
-
          if (png_ptr->pass >= 7)
             break;
 
diff --git a/pngread.c b/pngread.c
index 9f9ec23..af88de5 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,9 +1,9 @@
 
 /* pngread.c - read a PNG file
  *
- * libpng 1.0.9beta10 - January 16, 2001
+ * libpng 1.0.9beta2 - November 19, 2000
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  *
@@ -103,7 +103,7 @@
         removed from version 2.0.0 and beyond because the previous test
         would have already rejected it. */
 
-     if (user_png_ver[4] == '6' && user_png_ver[2] == '0' &&
+     if (user_png_ver[4] == '6' && user_png_ver[2] == '0' && 
          user_png_ver[0] == '1' && user_png_ver[5] == '\0')
      {
         png_error(png_ptr,
@@ -246,8 +246,6 @@
          else
             png_error(png_ptr, "PNG file corrupted by ASCII conversion");
       }
-      if (num_checked < 3)
-         png_ptr->mode |= PNG_HAVE_PNG_SIGNATURE;
    }
 
    for(;;)
@@ -648,15 +646,6 @@
 
    png_memcpy_check(png_ptr, png_ptr->prev_row, png_ptr->row_buf,
       png_ptr->rowbytes + 1);
-   
-#if defined(PNG_MNG_FEATURES_SUPPORTED)
-   if((png_ptr->mng_features_permitted & PNG_FLAG_MNG_FILTER_64) &&
-      (png_ptr->filter_type == PNG_INTRAPIXEL_DIFFERENCING))
-   {
-      /* Intrapixel differencing */
-      png_do_read_intrapixel(&(png_ptr->row_info), png_ptr->row_buf + 1);
-   }
-#endif
 
    if (png_ptr->transformations)
       png_do_read_transformations(png_ptr);
@@ -667,11 +656,8 @@
       (png_ptr->transformations & PNG_INTERLACE))
    {
       if (png_ptr->pass < 6)
-/*       old interface (pre-1.0.9):
          png_do_read_interlace(&(png_ptr->row_info),
             png_ptr->row_buf + 1, png_ptr->pass, png_ptr->transformations);
- */
-         png_do_read_interlace(png_ptr);
 
       if (dsp_row != NULL)
          png_combine_row(png_ptr, dsp_row,
@@ -715,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.9beta10
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.9beta2
  */
 
 void PNGAPI
@@ -764,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.9beta10
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.9beta2
  */
 void PNGAPI
 png_read_image(png_structp png_ptr, png_bytepp image)
diff --git a/pngrio.c b/pngrio.c
index 42c504f..5cd3ddc 100644
--- a/pngrio.c
+++ b/pngrio.c
@@ -1,9 +1,9 @@
 
 /* pngrio.c - functions for data input
  *
- * libpng 1.0.9beta10 - January 16, 2001
+ * libpng 1.0.9beta2 - November 19, 2000
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  *
diff --git a/pngrtran.c b/pngrtran.c
index 81251b4..57391ba 100644
--- a/pngrtran.c
+++ b/pngrtran.c
@@ -1,9 +1,9 @@
 
 /* pngrtran.c - transforms the data in a row for PNG readers
  *
- * libpng 1.0.9beta10 - January 16, 2001
+ * libpng 1.0.9beta2 - November 19, 2000
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  *
@@ -4053,63 +4053,3 @@
 /* To do: install integer version of png_build_gamma_table here */
 #endif
 
-#if defined(PNG_MNG_FEATURES_SUPPORTED)
-/* undoes intrapixel differencing  */
-void /* PRIVATE */
-png_do_read_intrapixel(png_row_infop row_info, png_bytep row)
-{
-   png_debug(1, "in png_do_read_intrapixel\n");
-   if (
-#if defined(PNG_USELESS_TESTS_SUPPORTED)
-       row != NULL && row_info != NULL &&
-#endif
-       (row_info->color_type & PNG_COLOR_MASK_COLOR))
-   {
-      int bytes_per_pixel;
-      png_uint_32 row_width = row_info->width;
-      if (row_info->bit_depth == 8)
-      {
-         png_bytep rp;
-         png_uint_32 i;
-
-         if (row_info->color_type == PNG_COLOR_TYPE_RGB)
-            bytes_per_pixel = 3;
-         else if (row_info->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
-            bytes_per_pixel = 4;
-         else
-            return;
-
-         for (i = 0, rp = row; i < row_width; i++, rp += bytes_per_pixel)
-         {
-            *(rp) = (png_byte)((256 + *rp + *(rp+1))&0xff);
-            *(rp+2) = (png_byte)((256 + *(rp+2) + *(rp+1))&0xff);
-         }
-      }
-      else if (row_info->bit_depth == 16)
-      {
-         png_bytep rp;
-         png_uint_32 i;
-
-         if (row_info->color_type == PNG_COLOR_TYPE_RGB)
-            bytes_per_pixel = 6;
-         else if (row_info->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
-            bytes_per_pixel = 8;
-         else
-            return;
-
-         for (i = 0, rp = row; i < row_width; i++, rp += bytes_per_pixel)
-         {
-            png_uint_32 s0=*(rp  )<<8 | *(rp+1);
-            png_uint_32 s1=*(rp+2)<<8 | *(rp+3);
-            png_uint_32 s2=*(rp+4)<<8 | *(rp+5);
-            png_uint_32 red=(65536+s0+s1)&0xffff;
-            png_uint_32 blue=(65536+s2+s1)&0xffff;
-            *(rp  ) = (png_byte)((red>>8)&0xff);
-            *(rp+1) = (png_byte)(red&0xff);
-            *(rp+4) = (png_byte)((blue>>8)&0xff);
-            *(rp+5) = (png_byte)(blue&0xff);
-         }
-      }
-   }
-}
-#endif /* PNG_MNG_FEATURES_SUPPORTED */
diff --git a/pngrutil.c b/pngrutil.c
index c7fde02..e87ee53 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,9 +1,9 @@
 
 /* pngrutil.c - utilities to read a PNG file
  *
- * libpng 1.0.9beta10 - January 16, 2001
+ * libpng 1.0.9beta2 - November 19, 2000
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  *
@@ -174,7 +174,7 @@
    png_charp text = NULL;
    png_size_t text_size;
 
-   if (comp_type == PNG_COMPRESSION_TYPE_BASE)
+   if (comp_type == PNG_TEXT_COMPRESSION_zTXt)
    {
       int ret = Z_OK;
       png_ptr->zstream.next_in = (png_bytep)(chunkdata + prefix_size);
@@ -266,13 +266,6 @@
          png_warning(png_ptr,
             "Incomplete compressed datastream in chunk other than IDAT");
 #endif
-         text_size=prefix_size;
-         if (text ==  NULL)
-         {
-            text = (png_charp)png_malloc(png_ptr, text_size+1);
-            png_memcpy(text, chunkdata, prefix_size);
-         }
-         *(text + text_size) = 0x00;
       }
 
       inflateReset(&png_ptr->zstream);
@@ -282,7 +275,7 @@
       chunkdata = text;
       *newlength=text_size;
    }
-   else /* if (comp_type != PNG_COMPRESSION_TYPE_BASE) */
+   else /* if (comp_type != PNG_TEXT_COMPRESSION_zTXt) */
    {
 #if !defined(PNG_NO_STDIO) && !defined(_WIN32_WCE)
       char umsg[50];
@@ -293,8 +286,10 @@
       png_warning(png_ptr, "Unknown zTXt compression type");
 #endif
 
-      *(chunkdata + prefix_size) = 0x00;
-      *newlength=prefix_size;
+      /* Copy what we can of the error message into the text chunk */
+      text_size = (png_size_t)(chunklength - (text - chunkdata));
+      text_size = sizeof(msg) > text_size ? text_size : sizeof(msg);
+      png_memcpy(text, msg, text_size);
    }
 
    return chunkdata;
@@ -358,33 +353,8 @@
    if (compression_type != PNG_COMPRESSION_TYPE_BASE)
       png_error(png_ptr, "Unknown compression method in IHDR");
 
-#if defined(PNG_MNG_FEATURES_SUPPORTED)
-   /* Accept filter_method 64 (intrapixel differencing) only if
-    * 1. Libpng was compiled with PNG_MNG_FEATURES_SUPPORTED and
-    * 2. Libpng did not read a PNG signature (this filter_method is only
-    *    used in PNG datastreams that are embedded in MNG datastreams) and
-    * 3. The application called png_permit_mng_features with a mask that
-    *    included PNG_FLAG_MNG_FILTER_64 and
-    * 4. The filter_method is 64 and
-    * 5. The color_type is RGB or RGBA
-    */
-   if((png_ptr->mode&PNG_HAVE_PNG_SIGNATURE)&&png_ptr->mng_features_permitted)
-      png_warning(png_ptr,"MNG features are not allowed in a PNG datastream\n");
-   if(filter_type != PNG_FILTER_TYPE_BASE)
-   {
-     if(!((png_ptr->mng_features_permitted & PNG_FLAG_MNG_FILTER_64) &&
-        (filter_type == PNG_INTRAPIXEL_DIFFERENCING) &&
-        ((png_ptr->mode&PNG_HAVE_PNG_SIGNATURE) == 0) &&
-        (color_type == PNG_COLOR_TYPE_RGB || 
-         color_type == PNG_COLOR_TYPE_RGB_ALPHA)))
-        png_error(png_ptr, "Unknown filter method in IHDR");
-     if(png_ptr->mode&PNG_HAVE_PNG_SIGNATURE)
-        png_warning(png_ptr, "Invalid filter method in IHDR");
-   }
-#else
-   if(filter_type != PNG_FILTER_TYPE_BASE)
+   if (filter_type != PNG_FILTER_TYPE_BASE)
       png_error(png_ptr, "Unknown filter method in IHDR");
-#endif
 
    /* set internal variables */
    png_ptr->width = width;
@@ -392,7 +362,6 @@
    png_ptr->bit_depth = (png_byte)bit_depth;
    png_ptr->interlaced = (png_byte)interlace_type;
    png_ptr->color_type = (png_byte)color_type;
-   png_ptr->filter_type = (png_byte)filter_type;
 
    /* find number of channels */
    switch (png_ptr->color_type)
@@ -428,7 +397,7 @@
 void /* PRIVATE */
 png_handle_PLTE(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
 {
-   png_color palette[PNG_MAX_PALETTE_LENGTH];
+   png_colorp palette;
    int num, i;
 #ifndef PNG_NO_POINTER_INDEXING
    png_colorp pal_ptr;
@@ -457,7 +426,7 @@
    }
 #endif
 
-   if (length > 3*PNG_MAX_PALETTE_LENGTH || length % 3)
+   if (length > 768 || length % 3)
    {
       if (png_ptr->color_type != PNG_COLOR_TYPE_PALETTE)
       {
@@ -473,6 +442,8 @@
 
    num = (int)length / 3;
 
+   palette = (png_colorp)png_zalloc(png_ptr, (uInt)num, sizeof (png_color));
+
 #ifndef PNG_NO_POINTER_INDEXING
    for (i = 0, pal_ptr = palette; i < num; i++, pal_ptr++)
    {
@@ -522,6 +493,7 @@
          else
          {
             png_chunk_warning(png_ptr, "CRC error");
+            png_zfree(png_ptr, palette);
             return;
          }
       }
@@ -532,7 +504,15 @@
       }
    }
 #endif
+   png_ptr->palette = palette;
+   png_ptr->num_palette = (png_uint_16)num;
 
+#ifdef PNG_FREE_ME_SUPPORTED
+   png_free_data(png_ptr, info_ptr, PNG_FREE_PLTE, 0);
+   png_ptr->free_me |= PNG_FREE_PLTE;
+#else
+   png_ptr->flags |= PNG_FLAG_FREE_PLTE;
+#endif
    png_set_PLTE(png_ptr, info_ptr, palette, num);
 
 #if defined(PNG_READ_tRNS_SUPPORTED)
@@ -1070,8 +1050,6 @@
                                     slength, prefix_length, &data_length);
 
    profile_length = data_length - prefix_length;
-
-   /* Check the profile_size recorded in the first 32 bits of the ICC profile */
    profile_size = ((*(chunkdata+prefix_length))<<24) |
                   ((*(chunkdata+prefix_length+1))<<16) |
                   ((*(chunkdata+prefix_length+2))<< 8) |
@@ -1087,7 +1065,7 @@
    }
 
    png_set_iCCP(png_ptr, info_ptr, chunkdata, compression_type,
-                chunkdata + prefix_length, profile_length);
+                chunkdata + prefix_length, data_length-prefix_length);
    png_free(png_ptr, chunkdata);
 }
 #endif /* PNG_READ_iCCP_SUPPORTED */
@@ -1224,8 +1202,6 @@
 void /* PRIVATE */
 png_handle_tRNS(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
 {
-   png_byte	readbuf[PNG_MAX_PALETTE_LENGTH];
-
    png_debug(1, "in png_handle_tRNS\n");
 
    if (!(png_ptr->mode & PNG_HAVE_IHDR))
@@ -1263,7 +1239,8 @@
          return;
       }
 
-      png_crc_read(png_ptr, readbuf, (png_size_t)length);
+      png_ptr->trans = (png_bytep)png_malloc(png_ptr, length);
+      png_crc_read(png_ptr, png_ptr->trans, (png_size_t)length);
       png_ptr->num_trans = (png_uint_16)length;
    }
    else if (png_ptr->color_type == PNG_COLOR_TYPE_RGB)
@@ -1308,7 +1285,15 @@
    if (png_crc_finish(png_ptr, 0))
       return;
 
-   png_set_tRNS(png_ptr, info_ptr, readbuf, png_ptr->num_trans,
+#ifdef PNG_FREE_ME_SUPPORTED
+   png_free_data(png_ptr, info_ptr, PNG_FREE_TRNS, 0);
+   if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
+      png_ptr->free_me |= PNG_FREE_TRNS;
+#else
+   if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
+      png_ptr->flags |= PNG_FLAG_FREE_TRNS;
+#endif
+   png_set_tRNS(png_ptr, info_ptr, png_ptr->trans, png_ptr->num_trans,
       &(png_ptr->trans_values));
 }
 #endif
@@ -1407,7 +1392,6 @@
 png_handle_hIST(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
 {
    int num, i;
-   png_uint_16	readbuf[PNG_MAX_PALETTE_LENGTH];
 
    png_debug(1, "in png_handle_hIST\n");
 
@@ -1432,26 +1416,34 @@
       return;
    }
 
-   num = (int)length / 2 ;
-   if (num != png_ptr->num_palette)
+   if (length != (png_uint_32)(2 * png_ptr->num_palette))
    {
       png_warning(png_ptr, "Incorrect hIST chunk length");
       png_crc_finish(png_ptr, length);
       return;
    }
 
+   num = (int)length / 2 ;
+   png_ptr->hist = (png_uint_16p)png_malloc(png_ptr,
+      (png_uint_32)(num * sizeof (png_uint_16)));
    for (i = 0; i < num; i++)
    {
       png_byte buf[2];
 
       png_crc_read(png_ptr, buf, 2);
-      readbuf[i] = png_get_uint_16(buf);
+      png_ptr->hist[i] = png_get_uint_16(buf);
    }
 
    if (png_crc_finish(png_ptr, 0))
       return;
 
-   png_set_hIST(png_ptr, info_ptr, readbuf);
+#ifdef PNG_FREE_ME_SUPPORTED
+   png_free_data(png_ptr, info_ptr, PNG_FREE_HIST, 0);
+   png_ptr->free_me |= PNG_FREE_HIST;
+#else
+   png_ptr->flags |= PNG_FLAG_FREE_HIST;
+#endif
+   png_set_hIST(png_ptr, info_ptr, png_ptr->hist);
 }
 #endif
 
@@ -1930,11 +1922,6 @@
    else
    {
        comp_type = *(++text);
-       if (comp_type != PNG_TEXT_COMPRESSION_zTXt)
-       {
-          png_warning(png_ptr, "Unknown compression type in zTXt chunk");
-          comp_type = PNG_TEXT_COMPRESSION_zTXt;
-       }
        text++;        /* skip the compression_method byte */
    }
    prefix_len = text - chunkdata;
@@ -2165,9 +2152,13 @@
    a zero indicates the pixel is to be skipped.  This is in addition
    to any alpha or transparency value associated with the pixel.  If
    you want all pixels to be combined, pass 0xff (255) in mask.  */
-#ifndef PNG_HAVE_ASSEMBLER_COMBINE_ROW
 void /* PRIVATE */
-png_combine_row(png_structp png_ptr, png_bytep row, int mask)
+#ifdef PNG_HAVE_ASSEMBLER_COMBINE_ROW
+png_combine_row_c
+#else
+png_combine_row
+#endif /* PNG_HAVE_ASSEMBLER_COMBINE_ROW */
+   (png_structp png_ptr, png_bytep row, int mask)
 {
    png_debug(1,"in png_combine_row\n");
    if (mask == 0xff)
@@ -2367,24 +2358,25 @@
       }
    }
 }
-#endif /* !PNG_HAVE_ASSEMBLER_COMBINE_ROW */
 
-#ifdef PNG_READ_INTERLACING_SUPPORTED
-#ifndef PNG_HAVE_ASSEMBLER_READ_INTERLACE   /* else in pngvcrd.c, pnggccrd.c */
+#if defined(PNG_READ_INTERLACING_SUPPORTED)
 void /* PRIVATE */
-png_do_read_interlace(png_structp png_ptr)
+#ifdef PNG_HAVE_ASSEMBLER_READ_INTERLACE
+png_do_read_interlace_c
+#else
+png_do_read_interlace
+#endif /* PNG_HAVE_ASSEMBLER_READ_INTERLACE */
+   (png_row_infop row_info, png_bytep row, int pass,
+   png_uint_32 transformations)
 {
-   png_row_infop row_info = &(png_ptr->row_info);
-   png_bytep row = png_ptr->row_buf + 1;
-   int pass = png_ptr->pass;
-   png_uint_32 transformations = png_ptr->transformations;
 #ifdef PNG_USE_LOCAL_ARRAYS
    /* arrays to facilitate easy interlacing - use pass (0 - 6) as index */
+
    /* offset to next interlace block */
    const int png_pass_inc[7] = {8, 8, 4, 4, 2, 2, 1};
 #endif
 
-   png_debug(1,"in png_do_read_interlace (stock C version)\n");
+   png_debug(1,"in png_do_read_interlace\n");
    if (row != NULL && row_info != NULL)
    {
       png_uint_32 final_width;
@@ -2594,12 +2586,15 @@
       return;
 #endif
 }
-#endif /* !PNG_HAVE_ASSEMBLER_READ_INTERLACE */
-#endif /* PNG_READ_INTERLACING_SUPPORTED */
+#endif
 
-#ifndef PNG_HAVE_ASSEMBLER_READ_FILTER_ROW
 void /* PRIVATE */
-png_read_filter_row(png_structp png_ptr, png_row_infop row_info, png_bytep row,
+#ifdef PNG_HAVE_ASSEMBLER_READ_FILTER_ROW
+png_read_filter_row_c
+#else
+png_read_filter_row
+#endif /* PNG_HAVE_ASSEMBLER_READ_FILTER_ROW */
+   (png_structp png_ptr, png_row_infop row_info, png_bytep row,
    png_bytep prev_row, int filter)
 {
    png_debug(1, "in png_read_filter_row\n");
@@ -2720,7 +2715,6 @@
          break;
    }
 }
-#endif /* !PNG_HAVE_ASSEMBLER_READ_FILTER_ROW */
 
 void /* PRIVATE */
 png_read_finish_row(png_structp png_ptr)
diff --git a/pngset.c b/pngset.c
index 9501d35..1140126 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,9 +1,9 @@
 
 /* pngset.c - storage of image information into info struct
  *
- * libpng 1.0.9beta10 - January 16, 2001
+ * libpng 1.0.9beta2 - November 19, 2000
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  *
@@ -133,31 +133,12 @@
 void PNGAPI
 png_set_hIST(png_structp png_ptr, png_infop info_ptr, png_uint_16p hist)
 {
-   int	i;
-
    png_debug1(1, "in %s storage function\n", "hIST");
    if (png_ptr == NULL || info_ptr == NULL)
       return;
-   if (info_ptr->num_palette == 0)
-       png_warning(png_ptr,
-		   "Palette size 0, hIST allocation skipped.");
 
-#ifdef PNG_FREE_ME_SUPPORTED
-   png_free_data(png_ptr, info_ptr, PNG_FREE_HIST, 0);
-#endif
-   png_ptr->hist = (png_uint_16p)png_malloc(png_ptr,
-      (png_uint_32)(info_ptr->num_palette * sizeof (png_uint_16)));
-
-   for (i = 0; i < info_ptr->num_palette; i++)
-       png_ptr->hist[i] = hist[i];
-   info_ptr->hist = png_ptr->hist;
+   info_ptr->hist = hist;
    info_ptr->valid |= PNG_INFO_hIST;
-
-#ifdef PNG_FREE_ME_SUPPORTED
-   info_ptr->free_me |= PNG_FREE_HIST;
-#else
-   png_ptr->flags |= PNG_FLAG_FREE_HIST;
-#endif
 }
 #endif
 
@@ -339,26 +320,9 @@
    if (png_ptr == NULL || info_ptr == NULL)
       return;
 
-   /*
-    * It may not actually be necessary to set png_ptr->palette here;
-    * we do it for backward compatibility with the way the png_handle_tRNS
-    * function used to do the allocation.
-    */
-#ifdef PNG_FREE_ME_SUPPORTED
-   png_free_data(png_ptr, info_ptr, PNG_FREE_PLTE, 0);
-#endif
-   png_ptr->palette = (png_colorp)png_zalloc(png_ptr, (uInt)num_palette,
-      sizeof (png_color));
-   memcpy(png_ptr->palette, palette, num_palette * sizeof (png_color));
-   info_ptr->palette = png_ptr->palette;
-   info_ptr->num_palette = png_ptr->num_palette = (png_uint_16)num_palette;
+   info_ptr->palette = palette;
 
-#ifdef PNG_FREE_ME_SUPPORTED
-   info_ptr->free_me |= PNG_FREE_PLTE;
-#else
-   png_ptr->flags |= PNG_FLAG_FREE_PLTE;
-#endif
-
+   info_ptr->num_palette = (png_uint_16)num_palette;
    info_ptr->valid |= PNG_INFO_PLTE;
 }
 
@@ -667,23 +631,7 @@
       return;
 
    if (trans != NULL)
-   {
-       /*
-	* It may not actually be necessary to set png_ptr->trans here;
-	* we do it for backward compatibility with the way the png_handle_tRNS
-	* function used to do the allocation.
-	*/
-#ifdef PNG_FREE_ME_SUPPORTED
-       png_free_data(png_ptr, info_ptr, PNG_FREE_TRNS, 0);
-#endif
-       png_ptr->trans = info_ptr->trans = png_malloc(png_ptr, num_trans);
-       memcpy(info_ptr->trans, trans, num_trans);
-#ifdef PNG_FREE_ME_SUPPORTED
-       info_ptr->free_me |= PNG_FREE_TRNS;
-#else
-       png_ptr->flags |= PNG_FLAG_FREE_TRNS;
-#endif
-   }
+      info_ptr->trans = trans;
 
    if (trans_values != NULL)
    {
@@ -782,7 +730,7 @@
 png_set_unknown_chunk_location(png_structp png_ptr, png_infop info_ptr,
    int chunk, int location)
 {
-   if(png_ptr != NULL && info_ptr != NULL && chunk >= 0 && chunk <
+   if(png_ptr != NULL && info_ptr != NULL && chunk >= 0 && chunk < 
          (int)info_ptr->unknown_chunks_num)
       info_ptr->unknown_chunks[chunk].location = (png_byte)location;
 }
@@ -906,4 +854,3 @@
    if (png_ptr && info_ptr)
       info_ptr->valid &= ~(mask);
 }
-
diff --git a/pngtest.c b/pngtest.c
index f7748e2..2ced420 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1,9 +1,9 @@
 
 /* pngtest.c - a simple test program to test libpng
  *
- * libpng 1.0.9beta10 - January 16, 2001
+ * libpng 1.0.9beta2 - November 19, 2000
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  *
@@ -50,14 +50,6 @@
 #  define FCLOSE(file) fclose(file)
 #endif
 
-#if defined(PNG_NO_STDIO)
-#if defined(_WIN32_WCE)
-typedef HANDLE                png_FILE_p;
-#else
-typedef FILE                * png_FILE_p;
-#endif
-#endif
-
 /* Makes pngtest verbose so we can find problems (needs to be before png.h) */
 #ifndef PNG_DEBUG
 #define PNG_DEBUG 0
@@ -265,7 +257,6 @@
    not reading from a standard C stream, you should create a replacement
    read_data function and use it at run time with png_set_read_fn(), rather
    than changing the library. */
-
 #ifndef USE_FAR_KEYWORD
 static void
 pngtest_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
@@ -1458,4 +1449,4 @@
 }
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_0_9beta10 your_png_h_is_not_version_1_0_9beta10;
+typedef version_1_0_9beta2 your_png_h_is_not_version_1_0_9beta2;
diff --git a/pngtrans.c b/pngtrans.c
index d6429b0..140905c 100644
--- a/pngtrans.c
+++ b/pngtrans.c
@@ -1,9 +1,9 @@
 
 /* pngtrans.c - transforms the data in a row (used by both readers and writers)
  *
- * libpng 1.0.9beta10 - January 16, 2001
+ * libpng 1.0.9beta2 - November 19, 2000
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  */
@@ -606,4 +606,3 @@
    return (NULL);
 #endif
 }
-
diff --git a/pngvcrd.c b/pngvcrd.c
index 4bf3025..4b85a1f 100644
--- a/pngvcrd.c
+++ b/pngvcrd.c
@@ -2,20 +2,13 @@
  *
  * For Intel x86 CPU and Microsoft Visual C++ compiler
  *
- * libpng 1.0.9beta10 - January 16, 2001
+ * libpng 1.0.9beta2 - November 19, 2000
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * Copyright (c) 1998, Intel Corporation
  *
  * Contributed by Nirav Chhatrapati, Intel Corporation, 1998
  * Interface to libpng contributed by Gilles Vollant, 1999
- * Debugging and cleanup by Greg Roelofs, 2000, 2001
- *
- * In png_do_read_interlace() in libpng versions 1.0.3a through 1.0.4d,
- * a sign error in the post-MMX cleanup code for each pixel_depth resulted
- * in bad pixels at the beginning of some rows of some images, and also
- * (due to out-of-range memory reads and writes) caused heap corruption
- * when compiled with MSVC 6.0.  The error was fixed in version 1.0.4e.
  *
  * [png_read_filter_row_mmx_avg() bpp == 2 bugfix, GRR 20000916]
  *
@@ -26,11 +19,19 @@
 
 #if defined(PNG_ASSEMBLER_CODE_SUPPORTED) && defined(PNG_USE_PNGVCRD)
 
+/*
+   One of these might need to be defined.
+#define DISABLE_PNGVCRD_COMBINE
+#define DISABLE_PNGVCRD_INTERLACE
+*/
+
 static int mmx_supported=2;
 
+void /* PRIVATE */
+png_read_filter_row_c(png_structp png_ptr, png_row_infop row_info,
+   png_bytep row, png_bytep prev_row, int filter);
 
-int PNGAPI
-png_mmx_support(void)
+static int mmxsupport()
 {
   int mmx_supported_local = 0;
   _asm {
@@ -82,7 +83,6 @@
   //mmx_supported_local=0; // test code for force don't support MMX
   //printf("MMX : %u (1=MMX supported)\n",mmx_supported_local);
 
-  mmx_supported = mmx_supported_local;
   return mmx_supported_local;
 }
 
@@ -106,12 +106,19 @@
 #ifdef PNG_USE_LOCAL_ARRAYS
    const int png_pass_inc[7] = {8, 8, 4, 4, 2, 2, 1};
 #endif
+#ifdef DISABLE_PNGVCRD_COMBINE
+   int save_mmx_supported = mmx_supported;
+#endif
 
    png_debug(1,"in png_combine_row_asm\n");
 
-   if (mmx_supported == 2) {
-       png_mmx_support();
-   }
+#ifdef DISABLE_PNGVCRD_COMBINE
+   if ((png_ptr->transformations & PNG_INTERLACE) && png_ptr->pass != 6)
+       mmx_supported = 0;
+   else
+#endif
+       if (mmx_supported == 2)
+           mmx_supported = mmxsupport();
 
    if (mask == 0xff)
    {
@@ -300,7 +307,7 @@
 
             __int64 mask0=0x0102040810204080;
 
-            if ( mmx_supported )
+            if (mmx_supported)
             {
                srcptr = png_ptr->row_buf + 1;
                dstptr = row;
@@ -400,7 +407,7 @@
             __int64 mask1=0x0101020204040808,
                     mask0=0x1010202040408080;
 
-            if ( mmx_supported )
+            if (mmx_supported)
             {
                srcptr = png_ptr->row_buf + 1;
                dstptr = row;
@@ -520,7 +527,7 @@
             len     = (png_ptr->width)&~7;
             diff = (png_ptr->width)&7;
 
-            if ( mmx_supported )
+            if (mmx_supported)
             {
                _asm
                {
@@ -651,7 +658,7 @@
             len     = (png_ptr->width)&~7;
             diff = (png_ptr->width)&7;
 
-            if ( mmx_supported )
+            if (mmx_supported)
             {
                _asm
                {
@@ -785,7 +792,7 @@
                     mask1=0x2020202040404040,
                     mask0=0x4040808080808080;
 
-            if ( mmx_supported )
+            if (mmx_supported)
             {
                srcptr = png_ptr->row_buf + 1;
                dstptr = row;
@@ -956,27 +963,43 @@
       } /* end switch (png_ptr->row_info.pixel_depth) */
    } /* end if (non-trivial mask) */
 
+#ifdef DISABLE_PNGVCRD_COMBINE
+   mmx_supported = save_mmx_supported;
+#endif
+
 } /* end png_combine_row() */
 
 
 #if defined(PNG_READ_INTERLACING_SUPPORTED)
 
 void /* PRIVATE */
-png_do_read_interlace(png_structp png_ptr)
+png_do_read_interlace(png_row_infop row_info, png_bytep row, int pass,
+   png_uint_32 transformations)
 {
-   png_row_infop row_info = &(png_ptr->row_info);
-   png_bytep row = png_ptr->row_buf + 1;
-   int pass = png_ptr->pass;
-   png_uint_32 transformations = png_ptr->transformations;
 #ifdef PNG_USE_LOCAL_ARRAYS
    const int png_pass_inc[7] = {8, 8, 4, 4, 2, 2, 1};
 #endif
+#ifdef DISABLE_PNGVCRD_INTERLACE
+   int save_mmx_supported = mmx_supported;
+#endif
 
    png_debug(1,"in png_do_read_interlace\n");
 
-   if (mmx_supported == 2) {
-       png_mmx_support();
-   }
+#ifdef DISABLE_PNGVCRD_INTERLACE
+   /* In libpng versions 1.0.3a through 1.0.4d,
+    * a sign error in the post-MMX cleanup code for each pixel_depth resulted
+    * in bad pixels at the beginning of some rows of some images, and also
+    * (due to out-of-range memory reads and writes) caused heap corruption
+    * when compiled with MSVC 6.0.  The error was fixed in version 1.0.4e,
+    * and the code appears to work completely correctly, so it is enabled
+    * by default.
+    */
+   if (1)  /* all passes caused a heap problem in the old code */
+      mmx_supported = 0;
+   else
+#endif
+       if (mmx_supported == 2)
+           mmx_supported = mmxsupport();
 
    if (row != NULL && row_info != NULL)
    {
@@ -1174,8 +1197,7 @@
             // sign fix by GRR
             // NOTE:  there is NO MMX code for 48-bit and 64-bit images
 
-            // use MMX routine if machine supports it
-            if ( mmx_supported )
+            if (mmx_supported) // use MMX routine if machine supports it
             {
                if (pixel_bytes == 3)
                {
@@ -1863,6 +1885,9 @@
          (png_uint_32)row_info->pixel_depth + 7) >> 3);
    }
 
+#ifdef DISABLE_PNGVCRD_INTERLACE
+   mmx_supported = save_mmx_supported;
+#endif
 }
 
 #endif /* PNG_READ_INTERLACING_SUPPORTED */
@@ -3298,7 +3323,7 @@
       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 below
+         // non-MMX code for the SUB filter in png_read_filter_row above
          //
          //         png_bytep rp;
          //         png_bytep lp;
@@ -3633,50 +3658,61 @@
    row, png_bytep prev_row, int filter)
 {
 #ifdef PNG_DEBUG
-   char filnm[10];
+   char filnm[6];
 #endif
+#define UseMMX 1
 
-   if (mmx_supported == 2) {
-       png_mmx_support();
+   if (mmx_supported == 2)
+       mmx_supported = mmxsupport();
+
+   if (!mmx_supported)
+   {
+       png_read_filter_row_c(png_ptr, row_info, row, prev_row, filter);
+       return ;
    }
 
 #ifdef PNG_DEBUG
    png_debug(1, "in png_read_filter_row\n");
+#  if (UseMMX == 1)
+   png_debug1(0,"%s, ", "MMX");
+#  else
+   png_debug1(0,"%s, ", "x86");
+#  endif
    switch (filter)
    {
-      case 0: sprintf(filnm, "none");
+      case 0: sprintf(filnm, "None ");
          break;
-      case 1: sprintf(filnm, "sub-%s", "MMX");
+      case 1: sprintf(filnm, "Sub  ");
          break;
-      case 2: sprintf(filnm, "up-%s", "MMX");
+      case 2: sprintf(filnm, "Up   ");
          break;
-      case 3: sprintf(filnm, "avg-%s", "MMX");
+      case 3: sprintf(filnm, "Avg  ");
          break;
-      case 4: sprintf(filnm, "Paeth-%s", "MMX");
+      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,
       (int)((row_info->pixel_depth + 7) >> 3));
    png_debug1(0,"len=%8d, ", row_info->rowbytes);
-#endif /* PNG_DEBUG */
+#endif
 
    switch (filter)
    {
       case PNG_FILTER_VALUE_NONE:
          break;
-
       case PNG_FILTER_VALUE_SUB:
       {
-         if (
-             (row_info->pixel_depth >= PNG_MMX_BITDEPTH_THRESHOLD_DEFAULT) &&
-             (row_info->rowbytes >= PNG_MMX_ROWBYTES_THRESHOLD_DEFAULT))
+#if (UseMMX == 1)
+         if ((row_info->pixel_depth > 8) &&
+            (row_info->rowbytes >= 128) )
          {
             png_read_filter_row_mmx_sub(row_info, row);
          }
          else
+#endif
          {
             png_uint_32 i;
             png_uint_32 istop = row_info->rowbytes;
@@ -3689,43 +3725,41 @@
                *rp = (png_byte)(((int)(*rp) + (int)(*lp++)) & 0xff);
                rp++;
             }
-         }
+         }  //end !UseMMX
          break;
       }
-
       case PNG_FILTER_VALUE_UP:
       {
-         if (
-             (row_info->pixel_depth >= PNG_MMX_BITDEPTH_THRESHOLD_DEFAULT) &&
-             (row_info->rowbytes >= PNG_MMX_ROWBYTES_THRESHOLD_DEFAULT))
+#if (UseMMX == 1)
+         if ((row_info->pixel_depth > 8) &&
+             (row_info->rowbytes >= 128) )
          {
             png_read_filter_row_mmx_up(row_info, row, prev_row);
-         }
+         }  //end if UseMMX
          else
+#endif
          {
+            png_bytep rp;
+            png_bytep pp;
             png_uint_32 i;
-            png_uint_32 istop = row_info->rowbytes;
-            png_bytep rp = row;
-            png_bytep pp = prev_row;
-
-            for (i = 0; i < istop; ++i)
+            for (i = 0, rp = row, pp = prev_row;
+               i < row_info->rowbytes; i++, rp++, pp++)
             {
-               *rp = (png_byte)(((int)(*rp) + (int)(*pp++)) & 0xff);
-               rp++;
+                  *rp = (png_byte)(((int)(*rp) + (int)(*pp)) & 0xff);
             }
-         }
+         }  //end !UseMMX
          break;
       }
-
       case PNG_FILTER_VALUE_AVG:
       {
-         if (
-             (row_info->pixel_depth >= PNG_MMX_BITDEPTH_THRESHOLD_DEFAULT) &&
-             (row_info->rowbytes >= PNG_MMX_ROWBYTES_THRESHOLD_DEFAULT))
+#if (UseMMX == 1)
+         if ((row_info->pixel_depth > 8) &&
+             (row_info->rowbytes >= 128) )
          {
             png_read_filter_row_mmx_avg(row_info, row, prev_row);
-         }
+         }  //end if UseMMX
          else
+#endif
          {
             png_uint_32 i;
             png_bytep rp = row;
@@ -3747,19 +3781,19 @@
                   ((int)(*pp++ + *lp++) >> 1)) & 0xff);
                rp++;
             }
-         }
+         }  //end !UseMMX
          break;
       }
-
       case PNG_FILTER_VALUE_PAETH:
       {
-         if (
-             (row_info->pixel_depth >= PNG_MMX_BITDEPTH_THRESHOLD_DEFAULT) &&
-             (row_info->rowbytes >= PNG_MMX_ROWBYTES_THRESHOLD_DEFAULT))
+#if (UseMMX == 1)
+         if ((row_info->pixel_depth > 8) &&
+             (row_info->rowbytes >= 128) )
          {
             png_read_filter_row_mmx_paeth(row_info, row, prev_row);
-         }
+         }  //end if UseMMX
          else
+#endif
          {
             png_uint_32 i;
             png_bytep rp = row;
@@ -3810,15 +3844,13 @@
                *rp = (png_byte)(((int)(*rp) + p) & 0xff);
                rp++;
             }
-         }
+         }  //end !UseMMX
          break;
       }
-
       default:
-         png_warning(png_ptr, "Ignoring bad row filter type");
+         png_warning(png_ptr, "Ignoring bad adaptive filter type");
          *row=0;
          break;
    }
 }
-
-#endif /* PNG_ASSEMBLER_CODE_SUPPORTED && PNG_USE_PNGVCRD */
+#endif
diff --git a/pngwio.c b/pngwio.c
index 9340194..d62fe85 100644
--- a/pngwio.c
+++ b/pngwio.c
@@ -1,9 +1,9 @@
 
 /* pngwio.c - functions for data output
  *
- * libpng 1.0.9beta10 - January 16, 2001
+ * libpng 1.0.9beta2 - November 19, 2000
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  *
diff --git a/pngwrite.c b/pngwrite.c
index 1ae9476..ba79c7b 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -1,9 +1,9 @@
 
 /* pngwrite.c - general routines to write a PNG file
  *
- * libpng 1.0.9beta10 - January 16, 2001
+ * libpng 1.0.9beta2 - November 19, 2000
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  */
@@ -28,13 +28,6 @@
    if (!(png_ptr->mode & PNG_WROTE_INFO_BEFORE_PLTE))
    {
    png_write_sig(png_ptr); /* write PNG signature */
-#if defined(PNG_MNG_FEATURES_SUPPORTED)
-   if((png_ptr->mode&PNG_HAVE_PNG_SIGNATURE)&&(png_ptr->mng_features_permitted))
-   {
-      png_warning(png_ptr,"MNG features are not allowed in a PNG datastream\n");
-      png_ptr->mng_features_permitted=0;
-   }
-#endif
    /* write IHDR information. */
    png_write_IHDR(png_ptr, info_ptr->width, info_ptr->height,
       info_ptr->bit_depth, info_ptr->color_type, info_ptr->compression_type,
@@ -64,7 +57,7 @@
 #endif
 #if defined(PNG_WRITE_iCCP_SUPPORTED)
    if (info_ptr->valid & PNG_INFO_iCCP)
-      png_write_iCCP(png_ptr, info_ptr->iccp_name, PNG_COMPRESSION_TYPE_BASE,
+      png_write_iCCP(png_ptr, info_ptr->iccp_name, PNG_TEXT_COMPRESSION_zTXt,
                      info_ptr->iccp_profile, (int)info_ptr->iccp_proflen);
 #endif
 #if defined(PNG_WRITE_sBIT_SUPPORTED)
@@ -382,11 +375,7 @@
 
    /* write end of PNG file */
    png_write_IEND(png_ptr);
-#if 0
-/* This flush, added in libpng-1.0.8,  causes some applications to crash
-   because they do not set png_ptr->output_flush_fn */
    png_flush(png_ptr);
-#endif
 }
 
 #if defined(PNG_WRITE_tIME_SUPPORTED)
@@ -499,7 +488,7 @@
         removed from version 2.0.0 and beyond because the previous test
         would have already rejected it. */
 
-     if (user_png_ver[4] == '6' && user_png_ver[2] == '0' &&
+     if (user_png_ver[4] == '6' && user_png_ver[2] == '0' && 
          user_png_ver[0] == '1' && user_png_ver[5] == '\0')
      {
         png_error(png_ptr,
@@ -780,24 +769,6 @@
    if (png_ptr->transformations)
       png_do_write_transformations(png_ptr);
 
-#if defined(PNG_MNG_FEATURES_SUPPORTED)
-   /* Write filter_method 64 (intrapixel differencing) only if
-    * 1. Libpng was compiled with PNG_MNG_FEATURES_SUPPORTED and
-    * 2. Libpng did not write a PNG signature (this filter_method is only
-    *    used in PNG datastreams that are embedded in MNG datastreams) and
-    * 3. The application called png_permit_mng_features with a mask that
-    *    included PNG_FLAG_MNG_FILTER_64 and
-    * 4. The filter_method is 64 and
-    * 5. The color_type is RGB or RGBA
-    */
-   if((png_ptr->mng_features_permitted & PNG_FLAG_MNG_FILTER_64) &&
-      (png_ptr->filter_type == PNG_INTRAPIXEL_DIFFERENCING))
-   {
-      /* Intrapixel differencing */
-      png_do_write_intrapixel(&(png_ptr->row_info), png_ptr->row_buf + 1);
-   }
-#endif
-
    /* Find a filter if necessary, filter the row and write it out. */
    png_write_find_filter(png_ptr, &(png_ptr->row_info));
 
@@ -993,11 +964,6 @@
 png_set_filter(png_structp png_ptr, int method, int filters)
 {
    png_debug(1, "in png_set_filter\n");
-#if defined(PNG_MNG_FEATURES_SUPPORTED)
-   if((png_ptr->mng_features_permitted & PNG_FLAG_MNG_FILTER_64) &&
-      (method == PNG_INTRAPIXEL_DIFFERENCING))
-         method = PNG_FILTER_TYPE_BASE;
-#endif
    if (method == PNG_FILTER_TYPE_BASE)
    {
       switch (filters & (PNG_ALL_FILTERS | 0x07))
diff --git a/pngwtran.c b/pngwtran.c
index 6b5fc27..d0f5dd7 100644
--- a/pngwtran.c
+++ b/pngwtran.c
@@ -1,9 +1,9 @@
 
 /* pngwtran.c - transforms the data in a row for PNG writers
  *
- * libpng 1.0.9beta10 - January 16, 2001
+ * libpng 1.0.9beta2 - November 19, 2000
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  */
@@ -498,64 +498,3 @@
    }
 }
 #endif
-
-#if defined(PNG_MNG_FEATURES_SUPPORTED)
-/* undoes intrapixel differencing  */
-void /* PRIVATE */
-png_do_write_intrapixel(png_row_infop row_info, png_bytep row)
-{
-   png_debug(1, "in png_do_write_intrapixel\n");
-   if (
-#if defined(PNG_USELESS_TESTS_SUPPORTED)
-       row != NULL && row_info != NULL &&
-#endif
-       (row_info->color_type & PNG_COLOR_MASK_COLOR))
-   {
-      int bytes_per_pixel;
-      png_uint_32 row_width = row_info->width;
-      if (row_info->bit_depth == 8)
-      {
-         png_bytep rp;
-         png_uint_32 i;
-
-         if (row_info->color_type == PNG_COLOR_TYPE_RGB)
-            bytes_per_pixel = 3;
-         else if (row_info->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
-            bytes_per_pixel = 4;
-         else
-            return;
-
-         for (i = 0, rp = row; i < row_width; i++, rp += bytes_per_pixel)
-         {
-            *(rp)   = (png_byte)((*rp     - *(rp+1))&0xff);
-            *(rp+2) = (png_byte)((*(rp+2) - *(rp+1))&0xff);
-         }
-      }
-      else if (row_info->bit_depth == 16)
-      {
-         png_bytep rp;
-         png_uint_32 i;
-
-         if (row_info->color_type == PNG_COLOR_TYPE_RGB)
-            bytes_per_pixel = 6;
-         else if (row_info->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
-            bytes_per_pixel = 8;
-         else
-            return;
-
-         for (i = 0, rp = row; i < row_width; i++, rp += bytes_per_pixel)
-         {
-            png_uint_32 s0=*(rp  )<<8 | *(rp+1);
-            png_uint_32 s1=*(rp+2)<<8 | *(rp+3);
-            png_uint_32 s2=*(rp+4)<<8 | *(rp+5);
-            png_uint_32 red=(s0-s1)&0xffff;
-            png_uint_32 blue=(s2-s1)&0xffff;
-            *(rp  ) = (png_byte)((red>>8)&0xff);
-            *(rp+1) = (png_byte)(red&0xff);
-            *(rp+4) = (png_byte)((blue>>8)&0xff);
-            *(rp+5) = (png_byte)(blue&0xff);
-         }
-      }
-   }
-}
-#endif /* PNG_MNG_FEATURES_SUPPORTED */
diff --git a/pngwutil.c b/pngwutil.c
index a8ef1a4..ef81008 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,9 +1,9 @@
 
 /* pngwutil.c - utilities to write a PNG file
  *
- * libpng 1.0.9beta10 - January 16, 2001
+ * libpng 1.0.9beta2 - November 19, 2000
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  */
@@ -131,8 +131,6 @@
    /* write the rest of the 8 byte signature */
    png_write_data(png_ptr, &png_signature[png_ptr->sig_bytes],
       (png_size_t)8 - png_ptr->sig_bytes);
-   if(png_ptr->sig_bytes < 3)
-      png_ptr->mode |= PNG_HAVE_PNG_SIGNATURE;
 }
 
 #if defined(PNG_WRITE_TEXT_SUPPORTED) || defined(PNG_WRITE_iCCP_SUPPORTED)
@@ -421,24 +419,7 @@
       compression_type = PNG_COMPRESSION_TYPE_BASE;
    }
 
-   /* Write filter_method 64 (intrapixel differencing) only if
-    * 1. Libpng was compiled with PNG_MNG_FEATURES_SUPPORTED and
-    * 2. Libpng did not write a PNG signature (this filter_method is only
-    *    used in PNG datastreams that are embedded in MNG datastreams) and
-    * 3. The application called png_permit_mng_features with a mask that
-    *    included PNG_FLAG_MNG_FILTER_64 and
-    * 4. The filter_method is 64 and
-    * 5. The color_type is RGB or RGBA
-    */
-   if (
-#if defined(PNG_MNG_FEATURES_SUPPORTED)
-      !((png_ptr->mng_features_permitted & PNG_FLAG_MNG_FILTER_64) &&
-      ((png_ptr->mode&PNG_HAVE_PNG_SIGNATURE) == 0) &&
-      (color_type == PNG_COLOR_TYPE_RGB || 
-       color_type == PNG_COLOR_TYPE_RGB_ALPHA) &&
-      (filter_type == PNG_INTRAPIXEL_DIFFERENCING)) &&
-#endif
-      filter_type != PNG_FILTER_TYPE_BASE)
+   if (filter_type != PNG_FILTER_TYPE_BASE)
    {
       png_warning(png_ptr, "Invalid filter type specified");
       filter_type = PNG_FILTER_TYPE_BASE;
@@ -459,7 +440,6 @@
    png_ptr->bit_depth = (png_byte)bit_depth;
    png_ptr->color_type = (png_byte)color_type;
    png_ptr->interlaced = (png_byte)interlace_type;
-   png_ptr->filter_type = (png_byte)filter_type;
    png_ptr->width = width;
    png_ptr->height = height;
 
@@ -677,7 +657,7 @@
       return;
    }
 
-   if (compression_type != PNG_COMPRESSION_TYPE_BASE)
+   if (compression_type)
       png_warning(png_ptr, "Unknown compression type in iCCP chunk");
 
    if (profile == NULL)
@@ -685,7 +665,7 @@
 
    if (profile_len)
        profile_len = png_text_compress(png_ptr, profile, (png_size_t)profile_len,
-          PNG_COMPRESSION_TYPE_BASE, &comp);
+          PNG_TEXT_COMPRESSION_zTXt, &comp);
 
    /* make sure we include the NULL after the name and the compression type */
    png_write_chunk_start(png_ptr, (png_bytep)png_iCCP,
@@ -1092,14 +1072,13 @@
    png_size_t key_len;
    png_charp kp, dp;
    int kflag;
-   int kwarn=0;
 
    png_debug(1, "in png_check_keyword\n");
    *new_key = NULL;
 
    if (key == NULL || (key_len = png_strlen(key)) == 0)
    {
-      png_warning(png_ptr, "zero length keyword");
+      png_chunk_warning(png_ptr, "zero length keyword");
       return ((png_size_t)0);
    }
 
@@ -1116,9 +1095,9 @@
          char msg[40];
 
          sprintf(msg, "invalid keyword character 0x%02X", *kp);
-         png_warning(png_ptr, msg);
+         png_chunk_warning(png_ptr, msg);
 #else
-         png_warning(png_ptr, "invalid character in keyword");
+         png_chunk_warning(png_ptr, "invalid character in keyword");
 #endif
          *dp = ' ';
       }
@@ -1133,7 +1112,7 @@
    kp = *new_key + key_len - 1;
    if (*kp == ' ')
    {
-      png_warning(png_ptr, "trailing spaces removed from keyword");
+      png_chunk_warning(png_ptr, "trailing spaces removed from keyword");
 
       while (*kp == ' ')
       {
@@ -1146,7 +1125,7 @@
    kp = *new_key;
    if (*kp == ' ')
    {
-      png_warning(png_ptr, "leading spaces removed from keyword");
+      png_chunk_warning(png_ptr, "leading spaces removed from keyword");
 
       while (*kp == ' ')
       {
@@ -1168,7 +1147,6 @@
       else if (*kp == ' ')
       {
          key_len--;
-         kwarn=1;
       }
       else
       {
@@ -1177,19 +1155,17 @@
       }
    }
    *dp = '\0';
-   if(kwarn)
-      png_warning(png_ptr, "extra interior spaces removed from keyword");
 
    if (key_len == 0)
    {
       png_free(png_ptr, *new_key);
       *new_key=NULL;
-      png_warning(png_ptr, "Zero length keyword");
+      png_chunk_warning(png_ptr, "Zero length keyword");
    }
 
    if (key_len > 79)
    {
-      png_warning(png_ptr, "keyword length must be 1 - 79 characters");
+      png_chunk_warning(png_ptr, "keyword length must be 1 - 79 characters");
       new_key[79] = '\0';
       key_len = 79;
    }
diff --git a/projects/msvc/README.txt b/projects/msvc/README.txt
index 56a1ca9..8c4c534 100644
--- a/projects/msvc/README.txt
+++ b/projects/msvc/README.txt
@@ -1,5 +1,5 @@
 Microsoft Developer Studio Build File, Format Version 6.00 for
-libpng 1.0.9beta10 (January 16, 2001) and zlib
+libpng 1.0.9beta2 (November 19, 2000) and zlib
 
 Copyright (C) 2000 Simon-Pierre Cadieux
 For conditions of distribution and use, see copyright notice in png.h
diff --git a/projects/msvc/png.rc b/projects/msvc/png.rc
index b9ef2d6..6921983 100644
--- a/projects/msvc/png.rc
+++ b/projects/msvc/png.rc
@@ -50,18 +50,23 @@
 #  define VS_SPECIALBUILD 0
 #endif /* SPECIALBUILD */
 
-#if ((PNG_LIBPNG_BUILD_TYPE & PNG_LIBPNG_BUILD_TYPEMASK) != \
-      PNG_LIBPNG_BUILD_STABLE)
-#  define VS_PRERELEASE VS_FF_PRERELEASE
-#  define VS_PATCHED 0
+#if defined(PNG_LIBPNG_BUILD_TYPE)
+#  if (PNG_LIBPNG_BUILD_TYPE != stable)
+#    if(PNG_LIBPNG_BUILD_TYPE == patched)
+#      define VS_PATCHED VS_FF_PATCHED
+#      define VS_PRERELEASE 0
+#    else
+#      define VS_PRERELEASE VS_FF_PRERELEASE
+#      define VS_PATCHED 0
+#    endif
+#  else
+#    define VS_PRERELEASE 0
+#    define VS_PATCHED 0
+#  endif /* PNG_LIBPNG_BUILD_TYPE != stable */
 #else
 #  define VS_PRERELEASE 0
-#  if (PNG_LIBPNG_BUILD_TYPE & PNG_LIBPNG_BUILD_PATCHED)
-#    define VS_PATCHED VS_FF_PATCHED
-#  else
-#    define VS_PATCHED 0
-#  endif
-#endif
+#  define VS_PATCHED 0
+#endif /* PNG_LIBPNG_BUILD_TYPE */
 
 VS_VERSION_INFO VERSIONINFO 
 FILEVERSION PNG_LIBPNG_VER_MAJOR, PNG_LIBPNG_VER_MINOR, PNG_LIBPNG_VER_RELEASE, PNG_LIBPNG_VER_BUILD
diff --git a/projects/msvc/png32ms.def b/projects/msvc/png32ms.def
index a5c41f9..6996851 100644
--- a/projects/msvc/png32ms.def
+++ b/projects/msvc/png32ms.def
@@ -6,7 +6,7 @@
 DESCRIPTION "PNG image compression library for Windows"
 
 EXPORTS
-;Version 1.0.9beta10
+;Version 1.0.9beta2
   png_build_grayscale_palette  @1
   png_check_sig        @2
   png_chunk_error      @3
@@ -176,8 +176,3 @@
   png_write_init_2    @167
   png_access_version_number  @168
 ;  png_sig_bytes    @169
-;  png_libpng_ver    @170
-  png_init_io    @171
-  png_convert_to_rfc1123     @172
-  png_set_invalid  @173
-  png_mmx_support  @174
diff --git a/projects/wince/READMEE.WCE b/projects/wince/READMEE.WCE
index 129c517..ecfee54 100644
--- a/projects/wince/READMEE.WCE
+++ b/projects/wince/READMEE.WCE
@@ -8,9 +8,9 @@
 
 Introduction
 ============
-This is libpng 1.0.9beta10 ported to WindowsCE 2.0 and 2.11.
-libpng 1.0.9beta10 is a PNG reference library.
-See README, a document of original libpng 1.0.9beta10.
+This is libpng 1.0.9beta2 ported to WindowsCE 2.0 and 2.11.
+libpng 1.0.9beta2 is a PNG reference library.
+See README, a document of original libpng 1.0.9beta2.
 
 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.9beta10, for conditions
+See README and LICENSE, documents of original libpng 1.0.9beta2, for conditions
 of use and distribution.
 
 Files
diff --git a/projects/wince/READMEJ.WCE b/projects/wince/READMEJ.WCE
index 42c74a3..d94c9d7 100644
--- a/projects/wince/READMEJ.WCE
+++ b/projects/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.9beta10‚É
+‚»‚Ì‘¼A‚±‚̃\ƒtƒgƒEƒFƒA‚Ì—˜—pðŒ‚ɂ‚¢‚ẮAŒ´”Å‚Å‚ ‚é libpng 1.0.9beta2‚É
 €‹’‚·‚é‚à‚Ì‚Æ‚µ‚Ü‚·BÚ‚µ‚­‚́A•t‘®‚Ì README,LICENSE ‚ð‚¨“Ç‚Ý‚­‚¾‚³‚¢B
 
 Žû˜^“à—e
diff --git a/projects/wince/grep b/projects/wince/grep
deleted file mode 100644
index e69de29..0000000
--- a/projects/wince/grep
+++ /dev/null
diff --git a/projects/wince/lpngce.dsp b/projects/wince/lpngce.dsp
index 7a24bcf..b3a0b3d 100644
--- a/projects/wince/lpngce.dsp
+++ b/projects/wince/lpngce.dsp
@@ -569,6 +569,7 @@
 
 DEP_CPP_PNG_C=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
@@ -582,6 +583,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
@@ -594,6 +596,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
@@ -604,6 +607,7 @@
 
 DEP_CPP_PNG_C=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
@@ -615,6 +619,7 @@
 
 DEP_CPP_PNG_C=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
@@ -626,6 +631,7 @@
 
 DEP_CPP_PNG_C=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
@@ -637,6 +643,7 @@
 
 DEP_CPP_PNG_C=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
@@ -648,6 +655,7 @@
 
 DEP_CPP_PNG_C=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
@@ -659,6 +667,7 @@
 
 DEP_CPP_PNG_C=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
@@ -670,6 +679,7 @@
 
 DEP_CPP_PNG_C=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
@@ -681,6 +691,7 @@
 
 DEP_CPP_PNG_C=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
@@ -692,6 +703,7 @@
 
 DEP_CPP_PNG_C=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
@@ -703,6 +715,7 @@
 
 DEP_CPP_PNG_C=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
@@ -714,6 +727,7 @@
 
 DEP_CPP_PNG_C=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
@@ -725,6 +739,7 @@
 
 DEP_CPP_PNG_C=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
@@ -736,6 +751,7 @@
 
 DEP_CPP_PNG_C=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNG_C=\
@@ -758,6 +774,7 @@
 
 DEP_CPP_PNGER=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
@@ -771,6 +788,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
@@ -783,6 +801,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
@@ -793,6 +812,7 @@
 
 DEP_CPP_PNGER=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
@@ -804,6 +824,7 @@
 
 DEP_CPP_PNGER=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
@@ -815,6 +836,7 @@
 
 DEP_CPP_PNGER=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
@@ -826,6 +848,7 @@
 
 DEP_CPP_PNGER=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
@@ -837,6 +860,7 @@
 
 DEP_CPP_PNGER=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
@@ -848,6 +872,7 @@
 
 DEP_CPP_PNGER=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
@@ -859,6 +884,7 @@
 
 DEP_CPP_PNGER=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
@@ -870,6 +896,7 @@
 
 DEP_CPP_PNGER=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
@@ -881,6 +908,7 @@
 
 DEP_CPP_PNGER=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
@@ -892,6 +920,7 @@
 
 DEP_CPP_PNGER=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
@@ -903,6 +932,7 @@
 
 DEP_CPP_PNGER=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
@@ -914,6 +944,7 @@
 
 DEP_CPP_PNGER=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
@@ -925,6 +956,7 @@
 
 DEP_CPP_PNGER=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGER=\
@@ -943,6 +975,7 @@
 
 DEP_CPP_PNGGC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
@@ -956,6 +989,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
@@ -968,6 +1002,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
@@ -978,6 +1013,7 @@
 
 DEP_CPP_PNGGC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
@@ -989,6 +1025,7 @@
 
 DEP_CPP_PNGGC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
@@ -1000,6 +1037,7 @@
 
 DEP_CPP_PNGGC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
@@ -1011,6 +1049,7 @@
 
 DEP_CPP_PNGGC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
@@ -1022,6 +1061,7 @@
 
 DEP_CPP_PNGGC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
@@ -1033,6 +1073,7 @@
 
 DEP_CPP_PNGGC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
@@ -1044,6 +1085,7 @@
 
 DEP_CPP_PNGGC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
@@ -1055,6 +1097,7 @@
 
 DEP_CPP_PNGGC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
@@ -1066,6 +1109,7 @@
 
 DEP_CPP_PNGGC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
@@ -1077,6 +1121,7 @@
 
 DEP_CPP_PNGGC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
@@ -1088,6 +1133,7 @@
 
 DEP_CPP_PNGGC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
@@ -1099,6 +1145,7 @@
 
 DEP_CPP_PNGGC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
@@ -1110,6 +1157,7 @@
 
 DEP_CPP_PNGGC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGC=\
@@ -1128,6 +1176,7 @@
 
 DEP_CPP_PNGGE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
@@ -1141,6 +1190,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
@@ -1153,6 +1203,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
@@ -1163,6 +1214,7 @@
 
 DEP_CPP_PNGGE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
@@ -1174,6 +1226,7 @@
 
 DEP_CPP_PNGGE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
@@ -1185,6 +1238,7 @@
 
 DEP_CPP_PNGGE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
@@ -1196,6 +1250,7 @@
 
 DEP_CPP_PNGGE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
@@ -1207,6 +1262,7 @@
 
 DEP_CPP_PNGGE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
@@ -1218,6 +1274,7 @@
 
 DEP_CPP_PNGGE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
@@ -1229,6 +1286,7 @@
 
 DEP_CPP_PNGGE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
@@ -1240,6 +1298,7 @@
 
 DEP_CPP_PNGGE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
@@ -1251,6 +1310,7 @@
 
 DEP_CPP_PNGGE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
@@ -1262,6 +1322,7 @@
 
 DEP_CPP_PNGGE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
@@ -1273,6 +1334,7 @@
 
 DEP_CPP_PNGGE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
@@ -1284,6 +1346,7 @@
 
 DEP_CPP_PNGGE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
@@ -1295,6 +1358,7 @@
 
 DEP_CPP_PNGGE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGGE=\
@@ -1313,6 +1377,7 @@
 
 DEP_CPP_PNGME=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
@@ -1326,6 +1391,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
@@ -1338,6 +1404,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
@@ -1348,6 +1415,7 @@
 
 DEP_CPP_PNGME=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
@@ -1359,6 +1427,7 @@
 
 DEP_CPP_PNGME=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
@@ -1370,6 +1439,7 @@
 
 DEP_CPP_PNGME=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
@@ -1381,6 +1451,7 @@
 
 DEP_CPP_PNGME=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
@@ -1392,6 +1463,7 @@
 
 DEP_CPP_PNGME=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
@@ -1403,6 +1475,7 @@
 
 DEP_CPP_PNGME=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
@@ -1414,6 +1487,7 @@
 
 DEP_CPP_PNGME=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
@@ -1425,6 +1499,7 @@
 
 DEP_CPP_PNGME=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
@@ -1436,6 +1511,7 @@
 
 DEP_CPP_PNGME=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
@@ -1447,6 +1523,7 @@
 
 DEP_CPP_PNGME=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
@@ -1458,6 +1535,7 @@
 
 DEP_CPP_PNGME=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
@@ -1469,6 +1547,7 @@
 
 DEP_CPP_PNGME=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
@@ -1480,6 +1559,7 @@
 
 DEP_CPP_PNGME=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGME=\
@@ -1498,6 +1578,7 @@
 
 DEP_CPP_PNGPR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
@@ -1511,6 +1592,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
@@ -1523,6 +1605,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
@@ -1533,6 +1616,7 @@
 
 DEP_CPP_PNGPR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
@@ -1544,6 +1628,7 @@
 
 DEP_CPP_PNGPR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
@@ -1555,6 +1640,7 @@
 
 DEP_CPP_PNGPR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
@@ -1566,6 +1652,7 @@
 
 DEP_CPP_PNGPR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
@@ -1577,6 +1664,7 @@
 
 DEP_CPP_PNGPR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
@@ -1588,6 +1676,7 @@
 
 DEP_CPP_PNGPR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
@@ -1599,6 +1688,7 @@
 
 DEP_CPP_PNGPR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
@@ -1610,6 +1700,7 @@
 
 DEP_CPP_PNGPR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
@@ -1621,6 +1712,7 @@
 
 DEP_CPP_PNGPR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
@@ -1632,6 +1724,7 @@
 
 DEP_CPP_PNGPR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
@@ -1643,6 +1736,7 @@
 
 DEP_CPP_PNGPR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
@@ -1654,6 +1748,7 @@
 
 DEP_CPP_PNGPR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
@@ -1665,6 +1760,7 @@
 
 DEP_CPP_PNGPR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGPR=\
@@ -1683,6 +1779,7 @@
 
 DEP_CPP_PNGRE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
@@ -1696,6 +1793,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
@@ -1708,6 +1806,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
@@ -1718,6 +1817,7 @@
 
 DEP_CPP_PNGRE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
@@ -1729,6 +1829,7 @@
 
 DEP_CPP_PNGRE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
@@ -1740,6 +1841,7 @@
 
 DEP_CPP_PNGRE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
@@ -1751,6 +1853,7 @@
 
 DEP_CPP_PNGRE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
@@ -1762,6 +1865,7 @@
 
 DEP_CPP_PNGRE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
@@ -1773,6 +1877,7 @@
 
 DEP_CPP_PNGRE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
@@ -1784,6 +1889,7 @@
 
 DEP_CPP_PNGRE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
@@ -1795,6 +1901,7 @@
 
 DEP_CPP_PNGRE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
@@ -1806,6 +1913,7 @@
 
 DEP_CPP_PNGRE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
@@ -1817,6 +1925,7 @@
 
 DEP_CPP_PNGRE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
@@ -1828,6 +1937,7 @@
 
 DEP_CPP_PNGRE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
@@ -1839,6 +1949,7 @@
 
 DEP_CPP_PNGRE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
@@ -1850,6 +1961,7 @@
 
 DEP_CPP_PNGRE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRE=\
@@ -1868,6 +1980,7 @@
 
 DEP_CPP_PNGRI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
@@ -1881,6 +1994,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
@@ -1893,6 +2007,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
@@ -1903,6 +2018,7 @@
 
 DEP_CPP_PNGRI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
@@ -1914,6 +2030,7 @@
 
 DEP_CPP_PNGRI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
@@ -1925,6 +2042,7 @@
 
 DEP_CPP_PNGRI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
@@ -1936,6 +2054,7 @@
 
 DEP_CPP_PNGRI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
@@ -1947,6 +2066,7 @@
 
 DEP_CPP_PNGRI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
@@ -1958,6 +2078,7 @@
 
 DEP_CPP_PNGRI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
@@ -1969,6 +2090,7 @@
 
 DEP_CPP_PNGRI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
@@ -1980,6 +2102,7 @@
 
 DEP_CPP_PNGRI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
@@ -1991,6 +2114,7 @@
 
 DEP_CPP_PNGRI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
@@ -2002,6 +2126,7 @@
 
 DEP_CPP_PNGRI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
@@ -2013,6 +2138,7 @@
 
 DEP_CPP_PNGRI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
@@ -2024,6 +2150,7 @@
 
 DEP_CPP_PNGRI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
@@ -2035,6 +2162,7 @@
 
 DEP_CPP_PNGRI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRI=\
@@ -2053,6 +2181,7 @@
 
 DEP_CPP_PNGRT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
@@ -2066,6 +2195,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
@@ -2078,6 +2208,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
@@ -2088,6 +2219,7 @@
 
 DEP_CPP_PNGRT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
@@ -2099,6 +2231,7 @@
 
 DEP_CPP_PNGRT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
@@ -2110,6 +2243,7 @@
 
 DEP_CPP_PNGRT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
@@ -2121,6 +2255,7 @@
 
 DEP_CPP_PNGRT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
@@ -2132,6 +2267,7 @@
 
 DEP_CPP_PNGRT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
@@ -2143,6 +2279,7 @@
 
 DEP_CPP_PNGRT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
@@ -2154,6 +2291,7 @@
 
 DEP_CPP_PNGRT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
@@ -2165,6 +2303,7 @@
 
 DEP_CPP_PNGRT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
@@ -2176,6 +2315,7 @@
 
 DEP_CPP_PNGRT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
@@ -2187,6 +2327,7 @@
 
 DEP_CPP_PNGRT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
@@ -2198,6 +2339,7 @@
 
 DEP_CPP_PNGRT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
@@ -2209,6 +2351,7 @@
 
 DEP_CPP_PNGRT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
@@ -2220,6 +2363,7 @@
 
 DEP_CPP_PNGRT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRT=\
@@ -2238,6 +2382,7 @@
 
 DEP_CPP_PNGRU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
@@ -2251,6 +2396,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
@@ -2263,6 +2409,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
@@ -2273,6 +2420,7 @@
 
 DEP_CPP_PNGRU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
@@ -2284,6 +2432,7 @@
 
 DEP_CPP_PNGRU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
@@ -2295,6 +2444,7 @@
 
 DEP_CPP_PNGRU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
@@ -2306,6 +2456,7 @@
 
 DEP_CPP_PNGRU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
@@ -2317,6 +2468,7 @@
 
 DEP_CPP_PNGRU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
@@ -2328,6 +2480,7 @@
 
 DEP_CPP_PNGRU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
@@ -2339,6 +2492,7 @@
 
 DEP_CPP_PNGRU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
@@ -2350,6 +2504,7 @@
 
 DEP_CPP_PNGRU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
@@ -2361,6 +2516,7 @@
 
 DEP_CPP_PNGRU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
@@ -2372,6 +2528,7 @@
 
 DEP_CPP_PNGRU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
@@ -2383,6 +2540,7 @@
 
 DEP_CPP_PNGRU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
@@ -2394,6 +2552,7 @@
 
 DEP_CPP_PNGRU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
@@ -2405,6 +2564,7 @@
 
 DEP_CPP_PNGRU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGRU=\
@@ -2423,6 +2583,7 @@
 
 DEP_CPP_PNGSE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
@@ -2436,6 +2597,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
@@ -2448,6 +2610,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
@@ -2458,6 +2621,7 @@
 
 DEP_CPP_PNGSE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
@@ -2469,6 +2633,7 @@
 
 DEP_CPP_PNGSE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
@@ -2480,6 +2645,7 @@
 
 DEP_CPP_PNGSE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
@@ -2491,6 +2657,7 @@
 
 DEP_CPP_PNGSE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
@@ -2502,6 +2669,7 @@
 
 DEP_CPP_PNGSE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
@@ -2513,6 +2681,7 @@
 
 DEP_CPP_PNGSE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
@@ -2524,6 +2693,7 @@
 
 DEP_CPP_PNGSE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
@@ -2535,6 +2705,7 @@
 
 DEP_CPP_PNGSE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
@@ -2546,6 +2717,7 @@
 
 DEP_CPP_PNGSE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
@@ -2557,6 +2729,7 @@
 
 DEP_CPP_PNGSE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
@@ -2568,6 +2741,7 @@
 
 DEP_CPP_PNGSE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
@@ -2579,6 +2753,7 @@
 
 DEP_CPP_PNGSE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
@@ -2590,6 +2765,7 @@
 
 DEP_CPP_PNGSE=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGSE=\
@@ -2608,6 +2784,7 @@
 
 DEP_CPP_PNGTR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
@@ -2621,6 +2798,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
@@ -2633,6 +2811,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
@@ -2643,6 +2822,7 @@
 
 DEP_CPP_PNGTR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
@@ -2654,6 +2834,7 @@
 
 DEP_CPP_PNGTR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
@@ -2665,6 +2846,7 @@
 
 DEP_CPP_PNGTR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
@@ -2676,6 +2858,7 @@
 
 DEP_CPP_PNGTR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
@@ -2687,6 +2870,7 @@
 
 DEP_CPP_PNGTR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
@@ -2698,6 +2882,7 @@
 
 DEP_CPP_PNGTR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
@@ -2709,6 +2894,7 @@
 
 DEP_CPP_PNGTR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
@@ -2720,6 +2906,7 @@
 
 DEP_CPP_PNGTR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
@@ -2731,6 +2918,7 @@
 
 DEP_CPP_PNGTR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
@@ -2742,6 +2930,7 @@
 
 DEP_CPP_PNGTR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
@@ -2753,6 +2942,7 @@
 
 DEP_CPP_PNGTR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
@@ -2764,6 +2954,7 @@
 
 DEP_CPP_PNGTR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
@@ -2775,6 +2966,7 @@
 
 DEP_CPP_PNGTR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTR=\
@@ -2793,6 +2985,7 @@
 
 DEP_CPP_PNGVC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
@@ -2806,6 +2999,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
@@ -2818,6 +3012,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
@@ -2828,6 +3023,7 @@
 
 DEP_CPP_PNGVC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
@@ -2839,6 +3035,7 @@
 
 DEP_CPP_PNGVC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
@@ -2850,6 +3047,7 @@
 
 DEP_CPP_PNGVC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
@@ -2861,6 +3059,7 @@
 
 DEP_CPP_PNGVC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
@@ -2872,6 +3071,7 @@
 
 DEP_CPP_PNGVC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
@@ -2883,6 +3083,7 @@
 
 DEP_CPP_PNGVC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
@@ -2894,6 +3095,7 @@
 
 DEP_CPP_PNGVC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
@@ -2905,6 +3107,7 @@
 
 DEP_CPP_PNGVC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
@@ -2916,6 +3119,7 @@
 
 DEP_CPP_PNGVC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
@@ -2927,6 +3131,7 @@
 
 DEP_CPP_PNGVC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
@@ -2938,6 +3143,7 @@
 
 DEP_CPP_PNGVC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
@@ -2949,6 +3155,7 @@
 
 DEP_CPP_PNGVC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
@@ -2960,6 +3167,7 @@
 
 DEP_CPP_PNGVC=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGVC=\
@@ -2978,6 +3186,7 @@
 
 DEP_CPP_PNGWI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
@@ -2991,6 +3200,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
@@ -3003,6 +3213,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
@@ -3013,6 +3224,7 @@
 
 DEP_CPP_PNGWI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
@@ -3024,6 +3236,7 @@
 
 DEP_CPP_PNGWI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
@@ -3035,6 +3248,7 @@
 
 DEP_CPP_PNGWI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
@@ -3046,6 +3260,7 @@
 
 DEP_CPP_PNGWI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
@@ -3057,6 +3272,7 @@
 
 DEP_CPP_PNGWI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
@@ -3068,6 +3284,7 @@
 
 DEP_CPP_PNGWI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
@@ -3079,6 +3296,7 @@
 
 DEP_CPP_PNGWI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
@@ -3090,6 +3308,7 @@
 
 DEP_CPP_PNGWI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
@@ -3101,6 +3320,7 @@
 
 DEP_CPP_PNGWI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
@@ -3112,6 +3332,7 @@
 
 DEP_CPP_PNGWI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
@@ -3123,6 +3344,7 @@
 
 DEP_CPP_PNGWI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
@@ -3134,6 +3356,7 @@
 
 DEP_CPP_PNGWI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
@@ -3145,6 +3368,7 @@
 
 DEP_CPP_PNGWI=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWI=\
@@ -3163,6 +3387,7 @@
 
 DEP_CPP_PNGWR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
@@ -3176,6 +3401,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
@@ -3188,6 +3414,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
@@ -3198,6 +3425,7 @@
 
 DEP_CPP_PNGWR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
@@ -3209,6 +3437,7 @@
 
 DEP_CPP_PNGWR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
@@ -3220,6 +3449,7 @@
 
 DEP_CPP_PNGWR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
@@ -3231,6 +3461,7 @@
 
 DEP_CPP_PNGWR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
@@ -3242,6 +3473,7 @@
 
 DEP_CPP_PNGWR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
@@ -3253,6 +3485,7 @@
 
 DEP_CPP_PNGWR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
@@ -3264,6 +3497,7 @@
 
 DEP_CPP_PNGWR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
@@ -3275,6 +3509,7 @@
 
 DEP_CPP_PNGWR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
@@ -3286,6 +3521,7 @@
 
 DEP_CPP_PNGWR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
@@ -3297,6 +3533,7 @@
 
 DEP_CPP_PNGWR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
@@ -3308,6 +3545,7 @@
 
 DEP_CPP_PNGWR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
@@ -3319,6 +3557,7 @@
 
 DEP_CPP_PNGWR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
@@ -3330,6 +3569,7 @@
 
 DEP_CPP_PNGWR=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWR=\
@@ -3348,6 +3588,7 @@
 
 DEP_CPP_PNGWT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
@@ -3361,6 +3602,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
@@ -3373,6 +3615,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
@@ -3383,6 +3626,7 @@
 
 DEP_CPP_PNGWT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
@@ -3394,6 +3638,7 @@
 
 DEP_CPP_PNGWT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
@@ -3405,6 +3650,7 @@
 
 DEP_CPP_PNGWT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
@@ -3416,6 +3662,7 @@
 
 DEP_CPP_PNGWT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
@@ -3427,6 +3674,7 @@
 
 DEP_CPP_PNGWT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
@@ -3438,6 +3686,7 @@
 
 DEP_CPP_PNGWT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
@@ -3449,6 +3698,7 @@
 
 DEP_CPP_PNGWT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
@@ -3460,6 +3710,7 @@
 
 DEP_CPP_PNGWT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
@@ -3471,6 +3722,7 @@
 
 DEP_CPP_PNGWT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
@@ -3482,6 +3734,7 @@
 
 DEP_CPP_PNGWT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
@@ -3493,6 +3746,7 @@
 
 DEP_CPP_PNGWT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
@@ -3504,6 +3758,7 @@
 
 DEP_CPP_PNGWT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
@@ -3515,6 +3770,7 @@
 
 DEP_CPP_PNGWT=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWT=\
@@ -3533,6 +3789,7 @@
 
 DEP_CPP_PNGWU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
@@ -3546,6 +3803,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
@@ -3558,6 +3816,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
@@ -3568,6 +3827,7 @@
 
 DEP_CPP_PNGWU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
@@ -3579,6 +3839,7 @@
 
 DEP_CPP_PNGWU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
@@ -3590,6 +3851,7 @@
 
 DEP_CPP_PNGWU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
@@ -3601,6 +3863,7 @@
 
 DEP_CPP_PNGWU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
@@ -3612,6 +3875,7 @@
 
 DEP_CPP_PNGWU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
@@ -3623,6 +3887,7 @@
 
 DEP_CPP_PNGWU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
@@ -3634,6 +3899,7 @@
 
 DEP_CPP_PNGWU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
@@ -3645,6 +3911,7 @@
 
 DEP_CPP_PNGWU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
@@ -3656,6 +3923,7 @@
 
 DEP_CPP_PNGWU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
@@ -3667,6 +3935,7 @@
 
 DEP_CPP_PNGWU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
@@ -3678,6 +3947,7 @@
 
 DEP_CPP_PNGWU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
@@ -3689,6 +3959,7 @@
 
 DEP_CPP_PNGWU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
@@ -3700,6 +3971,7 @@
 
 DEP_CPP_PNGWU=\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGWU=\
@@ -3720,6 +3992,10 @@
 # End Source File
 # Begin Source File
 
+SOURCE=..\..\pngasmrd.h
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\pngconf.h
 # End Source File
 # End Group
diff --git a/projects/wince/png32ce.def b/projects/wince/png32ce.def
index c0adf3e..c9eddc5 100644
--- a/projects/wince/png32ce.def
+++ b/projects/wince/png32ce.def
@@ -5,7 +5,7 @@
 LIBRARY lpngce
 
 EXPORTS
-;Version 1.0.9beta10
+;Version 1.0.9beta2
   png_build_grayscale_palette  @1
   png_check_sig        @2
   png_chunk_error      @3
@@ -178,5 +178,3 @@
   png_libpng_ver    @170
   png_init_io    @171
   png_convert_to_rfc1123     @172
-  png_set_invalid  @173
-  png_mmx_support  @174
diff --git a/projects/wince/pngtest.dsp b/projects/wince/pngtest.dsp
index 5ade500..4d1da2d 100644
--- a/projects/wince/pngtest.dsp
+++ b/projects/wince/pngtest.dsp
@@ -571,6 +571,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
@@ -583,6 +584,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
@@ -595,6 +597,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
@@ -607,6 +610,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
@@ -619,6 +623,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
@@ -631,6 +636,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
@@ -643,6 +649,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
@@ -655,6 +662,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
@@ -667,6 +675,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
@@ -679,6 +688,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
@@ -691,6 +701,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
@@ -703,6 +714,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
@@ -715,6 +727,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
@@ -727,6 +740,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
@@ -739,6 +753,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
@@ -751,6 +766,7 @@
 	"..\..\..\zlib\zconf.h"\
 	"..\..\..\zlib\zlib.h"\
 	"..\..\png.h"\
+	"..\..\pngasmrd.h"\
 	"..\..\pngconf.h"\
 	
 NODEP_CPP_PNGTE=\
diff --git a/scripts/makefile.acorn b/scripts/makefile.acorn
index 470cf89..504a17f 100644
--- a/scripts/makefile.acorn
+++ b/scripts/makefile.acorn
@@ -2,40 +2,40 @@
 
 
 # Toolflags:
-CCflags = -c -depend !Depend -IC:,Zlib: -g -throwback  -DRISCOS  -fnah
+CCflags = -c -depend !Depend -IC:,Zlib: -g -throwback  -DRISCOS  -fnah 
 C++flags = -c -depend !Depend -IC: -throwback
 Linkflags = -aif -c++ -o $@
 ObjAsmflags = -throwback -NoCache -depend !Depend
 CMHGflags = 
-LibFileflags = -c -l -o $@
+LibFileflags = -c -l -o $@ 
 Squeezeflags = -o $@
 
 
 # Final targets:
 @.libpng-lib:   @.o.png @.o.pngerror @.o.pngrio @.o.pngwio @.o.pngmem \
 	@.o.pngpread @.o.pngset @.o.pngget @.o.pngread @.o.pngrtran \
-	@.o.pngrutil @.o.pngtrans @.o.pngwrite @.o.pngwtran @.o.pngwutil
+	@.o.pngrutil @.o.pngtrans @.o.pngwrite @.o.pngwtran @.o.pngwutil 
 	LibFile $(LibFileflags) @.o.png @.o.pngerror @.o.pngrio @.o.pngrtran \
 	@.o.pngmem @.o.pngpread @.o.pngset @.o.pngget @.o.pngread @.o.pngwio \
-	@.o.pngrutil @.o.pngtrans  @.o.pngwrite @.o.pngwtran @.o.pngwutil
+	@.o.pngrutil @.o.pngtrans  @.o.pngwrite @.o.pngwtran @.o.pngwutil 
 @.mm-libpng-lib:   @.mm.png @.mm.pngerror @.mm.pngrio @.mm.pngwio @.mm.pngmem \
 	@.mm.pngpread @.mm.pngset @.mm.pngget @.mm.pngread @.mm.pngrtran \
-	@.mm.pngrutil @.mm.pngtrans @.mm.pngwrite @.mm.pngwtran @.mm.pngwutil
+	@.mm.pngrutil @.mm.pngtrans @.mm.pngwrite @.mm.pngwtran @.mm.pngwutil 
 	LibFile $(LibFileflags) @.mm.png @.mm.pngerror @.mm.pngrio \
 	@.mm.pngwio @.mm.pngmem @.mm.pngpread @.mm.pngset @.mm.pngget \
 	@.mm.pngread @.mm.pngrtran @.mm.pngrutil @.mm.pngtrans @.mm.pngwrite \
-	@.mm.pngwtran @.mm.pngwutil
+	@.mm.pngwtran @.mm.pngwutil 
 
 
 # User-editable dependencies:
 # (C) Copyright 1997 Tom Tanner
-Test: @.pngtest
+Test: @.pngtest 
 	<Prefix$Dir>.pngtest
 	@remove <Prefix$Dir>.pngtest
 
 #It would be nice if you could stop "make" listing from here on!
-@.pngtest:   @.o.pngtest @.libpng-lib C:o.Stubs Zlib:zlib_lib
-	Link $(Linkflags) @.o.pngtest @.libpng-lib C:o.Stubs Zlib:zlib_lib
+@.pngtest:   @.o.pngtest @.libpng-lib C:o.Stubs Zlib:zlib_lib 
+	Link $(Linkflags) @.o.pngtest @.libpng-lib C:o.Stubs Zlib:zlib_lib 
 
 .SUFFIXES: .o .mm .c
 
diff --git a/scripts/makefile.aix b/scripts/makefile.aix
deleted file mode 100644
index 40ad862..0000000
--- a/scripts/makefile.aix
+++ /dev/null
@@ -1,84 +0,0 @@
-# makefile for libpng using gcc (generic, static library)
-# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
-# Copyright (C) 2000 Cosmin Truta
-# Copyright (C) 2000 Marc O. Gloor (AIX support added, from makefile.gcc)
-# For conditions of distribution and use, see copyright notice in png.h
-
-# Location of the zlib library and include files
-ZLIBINC = ../zlib
-ZLIBLIB = ../zlib
-
-# Compiler, linker, lib and other tools
-CC = gcc
-LD = $(CC)
-AR = ar rcs
-RANLIB = ranlib
-RM = rm -f
-
-# read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
-# have to change it.
-PNGMAJ = 2
-PNGMIN = 1.0.9beta10
-PNGVER = $(PNGMAJ).$(PNGMIN)
-
-prefix=/usr/local
-INCPATH=$(prefix)/include
-LIBPATH=$(prefix)/lib
-
-CDEBUG = -g -DPNG_DEBUG=5
-LDDEBUG =
-CRELEASE = -O2
-LDRELEASE = -s
-CFLAGS = -I$(ZLIBINC) -Wall $(CRELEASE)
-LDFLAGS = -L. -L$(ZLIBLIB) -lpng -lz -lm $(LDRELEASE)
-
-# File extensions
-O=.o
-A=.a
-E=
-
-# Variables
-OBJS = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O) \
-	pngread$(O) pngrio$(O) pngrtran$(O) pngrutil$(O) pngset$(O) \
-	pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O)
-
-# Targets
-all: libpng$(A) pngtest$(E)
-
-libpng$(A): $(OBJS)
-	$(AR) $@ $(OBJS)
-	$(RANLIB) $@
-
-test: pngtest$(E)
-	./pngtest$(E)
-
-pngtest$(E): pngtest$(O) libpng$(A)
-	$(LD) -o $@ pngtest$(O) $(LDFLAGS)
-
-install: libpng.a
-	-@if [ ! -d $(INCPATH)  ]; then mkdir $(INCPATH); fi
-	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
-	cp png.h pngconf.h $(INCPATH)
-	chmod 644 $(INCPATH)/png.h $(INCPATH)/pngconf.h
-	cp libpng.a $(LIBPATH)
-
-clean:
-	/bin/rm -f *.o libpng.a libpng.so* pngtest pngout.png
-
-png$(O): png.h pngconf.h
-pngerror$(O): png.h pngconf.h
-pngget$(O): png.h pngconf.h
-pngmem$(O): png.h pngconf.h
-pngpread$(O): png.h pngconf.h
-pngread$(O): png.h pngconf.h
-pngrio$(O): png.h pngconf.h
-pngrtran$(O): png.h pngconf.h
-pngrutil$(O): png.h pngconf.h
-pngset$(O): png.h pngconf.h
-pngtest$(O): png.h pngconf.h
-pngtrans$(O): png.h pngconf.h
-pngwio$(O): png.h pngconf.h
-pngwrite$(O): png.h pngconf.h
-pngwtran$(O): png.h pngconf.h
-pngwutil$(O): png.h pngconf.h
-
diff --git a/scripts/makefile.amiga b/scripts/makefile.amiga
index 79cb424..4587088 100644
--- a/scripts/makefile.amiga
+++ b/scripts/makefile.amiga
@@ -14,7 +14,7 @@
 #          So use V6.55 or set NOOPTGO!!!!!!!!!
 CFLAGS= NOSTKCHK PARMS=REG OPTIMIZE OPTGO OPTPEEP OPTINLOCAL OPTINL\
 	OPTLOOP OPTRDEP=4 OPTDEP=4 OPTCOMP=4 INCLUDEDIR=$(ZLIB) \
-	DEFINE=PNG_INTERNAL
+	DEFINE=PNG_INTERNAL 
 #linker flags
 LDFLAGS= SD ND BATCH
 #link libs
diff --git a/scripts/makefile.bd32 b/scripts/makefile.bd32
index 92a57ab..bc7e193 100644
--- a/scripts/makefile.bd32
+++ b/scripts/makefile.bd32
@@ -21,7 +21,7 @@
 
 CC=bcc32
 CFLAGS= -ps -O2 -N- -k- -d -r- -w-par -w-aus -I$(ZLIBDIR) \
-	-DPNG_NO_GLOBAL_ARRAYS #-DPNG_DEBUG=5
+  -DPNG_NO_GLOBAL_ARRAYS #-DPNG_DEBUG=5
 #LINK=tlink32
 #LINK=ilink32
 LINK=bcc32
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index cd96e65..26334e9 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.9beta10
+PNGMIN = 1.0.9beta2
 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 3fa5aa5..f38d701 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -2,7 +2,7 @@
 #   builds both dll (with import lib) and static lib versions
 #   of the library, and builds two copies of pngtest: one
 #   statically linked and one dynamically linked.
-#
+#   
 #   based on makefile for linux-elf w/mmx by:
 # Copyright (C) 1998-2000 Greg Roelofs
 # Copyright (C) 1996, 1997 Andreas Dilger
@@ -13,7 +13,7 @@
 
 CC=gcc
 
-# where "make install" puts libpng.a, libpng.so*, png.h, and pngconf.h
+# where "make install" puts libpng.a, libpng.so*, png.h and pngconf.h
 prefix=/usr
 
 # Where the zlib library and include files are located
@@ -33,13 +33,12 @@
 #CFLAGS=-DPNG_USE_PNGGCCRD -I$(ZLIBINC) -Wall -O3 $(ALIGN) -funroll-loops \
 #        -fomit-frame-pointer  # $(WARNMORE) -g -DPNG_DEBUG=5
 CFLAGS=-I$(ZLIBINC) -Wall -O3 $(ALIGN) -funroll-loops \
-	-fomit-frame-pointer
+        -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.9beta10
-PNGMIN_BASE = 1.0.9
+PNGMIN = 1.0.9beta2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=cygpng$(PNGMAJ).dll
@@ -61,7 +60,7 @@
 BINPATH=$(prefix)/bin
 MANPATH=$(prefix)/man
 MAN3PATH=$(MANPATH)/man3
-DOCPATH=$(prefix)/doc/libpng-$(PNGMIN_BASE)
+DOCPATH=$(prefix)/doc/libpng-$(PNGMIN)
 
 OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
 	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
@@ -87,14 +86,14 @@
 
 all-shared: $(SHAREDLIB) pngtest$(EXE)
 
-pnggccrd.o:	png.h pngconf.h
+pnggccrd.o:	png.h pngconf.h pngasmrd.h
 	@echo ""
 	@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) -DPNG_STATIC -DZLIB_STATIC -o $@ $*.c
 
-pnggccrd.pic.o:	png.h pngconf.h
+pnggccrd.pic.o:	png.h pngconf.h pngasmrd.h
 	@echo ""
 	@echo '    You can ignore the single "control reaches end of non-void function"'
 	@echo '    warning and multiple "<variable> defined but not used" warnings:'
@@ -109,7 +108,7 @@
 	cat $< | sed -e '1{G;s/^\(.*\)\(\n\)/EXPORTS/;};2,/^EXPORTS/d' > $@
 
 $(SHAREDLIB): $(OBJSDLL) $(SHAREDDEF)
-	$(LDSHARED) -o $@ $(LDEXTRA) $(OBJSDLL) -L. -L$(ZLIBLIB) -lz
+	$(LDSHARED) -o $@ $(LDEXTRA) $(OBJSDLL) -L. -L$(ZLIBLIB) -lz 
 
 pngtest$(EXE): pngtest.pic.o $(SHAREDLIB)
 	$(CC) $(CFLAGS) $< $(LDFLAGS) -o $@
@@ -133,7 +132,7 @@
 
 install: install-static install-shared
 
-install-static: $(STATLIB) install-headers install-docs install-man
+install-static: $(STATLIB) install-headers install-docs install-man 
 	-@if [ ! -d $(LIBPATH) ]; then mkdir -p $(LIBPATH); fi
 	install -m 755 $(STATLIB) $(LIBPATH)
 
@@ -165,7 +164,7 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o:		png.h pngconf.h png.c
+png.o png.pic.o:		png.h pngconf.h png.c pngasmrd.h
 pngerror.o pngerror.pic.o:	png.h pngconf.h pngerror.c
 pngrio.o pngrio.pic.o:		png.h pngconf.h pngrio.c
 pngwio.o pngwio.pic.o:		png.h pngconf.h pngwio.c
@@ -174,7 +173,7 @@
 pngget.o pngget.pic.o:		png.h pngconf.h pngget.c
 pngread.o pngread.pic.o:	png.h pngconf.h pngread.c
 pngrtran.o pngrtran.pic.o:	png.h pngconf.h pngrtran.c
-pngrutil.o pngrutil.pic.o:	png.h pngconf.h pngrutil.c
+pngrutil.o pngrutil.pic.o:	png.h pngconf.h pngrutil.c pngasmrd.h
 pngtrans.o pngtrans.pic.o:	png.h pngconf.h pngtrans.c
 pngwrite.o pngwrite.pic.o:	png.h pngconf.h pngwrite.c
 pngwtran.o pngwtran.pic.o:	png.h pngconf.h pngwtran.c
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index 136f0b7..b590c40 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -17,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.9beta10
+PNGMIN = 1.0.9beta2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 CC=cc
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index 0001f57..458af02 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -1,17 +1,13 @@
 # makefile for libpng on Linux ELF with gcc using MMX assembler code
 # Copyright 1996-1997 Andreas Dilger
-# Copyright 1998-2001 Greg Roelofs
+# Copyright 1998-2000 Greg Roelofs
 # For conditions of distribution and use, see copyright notice in png.h
 
 # CAUTION: Do not use this makefile with gcc versions 2.7.2.2 and earlier.
 
-# NOTE:  When testing MMX performance on a multitasking system, make sure
-#        there are no floating-point programs (e.g., SETI@Home) running in
-#        the background!  Context switches between MMX and FPU are expensive.
-
 CC=gcc
 
-# where "make install" puts libpng.a, libpng.so*, png.h, and pngconf.h
+# where "make install" puts libpng.a, libpng.so*, png.h and pngconf.h
 prefix=/usr/local
 
 # Where the zlib library and include files are located
@@ -30,18 +26,8 @@
 
 # for pgcc version 2.95.1, -O3 is buggy; don't use it.
 
-### for generic gcc:
 CFLAGS=-DPNG_USE_PNGGCCRD -I$(ZLIBINC) -Wall -O3 $(ALIGN) -funroll-loops \
-	-fomit-frame-pointer  # $(WARNMORE) -g -DPNG_DEBUG=5
-### for gcc 2.95.2 on 686:
-#CFLAGS=-DPNG_USE_PNGGCCRD -I$(ZLIBINC) -Wall -O3 \
-#	-mcpu=i686 -malign-double -ffast-math -fstrict-aliasing \
-#	$(ALIGN) -funroll-loops -funroll-all-loops -fomit-frame-pointer 
-### for gcc 2.7.2.3 on 486 and up:
-#CFLAGS=-DPNG_USE_PNGGCCRD -I$(ZLIBINC) -Wall -O3 \
-#	-m486 -malign-double -ffast-math \
-#	$(ALIGN) -funroll-loops -funroll-all-loops -fomit-frame-pointer 
-
+        -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
 
@@ -51,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.9beta10
+PNGMIN = 1.0.9beta2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
@@ -70,21 +56,19 @@
 
 all: libpng.a libpng.so pngtest pngtest-static
 
-pnggccrd.o:	pnggccrd.c png.h pngconf.h
+pnggccrd.o:	pnggccrd.c png.h pngconf.h pngasmrd.h
 	@echo ""
 	@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 $@ $*.c
-	@echo ""
 
-pnggccrd.pic.o:	pnggccrd.c png.h pngconf.h
+pnggccrd.pic.o:	pnggccrd.c png.h pngconf.h pngasmrd.h
 	@echo ""
 	@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) -fPIC -o $@ pnggccrd.c
-	@echo ""
 
 libpng.a: $(OBJS)
 	ar rc $@ $(OBJS)
@@ -134,7 +118,7 @@
 writelock:
 	chmod a-w *.[ch35] $(DOCS) scripts/*
 
-png.o png.pic.o:		png.h pngconf.h png.c
+png.o png.pic.o:		png.h pngconf.h png.c pngasmrd.h
 pngerror.o pngerror.pic.o:	png.h pngconf.h pngerror.c
 pngrio.o pngrio.pic.o:		png.h pngconf.h pngrio.c
 pngwio.o pngwio.pic.o:		png.h pngconf.h pngwio.c
@@ -143,7 +127,7 @@
 pngget.o pngget.pic.o:		png.h pngconf.h pngget.c
 pngread.o pngread.pic.o:	png.h pngconf.h pngread.c
 pngrtran.o pngrtran.pic.o:	png.h pngconf.h pngrtran.c
-pngrutil.o pngrutil.pic.o:	png.h pngconf.h pngrutil.c
+pngrutil.o pngrutil.pic.o:	png.h pngconf.h pngrutil.c pngasmrd.h
 pngtrans.o pngtrans.pic.o:	png.h pngconf.h pngtrans.c
 pngwrite.o pngwrite.pic.o:	png.h pngconf.h pngwrite.c
 pngwtran.o pngwtran.pic.o:	png.h pngconf.h pngwtran.c
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index d692a25..65e0eba 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.9beta10
+PNGMIN = 1.0.9beta2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # where make install puts libpng.a and png.h
diff --git a/scripts/makefile.intel b/scripts/makefile.intel
index 1cabe77..b552263 100644
--- a/scripts/makefile.intel
+++ b/scripts/makefile.intel
@@ -42,9 +42,9 @@
 
 O=.obj
 
-OBJS=png$(O) pngset$(O) pngget$(O) pngrutil$(O) pngtrans$(O) pngwutil$(O) \
-pngmem$(O) pngpread$(O) pngread$(O) pngerror$(O) pngwrite$(O) \
-pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O) pngvcrd$(O)
+OBJS=png$(O) pngset$(O) pngget$(O) pngrutil$(O) pngtrans$(O) pngwutil$(O)\
+     pngmem$(O) pngpread$(O) pngread$(O) pngerror$(O) pngwrite$(O)\
+     pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O) pngvcrd$(O)
 
 
 all: test
@@ -70,7 +70,7 @@
 pngrutil$(O): png.h pngconf.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngvcrd$(O): png.h pngconf.h
+pngvcrd$(O): png.h pngconf.h pngasmrd.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
 pngerror$(O): png.h pngconf.h
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index fcf78df..1bb8ec3 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.9beta10
+PNGMIN = 1.0.9beta2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
diff --git a/scripts/makefile.macosx b/scripts/makefile.macosx
deleted file mode 100644
index 093ea77..0000000
--- a/scripts/makefile.macosx
+++ /dev/null
@@ -1,72 +0,0 @@
-# makefile for libpng, MACOS X
-# 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
-
-# Where the zlib library and include files are located
-#ZLIBLIB=/usr/local/lib
-#ZLIBINC=/usr/local/include
-ZLIBLIB=../zlib
-ZLIBINC=../zlib
-
-CC=cc
-CFLAGS=-I$(ZLIBINC) -O # -g -DPNG_DEBUG=5
-LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz
-
-#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
-
-all: libpng.a pngtest
-
-libpng.a: $(OBJS)
-	ar rc $@  $(OBJS)
-	$(RANLIB) $@
-
-pngtest: pngtest.o libpng.a
-	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
-
-test: pngtest
-	./pngtest
-
-install: libpng.a
-	-@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
-	chmod 644 $(prefix)/lib/libpng.a
-
-clean:
-	rm -f *.o libpng.a pngtest pngout.png
-
-DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
-writelock:
-	chmod a-w *.[ch35] $(DOCS) scripts/*
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-png.o: png.h pngconf.h
-pngerror.o: png.h pngconf.h
-pngrio.o: png.h pngconf.h
-pngwio.o: png.h pngconf.h
-pngmem.o: png.h pngconf.h
-pngset.o: png.h pngconf.h
-pngget.o: png.h pngconf.h
-pngread.o: png.h pngconf.h
-pngrtran.o: png.h pngconf.h
-pngrutil.o: png.h pngconf.h
-pngtest.o: png.h pngconf.h
-pngtrans.o: png.h pngconf.h
-pngwrite.o: png.h pngconf.h
-pngwtran.o: png.h pngconf.h
-pngwutil.o: png.h pngconf.h
-pngpread.o: png.h pngconf.h
-
diff --git a/scripts/makefile.msc b/scripts/makefile.msc
index 1cbfd91..651281c 100644
--- a/scripts/makefile.msc
+++ b/scripts/makefile.msc
@@ -9,7 +9,7 @@
 #-Ox generates bad code with MSC 5.1
 CC=cl
 LD=link
-LDFLAGS=/e/st:0x1500/noe
+LDFLAGS=/e/st:0x1500/noe 
 O=.obj
 
 #uncomment next to put error messages in a file
@@ -76,7 +76,7 @@
 	lib libpng $(OBJS2);
 	lib libpng $(OBJS3);
 
-pngtest.exe: pngtest.obj libpng.lib
+pngtest.exe: pngtest.obj libpng.lib 
 	$(LD) $(LDFLAGS) pngtest.obj,,,libpng.lib ..\zlib\zlib.lib ;
 
 test: pngtest.exe
diff --git a/scripts/makefile.sco b/scripts/makefile.sco
index 83d5a3c..ff979fa 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -16,7 +16,7 @@
 ZLIBLIB=../zlib
 ZLIBINC=../zlib
 
-CFLAGS= -dy -belf -I$(ZLIBINC) -O3
+CFLAGS= -dy -belf -I$(ZLIBINC) -O3 
 LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
 
 #RANLIB=ranlib
@@ -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.9beta10
+PNGMIN = 1.0.9beta2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index 7e59147..650c6a9 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -13,14 +13,14 @@
 
 CC=gcc
 
-WARNMORE= # -g -DPNG_DEBUG=5
-CFLAGS=-I$(ZLIBINC) -O2 $(WARNMORE) -fPIC -mabi=n32
+WARNMORE=
+CFLAGS=-I$(ZLIBINC) -O2 $(WARNMORE) -fPIC -mabi=n32 # -g -DPNG_DEBUG=5
 # zlib must also be compiled with n32
 LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
 LDSHARED=gcc -shared
 
-VER=1.0.9beta10
-LIBS=libpng.so.1.0.9beta10
+VER=1.0.9beta2
+LIBS=libpng.so.1.0.9beta2
 SHAREDLIB=libpng.so
 libdir=$(prefix)/lib32
 
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index fc77353..f8e6425 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.9beta10
+PNGMIN = 1.0.9beta2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
diff --git a/scripts/makefile.vcawin32 b/scripts/makefile.vcawin32
index 812dd8f..4c05ff4 100644
--- a/scripts/makefile.vcawin32
+++ b/scripts/makefile.vcawin32
@@ -46,10 +46,10 @@
 pngrtran$(O): png.h pngconf.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngrutil$(O): png.h pngconf.h
+pngrutil$(O): png.h pngconf.h pngasmrd.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngvcrd$(O): png.h pngconf.h
+pngvcrd$(O): png.h pngconf.h pngasmrd.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
 pngerror$(O): png.h pngconf.h
@@ -84,7 +84,7 @@
 	del libpng.lib
 	lib /OUT:libpng.lib $(OBJS1) $(OBJS2) $(OBJS3)
 
-pngtest.exe: pngtest.obj libpng.lib
+pngtest.exe: pngtest.obj libpng.lib 
 	$(LD) $(LDFLAGS) pngtest.obj libpng.lib ..\zlib\zlib.lib /OUT:pngtest.exe /SUBSYSTEM:CONSOLE
 
 test: pngtest.exe
diff --git a/scripts/makefile.vcwin32 b/scripts/makefile.vcwin32
index 64b762e..a2d8e27 100644
--- a/scripts/makefile.vcwin32
+++ b/scripts/makefile.vcwin32
@@ -42,7 +42,7 @@
 pngrtran$(O): png.h pngconf.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngrutil$(O): png.h pngconf.h
+pngrutil$(O): png.h pngconf.h pngasmrd.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
 pngerror$(O): png.h pngconf.h
@@ -77,7 +77,7 @@
 	del libpng.lib
 	lib /OUT:libpng.lib $(OBJS1) $(OBJS2) $(OBJS3)
 
-pngtest.exe: pngtest.obj libpng.lib
+pngtest.exe: pngtest.obj libpng.lib 
 	$(LD) $(LDFLAGS) pngtest.obj libpng.lib ..\zlib\zlib.lib /OUT:pngtest.exe /SUBSYSTEM:CONSOLE
 
 test: pngtest.exe
diff --git a/scripts/makevms.com b/scripts/makevms.com
index b9e3895..0037326 100644
--- a/scripts/makevms.com
+++ b/scripts/makevms.com
@@ -14,7 +14,7 @@
 $   set def [-.pngminus]
 $   @makevms
 $   set def [--]
-$   exit
+$   exit 
 $ endif
 $ Make = ""
 $ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS"
@@ -54,7 +54,7 @@
 $  then
 $   dele pngtest.obj;*
 $   CALL MAKE png.OBJ "cc ''CCOPT' png" -
-	png.c png.h pngconf.h
+	png.c png.h pngconf.h   
 $   CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" -
 					 pngpread.c png.h pngconf.h
 $   CALL MAKE pngset.OBJ "cc ''CCOPT' pngset" -
@@ -90,8 +90,8 @@
 $   write sys$output "Building pngtest..."
 $   CALL MAKE pngtest.OBJ "cc ''CCOPT' pngtest" -
 	pngtest.c png.h pngconf.h
-$   call make pngtest.exe -
-	"LINK pngtest,libpng.olb/lib,''zlibsrc'libz.olb/lib" -
+$   call make pngtest.exe - 
+	"LINK pngtest,libpng.olb/lib,''zlibsrc'libz.olb/lib" - 
 	pngtest.obj libpng.olb
 $   write sys$output "Testing Libpng..."
 $   run pngtest
diff --git a/scripts/pngdef.pas b/scripts/pngdef.pas
index b7bcdab..90e381f 100644
--- a/scripts/pngdef.pas
+++ b/scripts/pngdef.pas
@@ -5,7 +5,7 @@
 interface
 
 const
-  PNG_LIBPNG_VER_STRING = '1.0.9beta10';
+  PNG_LIBPNG_VER_STRING = '1.0.9beta2';
   PNG_LIBPNG_VER        =  10009;
 
 type
@@ -209,7 +209,7 @@
   PNG_CRC_WARN_DISCARD = 2;  // (INVALID)           warn/discard data
   PNG_CRC_WARN_USE     = 3;  // warn/use data       warn/use data
   PNG_CRC_QUIET_USE    = 4;  // quiet/use data      quiet/use data
-  PNG_CRC_NO_CHANGE    = 5;  // use current value   use current value
+  PNG_CRC_NO_CHANGE    = 5;  // use current value   use current value 
 
 // Flags for png_set_filter() to say which filters to use.  The flags
 // are chosen so that they don't conflict with real filter types
@@ -241,7 +241,7 @@
   PNG_FILTER_HEURISTIC_DEFAULT    = 0;  // Currently "UNWEIGHTED"
   PNG_FILTER_HEURISTIC_UNWEIGHTED = 1;  // Used by libpng < 0.95
   PNG_FILTER_HEURISTIC_WEIGHTED   = 2;  // Experimental feature
-  PNG_FILTER_HEURISTIC_LAST       = 3;  // Not a valid value
+  PNG_FILTER_HEURISTIC_LAST       = 3;  // Not a valid value 
 
 procedure png_build_grayscale_palette(bit_depth: int; palette: png_colorp);
              stdcall;
@@ -340,7 +340,7 @@
              var unit_type: int): png_uint_32;
              stdcall;
 function png_get_sCAL(png_ptr: png_structp; info_ptr: png_infop;
-             var unit:int; var width: png_uint_32; height: png_uint_32):
+             var unit:int; var width: png_uint_32; height: png_uint_32): 
              png_uint_32;
              stdcall
 function png_get_pCAL(png_ptr: png_structp; info_ptr: png_infop;
@@ -373,7 +373,7 @@
              stdcall;
 function png_get_sRGB(png_ptr: png_structp; info_ptr: png_infop;
              var file_srgb_intent: int): png_uint_32;
-             stdcall;
+             stdcall; 
 function png_get_signature(png_ptr: png_structp; info_ptr: png_infop):
              png_bytep;
              stdcall;
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index 7d8841e..dcb9a32 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -297,11 +297,11 @@
   png_pass_dsp_mask
 ; png_pass_width
 ; png_pass_height
-  png_get_iCCP
+  png_get_iCCP 
   png_get_sCAL
-  png_get_sPLT
-  png_set_iCCP
-  png_set_sPLT
+  png_get_sPLT 
+  png_set_iCCP 
+  png_set_sPLT 
   png_free_data
 
   png_IHDR
@@ -325,6 +325,3 @@
   png_tIME
   png_tRNS
   png_zTXt
-
-  png_mmx_supported
-  png_permit_empty_plte