
JJSCDROM.DMD (JJ20000508) - modified OS/2 CD-ROM DMD
              with CD-DA digital readout / CD-XA / multisessioning enhancement


Description:

  This is a modified OS/2 CD-ROM device manager driver based on latest DDK
  Online source. It will be work on OS/2 2.x or later.

  My enhancements are:

  - Added per-drive-basis "feature forcing" features. They force:
    = to turn on "CD-DA/XA readable/multisessioning-aware" flags
    = vendor-specific SCSI CD-DA/XA/multisessioning methods
  - Added "WORM-to-CD-ROM treatment" feature.
  - Fixed slow audio initialization problem of some Plextor SCSI drives.
  - Added "ignore drive" feature.
  - Enriched /V option output.


CONFIG.SYS syntax:

  DEVICE=d:\OS2\BOOT\JJSCDROM.DMD [options]


Option diagram:

  ----+- /Q ------+-+--- /F[C[+|S|T]|X[+|T|S|N]|M[+|T|S|C|N|H]] -+---->
    ^ +- /V --->^ | | ^                                          | ^
    | +- /R:n ->| | | +------------------------------------------+ |
    | +- /S --->| | +----------------------------------------------+
    | +- /W --->| |
    | +---------+ |
    +-------------+

  --+--- /U:n -+--- /F[C[+|S|T]|X[+|T|S|N]|M[+|T|S|C|N|H]] -+---+---->
    | ^        | ^                                          | ^ | ^
    | |        | +------------------------------------------+ | | |
    | |        +- /I -----------------------------------------+ | |
    | +---------------------------------------------------------+ |
    +-------------------------------------------------------------+


Option descriptions:

  /Q   : displays no messages if not installed
  /V   : displays CD-ROM unit information
  /R:n : skips driveletter allocation over specified count
  /S   : assigns 1 driveletter only for ATAPI changer units
  /W   : treats WORM units as CD-ROM
  /U:n : specifies drive number (0 based) for /F and /I
  /Fxx : forces CD-DA/XA/multisessioning treatments
         without /U, applies to all drives
    /FC+ : forces to turn on "CD-DA readable" flag
    /FCS : forces Sony CDU-561 compatible SCSI CD-DA readout method
    /FCT : forces Toshiba XM-3401 compatible SCSI CD-DA readout method
    /FC  : same as /FC+ /FCS
    /FX+ : forces to turn on "CD-XA readable" flag
    /FXT : forces Toshiba XM-3401 compatible SCSI CD-XA readout method
    /FXS : forces Sony CDU-561 compatible SCSI CD-XA readout method
    /FXN : forces NEC 84-1 compatible SCSI CD-XA readout method
    /FX  : same as /FX+ /FXS
    /FM+ : forces to turn on "multisessioning-aware" flag
    /FMT : forces Toshiba XM-3401 compatible SCSI multisessioning method
    /FMS : forces Sony CDU-561 compatible SCSI multisessioning method
    /FMC : forces Chinon CDS-535 compatible SCSI multisessioning method
    /FMN : forces NEC 84-1 compatible SCSI multisessioning method
    /FMH : forces HP C4324 compatible SCSI multisessioning method
    /FM  : same as /FM+ /FMS
    /F   : same as /FC+ /FCS /FX+ /FXS /FM+ /FMS
  /I   : ignores drive (no driveletter assignment)


Startup output description:

  IBM OS/2 JJSCDROM.DMD (960528) (JJ20000508)
  ui : di-ai-un-l : vendor   product          rev  da xa ms
  00 : 02-00-03-0 : TEAC     CD-ROM CD-532S   3.0A +S +S +S
  01 : 02-00-04-0 : TOSHIBA  CD-ROM XM-3501TA 2694 +- +- +-
  02 : 02-00-05-0 : SONY     CD-R   CDU948S   1.0k +- +- +-
  ^^   ^^ ^^ ^^ ^   ^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^ ^^
  |    |  |  |  |   |        |                |    || || ||
  a    b  c  d  e   f        g                h    ij kl mn

  a       : # of CD-ROM unit index, for /U option
  b       : # of adapter device driver index installed
  c       : # of adapter index controlled by each adapter device driver
  d       : physical unit number connected to each adapter
                                          and detected as CD-ROM (or WORM)
  e       : logical unit number in each physical unit
  f, g, h : device inquiry strings
  i       : + if "CD-DA readable" flag is turned on
  j       : SCSI CD-DA readout method forced [S/T]
            - if not forced
  k       : + if "CD-XA readable" flag is turned on
  l       : SCSI CD-XA readout method forced [T/S/N]
            - if not forced
  m       : + if "multisessioning-aware" flag is turned on
  n       : SCSI multisessioning method forced [T/S/C/N/H]
            - if not forced


Some considerations:

  - For SCSI drives:

    Use /FCx, /FXx and /FMx with /FC+, /FX+ and /FM+.
    All SCSI drives OS2CDROM.DMD (and JJSCDROM.DMD without /Fxx) don't know
    will lack CD-DA/XA/multisessioning capabilities because CD-DA/XA/
    multisessioning check/procedure of SCSI drives are almost vendor-specific.
    However, at glance, it seems Sony method is de-facto standard.

  - For ATAPI drives:

    Use /FC+, /FX+ and /FM+.
    All ATAPI drives should be based on standard specifications but some
    drives claim faulty CD-DA/XA/multisessioning capability information.

  - For proprietary (!SCSI & !ATAPI) drives:

    Completely vendor-dependent. Use /FC+, /FX+ and /FM+ but almost incapable.


Examples:

  - Uses a Sony CDU-561 compatible CD-ROM unit, but cannot be recognized
    CD-DA/XA readout/multisessioning feature by standard OS2CDROM.DMD

      DEVICE=d:\OS2\BOOT\JJSCDROM.DMD /F

  - Uses 3 CD-ROM units, one (unit #0) IDE ATAPI drive, one (unit #1) Toshiba
    SCSI OEM-version (non-Toshiba SCSI inquiry) drive and (unit #2) Sony
    CDU-561 compatible SCSI

      DEVICE=d:\OS2\BOOT\JJSCDROM.DMD /U:1 /FC+ /FCT /FX+ /FXT /FM+ /FMT
                                                                       /U:2 /F

  - Uses WORM-style SCSI CD-R as CD-ROM, such as Yamaha CDR102

      DEVICE=d:\OS2\BOOT\JJSCDROM.DMD /W

  - Ignores 2nd CD-ROM unit for other CD-ROM driver/filesystem such as
    RSJ CD-Writer CDWFS or Pegasus-OFS

      DEVICE=d:\OS2\BOOT\JJSCDROM.DMD /U:2 /I


Feedback:

  Email to Takayuki 'January June' Suwa, mailto:jjsuwa@sys3175.com.
  My motto: "Email to me or your mailer will cause SYS3175."


Acknowledgments:

  - Atsushi Nishio (anishio@yamato.ibm.co.jp), predecessor modifing CD-DA
    readout feature. I referred how to enable CD-DA readout/multisessioning
    capabilities and to attach WORM-style SCSI CD-R.

  - Ernst Fueloep (fueloep@at.ibm.com), author of another modified
    OS2CDROM.DMD. I also referred how to fix Plextor problem.

