And here is the rest of Hirokazu Yamamoto's patch for VS6.0 support. Thanks Hiro!

(This time, it's the correct branch :)
diff --git a/PC/VC6/_msi.dsp b/PC/VC6/_msi.dsp
new file mode 100644
index 0000000..38e4ac5
--- /dev/null
+++ b/PC/VC6/_msi.dsp
@@ -0,0 +1,99 @@
+# Microsoft Developer Studio Project File - Name="_msi" - Package Owner=<4>

+# Microsoft Developer Studio Generated Build File, Format Version 6.00

+# ** DO NOT EDIT **

+

+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102

+

+CFG=_msi - Win32 Debug

+!MESSAGE This is not a valid makefile. To build this project using NMAKE,

+!MESSAGE use the Export Makefile command and run

+!MESSAGE 

+!MESSAGE NMAKE /f "_msi.mak".

+!MESSAGE 

+!MESSAGE You can specify a configuration when running NMAKE

+!MESSAGE by defining the macro CFG on the command line. For example:

+!MESSAGE 

+!MESSAGE NMAKE /f "_msi.mak" CFG="_msi - Win32 Debug"

+!MESSAGE 

+!MESSAGE Possible choices for configuration are:

+!MESSAGE 

+!MESSAGE "_msi - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")

+!MESSAGE "_msi - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")

+!MESSAGE 

+

+# Begin Project

+# PROP AllowPerConfigDependencies 0

+# PROP Scc_ProjName "_msi"

+# PROP Scc_LocalPath ".."

+CPP=cl.exe

+MTL=midl.exe

+RSC=rc.exe

+

+!IF  "$(CFG)" == "_msi - Win32 Release"

+

+# PROP BASE Use_MFC 0

+# PROP BASE Use_Debug_Libraries 0

+# PROP BASE Output_Dir "Release"

+# PROP BASE Intermediate_Dir "Release"

+# PROP BASE Target_Dir ""

+# PROP Use_MFC 0

+# PROP Use_Debug_Libraries 0

+# PROP Output_Dir "."

+# PROP Intermediate_Dir "x86-temp-release\_msi"

+# PROP Ignore_Export_Lib 0

+# PROP Target_Dir ""

+F90=df.exe

+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c

+# ADD CPP /nologo /MD /W3 /GX /Zi /O2 /I "..\..\Include" /I ".." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /YX /FD /c

+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32

+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32

+# ADD BASE RSC /l 0x409 /d "NDEBUG"

+# ADD RSC /l 0x409 /d "NDEBUG"

+BSC32=bscmake.exe

+# ADD BASE BSC32 /nologo

+# ADD BSC32 /nologo

+LINK32=link.exe

+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib fci.lib msi.lib rpcrt4.lib /nologo /subsystem:windows /dll /machine:I386

+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib fci.lib msi.lib rpcrt4.lib /nologo /base:"0x1d1a0000" /subsystem:windows /dll /debug /machine:I386 /out:"./_msi.pyd"

+# SUBTRACT LINK32 /pdb:none

+

+!ELSEIF  "$(CFG)" == "_msi - Win32 Debug"

+

+# PROP BASE Use_MFC 0

+# PROP BASE Use_Debug_Libraries 1

+# PROP BASE Output_Dir "Debug"

+# PROP BASE Intermediate_Dir "Debug"

+# PROP BASE Target_Dir ""

+# PROP Use_MFC 0

+# PROP Use_Debug_Libraries 1

+# PROP Output_Dir "."

+# PROP Intermediate_Dir "x86-temp-debug\_msi"

+# PROP Ignore_Export_Lib 0

+# PROP Target_Dir ""

+F90=df.exe

+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c

+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\Include" /I ".." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /YX /FD /c

+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32

+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32

+# ADD BASE RSC /l 0x409 /d "_DEBUG"

+# ADD RSC /l 0x409 /d "_DEBUG"

+BSC32=bscmake.exe

+# ADD BASE BSC32 /nologo

+# ADD BSC32 /nologo

+LINK32=link.exe

+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib fci.lib msi.lib rpcrt4.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept

+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib fci.lib msi.lib rpcrt4.lib /nologo /base:"0x1d1a0000" /subsystem:windows /dll /debug /machine:I386 /out:"./_msi_d.pyd" /pdbtype:sept

+# SUBTRACT LINK32 /pdb:none

+

+!ENDIF 

+

+# Begin Target

+

+# Name "_msi - Win32 Release"

+# Name "_msi - Win32 Debug"

+# Begin Source File

+

+SOURCE=..\..\PC\_msi.c

+# End Source File

+# End Target

+# End Project

diff --git a/PC/VC6/build_ssl.py b/PC/VC6/build_ssl.py
index 74f0383..737b397 100644
--- a/PC/VC6/build_ssl.py
+++ b/PC/VC6/build_ssl.py
@@ -8,7 +8,7 @@
 #   directory.  It is likely you will already find the zlib library and
 #   any other external packages there.
 # * Install ActivePerl and ensure it is somewhere on your path.
-# * Run this script from the PCBuild directory.
+# * Run this script from the PC/VC6 directory.
 #
 # it should configure and build SSL, then build the ssl Python extension
 # without intervention.
diff --git a/PC/VC6/pcbuild.dsw b/PC/VC6/pcbuild.dsw
index bd3718d..e236a6c 100644
--- a/PC/VC6/pcbuild.dsw
+++ b/PC/VC6/pcbuild.dsw
@@ -57,6 +57,21 @@
 

 ###############################################################################

 

+Project: "_msi"=".\_msi.dsp" - Package Owner=<4>

+

+Package=<5>

+{{{

+}}}

+

+Package=<4>

+{{{

+    Begin Project Dependency

+    Project_Dep_Name pythoncore

+    End Project Dependency

+}}}

+

+###############################################################################

+

 Project: "_socket"=".\_socket.dsp" - Package Owner=<4>

 

 Package=<5>

@@ -288,3 +303,4 @@
 

 ###############################################################################

 

+

diff --git a/PC/VC6/python.dsp b/PC/VC6/python.dsp
index 9135348..c94746d 100644
--- a/PC/VC6/python.dsp
+++ b/PC/VC6/python.dsp
@@ -77,6 +77,11 @@
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept

 # ADD LINK32 odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /base:"0x1d000000" /subsystem:console /debug /machine:I386 /out:"./python_d.exe" /pdbtype:sept

 # SUBTRACT LINK32 /pdb:none

+# Begin Special Build Tool

+SOURCE="$(InputPath)"

+PostBuild_Desc=Changing stack size...

+PostBuild_Cmds=editbin /STACK:0x200000 python_d.exe

+# End Special Build Tool

 

 !ENDIF 

 

diff --git a/PC/VC6/pythoncore.dsp b/PC/VC6/pythoncore.dsp
index 3478561..858619c 100644
--- a/PC/VC6/pythoncore.dsp
+++ b/PC/VC6/pythoncore.dsp
@@ -54,7 +54,7 @@
 # ADD BSC32 /nologo

 LINK32=link.exe

 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386

-# ADD LINK32 largeint.lib kernel32.lib user32.lib advapi32.lib shell32.lib /nologo /base:"0x1e000000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"libc" /out:"./python26.dll"

+# ADD LINK32 largeint.lib kernel32.lib user32.lib advapi32.lib shell32.lib /nologo /base:"0x1e000000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"libc" /out:"./python30.dll"

 # SUBTRACT LINK32 /pdb:none

 

 !ELSEIF  "$(CFG)" == "pythoncore - Win32 Debug"

@@ -82,7 +82,7 @@
 # ADD BSC32 /nologo

 LINK32=link.exe

 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept

-# ADD LINK32 largeint.lib kernel32.lib user32.lib advapi32.lib shell32.lib /nologo /base:"0x1e000000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"libc" /out:"./python26_d.dll" /pdbtype:sept

+# ADD LINK32 largeint.lib kernel32.lib user32.lib advapi32.lib shell32.lib /nologo /base:"0x1e000000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"libc" /out:"./python30_d.dll" /pdbtype:sept

 # SUBTRACT LINK32 /pdb:none

 

 !ENDIF 

@@ -129,6 +129,10 @@
 # End Source File

 # Begin Source File

 

+SOURCE=..\..\Modules\_fileio.c

+# End Source File

+# Begin Source File

+

 SOURCE=..\..\Modules\_functoolsmodule.c

 # End Source File

 # Begin Source File

@@ -197,6 +201,10 @@
 # End Source File

 # Begin Source File

 

+SOURCE=..\..\Modules\atexitmodule.c

+# End Source File

+# Begin Source File

+

 SOURCE=..\..\Modules\audioop.c

 # End Source File

 # Begin Source File

@@ -217,6 +225,14 @@
 # End Source File

 # Begin Source File

 

+SOURCE=..\..\Objects\bytes_methods.c

+# End Source File

+# Begin Source File

+

+SOURCE=..\..\Objects\bytesobject.c

+# End Source File

+# Begin Source File

+

 SOURCE=..\..\Objects\cellobject.c

 # End Source File

 # Begin Source File

@@ -245,7 +261,7 @@
 # End Source File

 # Begin Source File

 

-SOURCE=..\..\Modules\collectionsmodule.c

+SOURCE=..\..\Modules\_collectionsmodule.c

 # End Source File

 # Begin Source File

 

@@ -281,6 +297,14 @@
 # End Source File

 # Begin Source File

 

+SOURCE=..\..\Modules\zlib\gzio.c

+# End Source File

+# Begin Source File

+

+SOURCE=..\..\Modules\zlib\infback.c

+# End Source File

+# Begin Source File

+

 SOURCE=..\..\Objects\descrobject.c

 # End Source File

 # Begin Source File

@@ -317,6 +341,10 @@
 # End Source File

 # Begin Source File

 

+SOURCE=..\..\Parser\firstsets.c

+# End Source File

+# Begin Source File

+

 SOURCE=..\..\Objects\floatobject.c

 # End Source File

 # Begin Source File

@@ -325,6 +353,10 @@
 # End Source File

 # Begin Source File

 

+SOURCE=..\..\Python\formatter_unicode.c

+# End Source File

+# Begin Source File

+

 SOURCE=..\..\Python\frozen.c

 # End Source File

 # Begin Source File

@@ -386,11 +418,11 @@
 # End Source File

 # Begin Source File

 

-SOURCE=..\..\Parser\grammar1.c

+SOURCE=..\..\Parser\grammar.c

 # End Source File

 # Begin Source File

 

-SOURCE=..\..\Modules\imageop.c

+SOURCE=..\..\Parser\grammar1.c

 # End Source File

 # Begin Source File

 

@@ -451,10 +483,6 @@
 # End Source File

 # Begin Source File

 

-SOURCE=..\..\Modules\md5.c

-# End Source File

-# Begin Source File

-

 SOURCE=..\..\Modules\md5module.c

 # End Source File

 # Begin Source File

@@ -463,6 +491,10 @@
 # End Source File

 # Begin Source File

 

+SOURCE=..\..\Objects\memoryobject.c

+# End Source File

+# Begin Source File

+

 SOURCE=..\..\Objects\methodobject.c

 # End Source File

 # Begin Source File

@@ -547,6 +579,10 @@
 # End Source File

 # Begin Source File

 

+SOURCE=..\..\Python\pystrcmp.c

+# End Source File

+# Begin Source File

+

 SOURCE=..\..\Python\pystrtod.c

 # End Source File

 # Begin Source File

@@ -567,10 +603,6 @@
 # End Source File

 # Begin Source File

 

-SOURCE=..\..\Modules\rgbimgmodule.c

-# End Source File

-# Begin Source File

-

 SOURCE=..\..\Modules\rotatingtree.c

 # End Source File

 # Begin Source File

@@ -587,7 +619,7 @@
 # End Source File

 # Begin Source File

 

-SOURCE=..\..\Modules\shamodule.c

+SOURCE=..\..\Modules\sha1module.c

 # End Source File

 # Begin Source File

 

@@ -647,6 +679,10 @@
 # End Source File

 # Begin Source File

 

+SOURCE=..\..\Modules\zlib\uncompr.c

+# End Source File

+# Begin Source File

+

 SOURCE=..\..\Objects\tupleobject.c

 # End Source File

 # Begin Source File

diff --git a/PC/VC6/readme.txt b/PC/VC6/readme.txt
index cfa549f..79262ab 100644
--- a/PC/VC6/readme.txt
+++ b/PC/VC6/readme.txt
@@ -199,12 +199,10 @@
         http://www.activestate.com/Products/ActivePerl/
     as this is used by the OpenSSL build process.  Complain to them <wink>.
 
-    The MSVC project simply invokes PCBuild/build_ssl.py to perform
+    The MSVC project simply invokes PC/VC6/build_ssl.py to perform
     the build.  This Python script locates and builds your OpenSSL
     installation, then invokes a simple makefile to build the final .pyd.
 
-    Win9x users:  see "Win9x note" below.
-
     build_ssl.py attempts to catch the most common errors (such as not
     being able to find OpenSSL sources, or not being able to find a Perl
     that works with OpenSSL) and give a reasonable error message.
@@ -216,30 +214,6 @@
     build_ssl.py/MSVC isn't clever enough to clean OpenSSL - you must do
     this by hand.
 
-    Win9x note:  If, near the start of the build process, you see
-    something like
-
-        C:\Code\openssl-0.9.6g>set OPTS=no-asm
-        Out of environment space
-
-    then you're in trouble, and will probably also see these errors near
-    the end of the process:
-
-        NMAKE : fatal error U1073: don't know how to make
-            'crypto\md5\asm\m5_win32.asm'
-        Stop.
-        NMAKE : fatal error U1073: don't know how to make
-            'C:\Code\openssl-0.9.6g/out32/libeay32.lib'
-        Stop.
-
-    You need more environment space.  Win9x only has room for 256 bytes
-    by default, and especially after installing ActivePerl (which fiddles
-    the PATH envar), you're likely to run out.  KB Q230205
-
-        http://support.microsoft.com/default.aspx?scid=KB;en-us;q230205
-
-    explains how to edit CONFIG.SYS to cure this.
-
 
 YOUR OWN EXTENSION DLLs
 -----------------------