Modified OS/2 CD-ROM / CD-RW / DVDs device manager driver, build JJ20020318

with CD-DA digital reading / CD-XA reading / multisessioning / CD-Extra enhancement
Modification copyright (c) 1999-2002 Takayuki 'January June' Suwa / Beliefia Productions
Modification copyright (c) 2000 Robert Lalla


0. Table of Contents



1. Welcome

JJSCDROM.DMD is a modified version of OS/2 CD-ROM / CD-RW / DVDs device manager driver (OS2CDROM.DMD), based on the latest OS/2 DDK on-line source code. This driver supports:

1.1. Copyright and Disclaimer

  1. 'MODIFICATION PART OF THIS SOFTWARE AND WHOLE SET OF DOCUMENTS' (CALLED 'THE PACKAGE') ARE ENTIRELY COPYRIGHTED BY TAKAYUKI 'JANUARY JUNE' SUWA / BELIEFIA PRODUCTIONS AND ROBERT LALLA, AUTHORS / HOLDERS OF THE PRODUCT.
  2. THE PACKAGE IS PROVIDED 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  3. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR IBM CORPORATION BE LIABLE FOR ANY DAMAGES, WHETHER IN CONTRACT OR TORT (INCLUDED NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE PRODUCT, EVEN THOUGH SUCH HOLDERS HAS BEEN ADVISED OF THE POSSIBILITY OF ANY DAMAGE.
We are regarded you agree disclaimer above at the first installation of JJSCDROM.DMD. If you disagree above, you must discard all files of the product.

1.2. System Requirements

This software will be functioned in environment such as:

1.3. Contact Author

Email to Takayuki 'January June' Suwa:

1.4. Revision History



2. How to Use


2.1. In This Archive

JJSCDROM.dmd
Modified OS/2 CD-ROM / CD-RW / DVDs device manager driver file
JJSCDROM.sym
Symbol informations file for debugging
README.htm
This document
cmprssed\JJSCDROM.dmd
lxLite'd version of JJSCDROM.dmd, requires Warp v3 or later
May work well or not :)
source\diff.zip
Zipped GNU-diff'ed informations files from the original
This includes long-filenames

2.2. Driver Installation

  1. Unzip archive to where you desire. (e.g. C:\JJSCDROM)
  2. Add
    DEVICE=d:\path\JJSCDROM.dmd
    line to your CONFIG.SYS. (d and path must be replaced with actual installation drive / path)
    And if you find
    DEVICE=d:\OS2\BOOT\OS2CDROM.DMD
    line or similar, remove or disable it.
  3. Restart your system.

2.3. JJSCDROM.DMD Options


2.3.1. CONFIG.SYS Syntax

DEVICE=d:\path\JJSCDROM.DMD [options]

2.3.2. Option Diagram

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

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

2.3.3. Option Descriptions

/Q
displays no messages if not installed
/V
displays CD-ROM unit information
/VP
does same as /V, with pausing (requires PAUSEONERROR=YES)
/R:n
reserves n driveletters at least (for driveletter reservation)
/S
assigns 1 driveletter only for ATAPI changer units
/W
treats all WORM devices as CD-ROM
in order not to apply this treatment to specific unit(s), use /U:n /I
/U:n
specifies unit number for /Fxx and /I, 0 based
/Fxx
enforces CD-DA / CD-XA / multisessioning treatments
without preceding /U, applies to all units
/FC+
enforces to turn on "CD-DA readable" flag
/FCS
enforces Sony CDU-561 compatible SCSI CD-DA readout method
/FCT
enforces Toshiba XM-3401 compatible SCSI CD-DA readout method
/FC
same as /FC+ /FCS
/FX+
enforces to turn on "CD-XA readable" flag
/FXT
enforces Toshiba XM-3401 compatible SCSI CD-XA readout method
/FXS
enforces Sony CDU-561 compatible SCSI CD-XA readout method
/FXN
enforces NEC 84-1 compatible SCSI CD-XA readout method
/FX
same as /FX+ /FXS
/FM+
enforces to turn on "multisessioning-aware" flag
/FMT
enforces Toshiba XM-3401 compatible SCSI multisessioning method
/FMS
enforces Sony CDU-561 compatible SCSI multisessioning method
/FMC
enforces Chinon CDS-535 compatible SCSI multisessioning method
/FMN
enforces NEC 84-1 compatible SCSI multisessioning method
/FMH
enforces HP C4324 compatible SCSI multisessioning method
/FMX
enforces NEC 46x compatible SCSI multisessioning method
/FM
same as /FM+ /FMS
/F
same as /FC+ /FCS /FX+ /FXS /FM+ /FMS
/I
ignores unit (no driveletter assignment)

2.3.4. Startup Output Description

IBM OS/2 JJSCDROM.DMD (DDK_000821) (JJ20020318)
ui : di-ai-un-lu : vendor   product          rev  : da xa ms
00 : 02-00-03-00 : TEAC     CD-ROM CD-532S   3.0A : +S +S +S
01 : 02-00-04-00 : TOSHIBA  CD-ROM XM-3501TA 2694 : +- +- +-
02 : 02-00-05-00 : SONY     CD-R   CDU948S   1.0k : +- +- +-
03 : 02-00-06-00 : RICOH    MP6200S          2.40 : +- +- +-
^^   ^^ ^^ ^^ ^^   ^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^   ^^ ^^ ^^
|    |  |  |  |    |        |                |      || || ||
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 of CD-ROM units connected to each adapter
e
logical unit number on each physical unit
f, g, h
device inquiry strings
i
'+' if "CD-DA readable" flag is turned on
j
SCSI CD-DA reading method enforced [S/T], or '-' if not enforced
k
'+' if "CD-XA readable" flag is turned on
l
SCSI CD-XA reading method enforced [T/S/N], or '-' if not enforced
m
'+' if "multisessioning-aware" flag is turned on
n
SCSI multisessioning method enforced [T/S/C/N/H/X], or '-' if not enforced


3. Added / Modified IOCtl Functions


3.1. IOCTL_CDROMDISK - CDROMDISK_MS_CTRL

Category:
IOCTL_CDROMDISK (80h)
Function:
CDROMDISK_MS_CTRL (4ah)
Desctiption:
Set multisession handling flags
Parameter Packet Format:
Pointer to struct MSCtrl_Parm.
struct MSCtrl_Parm {
   ULONG    ID_code;  // 'CD01'
   USHORT   flags;    // flags, see below
};
 
/* flags for MSCtrl_Parm */
#define MSCTRL_DISABLEMS  0x0001  // disable multisession handling
Data Packet Format:
None. This pointer should be NULL.
Returns:
NO_ERROR
Success.
ERROR_I24_INVALID_PARAMETER
Specified drive is not multisession-capable.
ERROR_I24_BAD_COMMAND
This function is not supported.
Remarks:
This new function sets / resets multisession handling flags.
MSCTRL_DISABLEMS (0x0001)
If set, multisession handling of specified drive will be disabled. If reset, disabling will be cancelled. In default, this flag is reset state (no disabling).
Useful for CD-DA handlings of the last audio / data-mixed CD-Extra track, because multisessioning disabling can completely hide CD-Extra data part.
If medium is present when any flags are changed, it will automatically remount medium. Issueing IOCTL_CDROMDISK - CDROMDISK_RESETDRIVE also makes all flags default state.

3.2. IOCTL_CDROMDISK - CDROMDISK_DEVICESTATUS

Category:
IOCTL_CDROMDISK (80h)
Function:
CDROMDISK_DEVICESTATUS (60h)
Desctiption:
Get device status
Parameter Packet Format:
(not changed)
Data Packet Format:
(not changed)
Returns:
(not changed)
Remarks:
2 new device status flags are added,
bit 29
If set, this drive has multisession handling capability.
bit 28
If set, multisession handling of this drive is currently disabled.

3.3. IOCTL_CDROMDISK2 - CDROMDISK2_FEATURES

Category:
IOCTL_CDROMDISK2 (82h)
Function:
CDROMDISK2_FEATURES (63h)
Desctiption:
Return DM feature information
Parameter Packet Format:
(not changed)
Data Packet Format:
(not changed)
Returns:
(not changed)
Remarks:
1 new feature flag are added,
FEATURE_MSCTRL_SUPPORT (0x00008000)
If set, this driver supports IOCtl IOCTL_CDROMDISK - CDROMDISK_MS_CTRL and device status of bit 28-29.


4. Credits

Development
Modification programming
Takayuki 'January June' Suwa / Beliefia Productions
Documentation
Takayuki 'January June' Suwa / Beliefia Productions
Special thanks to
Atsushi Nishio
He is a predecessor modifing CD-DA reading feature. I referred how to enable CD-DA reading / multisessioning capabilities and to attach WORM-style SCSI CD-R.
Robert Lalla
He is an author / donator of CD-Extra support modification. I think that many OS/2 users admire your decision.


Modification copyright (c) 1999-2002 Takayuki 'January June' Suwa / Beliefia Productions. All rights reserved.
Modification copyright (c) 2000 Robert Lalla. All rights reserved.
Beliefia Productions and its logo design are trademarks of Beliefia Productions. All rights reserved.
Other copyrighted works (images, musics, programs, and so on), trademarks and servicemarks in this document are owned by their respective owners.

[This document is HTML3.2(Wilbur)-compliant.]