IOPATCH v1.2, (c)1999 by Gary Tong, g.t@mailcity.com

This program will patch IO.SYS on either a Windows 95 OSR2 or a Windows 98
(i.e. MS-DOS 7.1 FAT32) bootable floppy for use as a boot image on bootable
CD-ROMs.


* So what's the point?

When booting from a CD-ROM, your boot image must load a CD-ROM driver in order
to be able to read any files on the portion of the CD beyond the boot image.
This is typically done by loading a DOS CD-ROM driver in your boot image's
CONFIG.SYS file like this:

   DEVICE=CDROM.SYS /D:MSCD000

The problem is that loading the CD-ROM driver resets the drive, and some
CD-ROM drives take several seconds to reset, during which time your booting 
CD is unreadable.  Therefore, when CONFIG.SYS tries to load any additional
device drivers and your command-line interpreter shell, such as COMMAND.COM,
it can't find them and you get an error message like:

   The following file is missing or corrupted:...

Needless to say, your CD doesn't completely boot.


* How does this patch work?

==> IOPATCH modifies your MS-DOS 7.1 bootable floppy's IO.SYS so that the boot
process will wait until the disk is readable before loading each device driver
and before loading the command-line interpreter shell. <==

Please make sure your floppy boots correctly before applying this patch.

IOPATCH also modifies the first line of text displayed when the disk boots to
remind you that you are using a customized version of IO.SYS.  For example, if
the first line of text you see when booting your floppy before applying the
patch is this:

   Starting Windows 98...

This is what you will see after applying the patch:

   Windows 98 CD-ROM Boot

Note: If you are patching a non-English language version of IO.SYS, IOPATCH
might not alter this opening line of text, although the rest of the patch
should run correctly.


* How do I install and run IOPATCH?

To install, simply unzip the archive file into any convenient directory.

IOPATCH will run in a Windows DOS box, or can be run in DOS directly.  It
requires the DOS command ATTRIB.EXE to alter IO.SYS's file attributes during
the patching process.  If IOPATCH gives you a "Bad command or file name" error
message, you don't have ATTRIB.EXE.

IOPATCH will only modify the IO.SYS file on your A: drive.


* Why will it patch only an MS-DOS 7.1 boot floppy?

I wanted to be able to boot a CD capable of accessing FAT32 hard drives.
Needless to say, I was a bit peeved after spending countless hours trying to 
make bootable CDs that weren't.  So I decided to learn a little assembly code
and trace the boot process to determine the real cause of the problem.  I've
tested this patch on boot floppies made in Windows 95 OSR2, Windows 98, and
Windows 98 SE, and so far it has worked fine for me.


* How much does IOPATCH cost, and what kind of support comes with it?

IOPATCH is freeware - that is, feel free to make copies of it and pass them
along to anyone who might benefit from its use.  I ask only that you keep the
original archive file intact so that it contains both the IOPATCH executable
and this README file.

Keep in mind that this is something I hacked together in my spare time to cure
a problem that was annoying for me, so there are no guarantees and don't
expect any 24/7 tech support for it :-).  If making a bootable CD was such a
PITA for me, then it probably is for other people too, so I'm releasing this
patch in the hopes that somebody else may find it useful as well.

If you really like IOPATCH, or if you find any bugs with it, I'd be curious to
get your feedback, so e-mail your rants and raves to the address given above.

Hope you find this helpful.

Cheers,
Gary


--- VERSION HISTORY ---

v1.1 = First public release, designed to patch the U.S. versions of IO.SYS
   from Windows 95 OSR2 and Windows 98 SE.

v1.2 = Rewrote the patching algorithm to make its operation more generic.
   That is, it should now be able to patch International versions of MS-DOS
   7.1 FAT32 IO.SYS in addition to the specific U.S. versions above.
