Disclaimer
==========

THIS DRIVER IS SUPPLIED TO YOU FOR NO CHARGE, "AS-IS" AND WITH NO 
WARRANTY OF ANY KIND WHATSOEVER.  USE OF THIS DRIVER IS ENTIRELY
AT YOUR OWN RISK AND THE SUPPLIER WILL NOT BE HELD LIABLE FOR ANY
LOSSES HOWSOEVER INCURRED, DIRECT OR CONSEQUENTIAL, THROUGH ITS 
USE OR ABUSE, INCLUDING (BUT NOT LIMITED TO) DATA LOSS ON CD-ROMS 
OR HARD-DRIVES AND INABILITY TO BOOT YOUR COMPUTER.

IF YOU DO NOT AGREE TO THESE TERMS, DO NOT ATTEMPT TO INSTALL THE DRIVER!


Introduction
============

This is the readme file for the patched SCSICDRM.SYS driver 
for Windows/NT v3.51.

This cdrom driver replaces the one from Microsoft and enables you to 
use Yamaha recorders as CD-ROM stations (reader). GEAR must be set
to WINASPI or Cyclical buffer to be able to find the recorder after
installing the driver! See the release notes of GEAR for further details.

This driver also solves the problem of reading multi-session discs with
the following recorders:

PHILIPS CDD2000
Plasmon CDR4220
HP Surestore
Grundig CDR100IPW


Installation
============

(Note: This driver is built for i386 systems.)

It is assumed that your copy of Windows/NT is installed in C:\WINNT.
Please substitute the correct path in the instructions below.

1. Change directory to the C:\WINNT\SYSTEM32\DRIVERS directory.
2. Rename the existing SCSICDRM.SYS file as SCSICDRM.OLD (or
   choose any other suitable filename)
3. Copy the version of SCSICDRM.SYS supplied to the
   C:\WINNT\SYSTEM32\DRIVERS directory.
4. Restart Windows/NT.
5. Try to read from a CD...


Use with Windows/NT 4.0
=======================

Microsoft has changed the name of the scsicdrm.sys file to cdrom.sys
starting with Windows/NT v4.0 beta 1 (build 1234).  The above instructions
are still valid, but substitute "cdrom" whereever you see "scsicdrm", and you
will also need to rename the modified driver to cdrom.sys.

Please note also that use of this driver in place of the original Microsoft
version will result in the loss of the "AutoRun" function (where the driver
notifies the operating system when the media is changed, allowing programs
to be automatically started).

Also the reading of file or directories with lower case and spaces in their
name will not work (as it didn't work in Windows NT 3.51).



GEAR does not see a CD-ROM type station solution:
=================================================

You can also disable the reader driver for a recorder which is seen by
the system as a CD-ROM, and therefore prevents GEAR to see it as a recorder
when GEAR is set to the miniport driver (default setting):

Here's how to make entries in the registry to configure the driver. (Note 
that you do not need to make any registry entries in order to have the
driver handle the Hp4020i, Philips CDD2000 / CDD522, Grundig, Plasmon and
Yamaha CDR100 drives.  You can put entries in the registry if you want to
disable the driver's handlng of any/all of the known drives.)

The registry entries are designed to (hopefully) not conflict with any 
registry entries that Microsoft may add to the scsicdrm driver in the
future.  Also, the design copes with an arbitrary number of cdrom devices
in your system.

To make the registry changes, you need to use the REGEDT32.EXE program that
ships with Windows/NT.  Note that it is quite possible to render your system
unbootable by misusing this utility: so please be very careful!  If you
are unsure about what you're doing, get advice first!

When REGEDT32 has started, locate the window called HKEY_LOCAL_MACHINE. 
The registry is analogous to the directory structure of a hard disk.  You
"open folders" to navigate down to the appropriate level.  So, keep double
clicking on folders ("keys") until you have opened up this hierarchy:

  HKEY_LOCAL_MACHINE
    SYSTEM
      CurrentControlSet
        Services
          Scsicdrm

(Note that, under Windows/NT v4.0 you should look for "cdrom" wherever you
see "scsicdrm" in this note.)

Now, click on Scsicdrm and go to the EDIT menu.  Click on "Add Key".  
Type in the key name "SpecialHandling" (you do not need to specify a class)
and press Ok.  You should see a new SpecialHandling key appear below
scsicdrm.  Click on the new SpecialHandling key and again choose "Add Key"
from the Edit menu.  Enter a key name "0" (that's a zero) and no class, and
press Ok.

Now click on the new "0" key, and choose "Add Value" from the Edit menu.
Type "Identifier" as the name, and choose REG_SZ as the data type.  Press Ok.
The "String Editor" dialog should appear.  Type in the exact SCSI identification
sequence that your drive returns (for example, the HP4020i drive returns this
string: "HP      C4324/C4325").  Be careful to type in this string exactly,
including the correct number of spaces and preserving the case of the characters.

If your drive does not report itself as being a Cdrom Peripheral, you will have to
add another "Type" value, indicating the scsi type of the drive.  For example,
to detect the Philips CDD522 drive (which reports itself as being a WORM peripheral),
you would add these two values:
  Identifier = PHILIPS CDD522
  Type       = 4
(WORM drives are "Type 4" scsi peripherals).  If no "Type" value is present, it 
defaults to 5, meaning "Cdrom Peripheral".  Note that the Type value must be a
REG_DWORD when you create it in regedt32.

If you are lucky, after closing regedt32 and rebooting, you will now be able to
access your drive under Windows/NT.

If you have more that one drive, you can add further keys under the "SpecialHandling"
key.  The first drive's settings are in key "0", the second drive is in key "1", the
third in key "2", etc..  You can have as many of these keys as you like but there can
be no gaps: if you have key "2", it won't be recognised unless keys "0" and "1" both
exist.

There are four possible value entries that you can create in each drive key.  Here 
are details of all of them:


  Identifier : REG_SZ
    This is the SCSI identification string of the device that you want to 
    be handled by the scsicdrm.sys driver.  This value is matched against the
    start of the scsi identification string returned by the drive.  For example, 
    the HP4020i drive returns "HP      C4324/C4325".  
    Any of the following strings will match this:  
       "HP", 
       "HP      ", 
       "HP      C4324", 
       "HP      C4324/C4325".
    Enter enough characters to uniquely identify the drive on your system


  Type : REG_DWORD
    Defaults to 5 (meaning CDROM) if not present.  If you want to detect your
    WORM drive, you must create a Type entry with a value of 4.


  Enabled : REG_DWORD
    Defaults to 1 if not present.  If this value is zero, these settings will
    be ignored and no special handling will occur.  Note that setting this
    value to zero will NOT disable the hard-coded support for drives such as
    the HP4020i.  (To do that, refer to bit #3 of the Settings value.)


  Settings : REG_DWORD
    Defaults to 4 if not present.  This value is a bitmask.  Do not set any
    bits that are not documented: they may be used in future versions.
    To set bits, sum the required values.  Thus to set bits 0, 1 and 2, the
    value to use is 1+2+4 = 7.

       Bit  Value   Description
       ===  =====   ===========
        0 :   1   : Fakes a blocksize of 2048 bytes, irrespective of
                    what the drive reports.
        1 :   2   : Performs HP4020i multisession "fudging" on the returned 
                    scsi table-of-contents data so that the data is
                    in a form suitable for Windows/NT.  This "fudging" is
                    appropriate to Philips CDD2000 derived drives, and the
                    Philips CDD522 drive.  It may be useless for other
                    drives.
        2 :   4   : Disable built-in special-case handling of certain drives.
                    Unless this bit is set, the hard-coded special-case handling
                    of the HP4020i, Philips CDD2000 / CDD522, Grundig CDR100IPW,
                    IPW CDD2000 and Yamaha CDR100 will be performed.
                    That is, bits 0 and 1 will be ignored if this bit is 0.
        3 :   8   : If this bit is set, scsicdrm will not claim the drive for
                    itself.  That is, if you set this bit the drive will not
                    be handled as a cdrom device.  This setting may be of
                    particular use with the GEAR program.


Example:

Assume that I have an HP4020i drive that I wish to use with GEAR and which I 
therefore wish to prevent the scsicdrm.sys driver from claiming.  Also assume
that I have a CDR123 Worm drive from the XYZ Corporation that I wish to use as
a cdrom.  And, assume that "Crew Computers" rebadge the Philips CDD2000 as the
"Crew CDR4422X" drive. I could therefore setup the following in the registry:

  HKEY_LOCAL_MACHINE
    SYSTEM
      CurrentControlSet
        Services
          Scsicdrm
            SpecialHandling
              0
                Identifier : REG_SZ  = "HP      C4324/C4325"
                Settings : REG_DWORD = 8
              1
                Identifier : REG_SZ = "XYZ     CDR123"
                Type : REG_DWORD = 4
              2
                Identifier : REG_SZ = "CREW    CDR4422X"
                Settings : REG_DWORD = 3


Please note that there are no guarantees: if you use the above methods to enable
scsicdrm to control your drive, Windows/NT may still not be able to read from
your drive!  It may work partially (like being able to see only the first session).
In that case the CD-Recorder/CD-ROM reader is not 100% compatible with the
Windows/NT CD-ROM manager.



