修正版 OS/2 CD-ROM / CD-RW / DVDs デバイスマネージャードライバー、ビルドJJ20030326

CD-DAデジタル読み取り / CD-XA読み取り / マルチセッション / CD-Extra 機能強化
Modification copyright (c) 1999-2003 Takayuki 'January June' Suwa / Beliefia Productions
Modification copyright (c) 2000 Robert Lalla


0. 目次



1. はじめに

JJSCDROM.DMDは修正版のOS/2 CD-ROM / CD-RW / DVDs デバイスマネージャードライバー(OS2CDROM.DMD)であり、最新のOS/2 DDKオンラインソースコード(DDK_020517)に基づいています。
本ドライバーは以下の機能をサポートします :

1.1. 著作権・免責

  1. 本ソフトウェアの修正部分及び付随文書一式(以降、「製品」)の著作権は、全てそれらの作成者・権利保持者である諏訪 貴介(すわ たかゆき)及びBeliefia Productions、並びにRobert Lalla氏に帰属します。
  2. 本製品は、特定物として現存するがままの状態で提供され、商品性及び特定目的適合性の保証を含むいかなる明示または黙示の保証も適用されません。
  3. 権利保持者は、契約上の責任、もしくは違法行為(過失等を含む)であるとを問わず、本製品の使用によるいかなる損害に関しても、予見の有無を問わず、責任を負いません。
JJSCDROM.DMDの導入に際しては、上記の条項に同意して下さい。もし、上記条項に同意できない場合は、本製品に含まれるファイルの全てを削除して下さい。

1.2. 動作環境

本ソフトウェアは以下の環境で動作します :

1.3. 連絡先

本製品に関するご質問・お問い合せにつきましては、電子メール にて受け付け致します。その他の連絡方法についてはご容赦下さい。

1.4. 改訂履歴



2. 使い方


2.1. アーカイブ内容

JJSCDROM.dmd
修正版 OS/2 CD-ROM / CD-RW / DVDs デバイスマネージャードライバーファイル
JJSCDROM.sym
デバッグ用のシンボル情報ファイル
README.htm
本文書の英語版
READMEJ.htm
本文書
cmprssed\JJSCDROM.dmd
JJSCDROM.dmd lxLite圧縮版。Warp v3以降が必要。多分動作します。
source\source.zip
ZIP圧縮された、オリジナルDDKオンラインソースコードからのGNU-diff差分情報ファイル(ロングファイル名あり)

2.2. ドライバーのインストール

  1. アーカイブを都合のよい場所に展開します(例: C:\JJSCDROM)。
  2. CONFIG.SYSから
    DEVICE=d:\OS2\BOOT\OS2CDROM.DMD
    行を検索し、それを削除するか無効化します。
  3. CONFIG.SYSに
    DEVICE=d:\path\JJSCDROM.dmd
    行を追加します(d及びpathは実際のインストール先ドライブ / パスと置き換えて下さい)
  4. システムを再始動します。

2.3. JJSCDROM.DMDオプション


2.3.1. CONFIG.SYS書式

DEVICE=d:\path\JJSCDROM.DMD [オプション]

2.3.2. オプション構文図

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

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

2.3.3. オプション説明

/Q
寡黙。組み込まれなかった際にもメッセージを表示しません。
/V
饒舌。CD-ROM装置の情報を表示します。
/VP
/Vと同じですが、終わり際に一時停止します(PAUSEONERROR=YESが必要)
/R:n
少なくともn個分ドライブ文字を確保します(ドライブ文字予約)。
/S
SCSI-3/MMC / ATAPIチェンジャー装置であっても1ドライブ文字だけ割り当てます。
/W
全WORMスタイルデバイスをCD-ROMとして扱います。特定の装置を除外したい場合は/U:n /Iオプションを使用して下さい。
/U:n
後述/Fxy及び/Iオプション指定の効果を特定の装置に限定します。0が最初の装置になります。
/I
装置を無視します(ドライブ文字を割り当てません)
/Fxy
CD-DA / CD-XA / マルチセッション / UPCの扱いを強制します。先に/Uオプションがない場合は全装置に対して適用されます。
/FC+
"CD-DA読み取り可能"フラグを強制的にオンにします。
/FCS
CD-DA読み取り機能を強制的にSony CDU-561互換にします。*
/FCT
CD-DA読み取り機能を強制的にToshiba XM-3401互換にします。*
/FC
/FC+ /FCSと同じです。
/FX+
"CD-XA読み取り可能"フラグを強制的にオンにします。
/FXT
CD-XA読み取り機能を強制的にToshiba XM-3401互換にします。*
/FXS
CD-XA読み取り機能を強制的にSony CDU-561互換にします。*
/FXN
CD-XA読み取り機能を強制的にNEC 84-1互換にします。*
/FX
/FX+ /FXSと同じです。
/FM+
"マルチセッション対応"フラグを強制的にオンにします。
/FMT
マルチセッション対応機能を強制的にToshiba XM-3401互換にします。*
/FMS
マルチセッション対応機能を強制的にSony CDU-561互換にします。*
/FMC
マルチセッション対応機能を強制的にChinon CDS-535互換にします。*
/FMN
マルチセッション対応機能を強制的にNEC 84-1互換にします。*
/FMH
マルチセッション対応機能を強制的にHP C4324互換にします。*
/FMX
マルチセッション対応機能を強制的にNEC 46x互換にします。*
/FM
/FM+ /FMSと同じです。
/FUU
強制的に"UPC読み取り可能"とし、アンパックraw UPCフォーマットであるとします。*
/FUP
強制的に"UPC読み取り可能"とし、パックraw UPCフォーマットであるとします。*
/FUA
強制的に"UPC読み取り可能"とし、ASCII raw UPCフォーマットであるとします。*
/FU
/FUAと同じです。
/F
/FC+ /FCS /FX+ /FXS /FM+ /FMSと同じです。
* SCSI-3/MMC / ATAPIドライブは自動的に各種機能を認識・構成が可能であるため、これらのオプションはそのドライブに対しては全て無視されます。

2.3.4. 起動時表示について

IBM OS/2 JJSCDROM.DMD (DDK_020517) (JJ20030326)
ui : di-ai-un-lu : vendor   product          rev  : da xa ms up
00 : 01-01-01-00 : TEAC     CD-W216E         1.0A : +* +* +* +A
01 : 02-00-03-00 : TEAC     CD-ROM CD-532S   3.0A : +S +S +S --
02 : 02-00-05-00 : RICOH    MP6200S          2.40 : +* +* +* +A
^^   ^^ ^^ ^^ ^^   ^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^   ^^ ^^ ^^ ^^
|    |  |  |  |    |        |                |      || || || ||
a    b  c  d  e    f        g                h      ij kl mn op
a
CD-ROM装置番号(/Uオプション指定で使用する)
b
インストールされているアダプターデバイスドライバー番号
c
各アダプターデバイスドライバー配下のアダプター番号
d
各アダプター配下の接続されている物理装置番号
e
各物理装置配下の論理装置番号
f, g, h
デバイス問い合わせ文字列
i
"CD-DA読み取り可能"フラグがオンになっていれば'+'
j
強制されているCD-DA読み取り機能[S/T]、強制されていなければ'-'
自動構成可能なSCSI-3/MMC / ATAPIドライブであれば'*'
k
"CD-XA読み取り可能"フラグがオンになっていれば'+'
l
強制されているCD-XA読み取り機能[T/S/N]、強制されていなければ'-'
自動構成可能なSCSI-3/MMC / ATAPIドライブであれば'*'
m
"マルチセッション対応"フラグがオンになっていれば'+'
n
強制されているマルチセッション対応機能[T/S/C/N/H/X]、強制されていなければ'-'
自動構成可能なSCSI-3/MMC / ATAPIドライブであれば'*'
o
"UPC読み取り可能"とされていれば'+'
p
読み取り可能なraw UPCフォーマット[U/P/A]、UPC読み取り可能でなければ'-'
SCSI-3/MMC / ATAPIドライブの場合、UPC読み取り可能であれば常に'A'


3. 追加・修正されたIOCtl機能


3.1. IOCTL_CDROMDISK - CDROMDISK_FEATURE_CTRL

カテゴリ :
IOCTL_CDROMDISK (80h)
機能 :
CDROMDISK_FEATURE_CTRL (4ah)
説明 :
JJSCDROM拡張機能フラグの設定
パラメーターパケットフォーマット :
struct FeatureCtrl_Parmへのポインター。
struct FeatureCtrl_Parm {
   ULONG    ID_code;  // 'CD01'
   USHORT   flags;    // flags, see below
};
 
/* flags for FeatureCtrl_Parm */
#define FEATURECTRL_DISABLEMS  0x0001
  // disables multisession handling (restricts only 1st session TOC; CDS200 spoiler)
#define FEATURECTRL_FIXTRK1NEG 0x0002
  // fixes track 1 negative start LBA (to zero; CDS200 spoiler)
データパケットフォーマット :
不要。NULLとするのが望ましい。
戻り値 :
NO_ERROR
正常終了。
ERROR_I24_INVALID_PARAMETER
パラメーターが不正(ID_codeまたはflags値が不正)。
ERROR_I24_BAD_COMMAND
サポートされていない機能。
注釈 :
JJSCDROM拡張機能フラグを設定します。
FEATURECTRL_DISABLEMS (0x0001)
当ビットがセットされると、そのドライブに対するマルチセッション動作を無効化します。リセットされると、マルチセッション動作を復旧させます。既定設定ではリセットされています(無効化なし、マルチセッション動作有効)。
マルチセッション動作を無効にするとCD-Extraデータ部やMidbar CDS-200の腐った第二セッションTOC情報を隠すことができるので、オーディオ/データ混在の最終CD-ExtraトラックをCD-DA操作で扱う際に役立ちます。
FEATURECTRL_FIXTRK1NEG (0x0002)
当ビットがセットされると、トラック1の開始LBAアドレスが負の値であった場合に0に修正します。リセットされると、修正は行われません。既定設定ではリセットされています(修正なし)。
Midbar CDS-200ディスクのような、CD-DA規格違反のTOC情報を持つメディアを扱う際に役立ちます。
フラグが変更された際にドライブ内にメディアがあれば、自動的に再マウントされます。またIOCTL_CDROMDISK - CDROMDISK_RESETDRIVEを発行した際には全フラグを既定設定に戻します。

3.2. IOCTL_CDROMDISK - CDROMDISK_DEVICESTATUS

カテゴリ :
IOCTL_CDROMDISK (80h)
機能 :
CDROMDISK_DEVICESTATUS (60h)
説明 :
ドライブ状況の取得
パラメーターパケットフォーマット :
(変更なし)
データパケットフォーマット :
(変更なし)
戻り値 :
(変更なし)
注釈 :
新規に3状況ビットが追加されています :
ビット29
セットされていれば、そのドライブはマルチセッション動作が可能です。
ビット28
セットされていれば、そのドライブのマルチセッション動作は現在無効化されています。
ビット27
セットされていれば、そのドライブの'負のトラック1開始LBA修正'機能は現在有効になっています。

3.3. IOCTL_CDROMDISK2 - CDROMDISK2_FEATURES

カテゴリ :
IOCTL_CDROMDISK2 (82h)
機能 :
CDROMDISK2_FEATURES (63h)
説明 :
DM機能情報を戻す
パラメーターパケットフォーマット :
(変更なし)
データパケットフォーマット :
(変更なし)
戻り値 :
(変更なし)
注釈 :
新規に2機能フラグビットが追加されています :
FEATURE_MSCTRL_SUPPORT (0x00008000)
セットされていれば、ドライバーはIOCtl IOCTL_CDROMDISK - CDROMDISK_FEATURE_CTRL、JJSCDROM拡張機能FEATURECTRL_DISABLEMSフラグ、並びにドライブ状況ビット28-29をサポートします。
FEATURE_TRK1NEGFIX_SUPPORT (0x00004000)
FEATURE_MSCTRL_SUPPORTに加えてセットされていれば、ドライバーはJJSCDROM拡張機能FEATURECTRL_FIXTRK1NEGフラグ、並びにドライブ状況ビット27をサポートします。


4. クレジット

開発
修正プログラミング
Takayuki 'January June' Suwa / Beliefia Productions
文書
Takayuki 'January June' Suwa / Beliefia Productions
謝辞 (順不同・敬称略)
Atsushi Nishio ('The Netscape Communicator 4.61 for OS/2 Team - Extended Development Team'の一員でもありますね :))
CD-DA読み取り能力の修正を行った先駆者です。CD-DA読み取り / マルチセッション能力の有効化、及びWORMスタイルの旧式CD-Rドライブの取り扱いについて参考にさせて頂きました。
Robert Lalla
CD-Extraサポートコードを提供して下さいました。多くのOS/2ユーザーが彼の英断を讃えていることでしょう。
Sant Coetzer
本文書(英語版)の校正をして下さいました。拙い英語でどうもすみません。


Modification copyright (c) 1999-2003 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.]