| 1 |
bananajinn |
1.6 |
はじめに |
| 2 |
|
|
======== |
| 3 |
|
|
|
| 4 |
|
|
この文書には以下の項目が含まれています。 |
| 5 |
|
|
|
| 6 |
|
|
* 円盤複写屋とは? |
| 7 |
|
|
* 機能/特徴 |
| 8 |
|
|
* ネットワーク機能について |
| 9 |
|
|
* Win32版に必要なもの |
| 10 |
|
|
* Win32版インストール方法 |
| 11 |
|
|
* Win32版ビルド方法 |
| 12 |
|
|
* Linux版インストール方法 |
| 13 |
|
|
* Linux版を使用する為には |
| 14 |
|
|
* Linux版ビルド方法 |
| 15 |
|
|
* MacOSX版インストール方法 |
| 16 |
|
|
* MacOSX版ビルド方法 |
| 17 |
|
|
* プラットフォーム別の制限事項・注意点 |
| 18 |
|
|
* ライセンス |
| 19 |
|
|
|
| 20 |
|
|
|
| 21 |
bananajinn |
1.1 |
円盤複写屋とは? |
| 22 |
|
|
=============== |
| 23 |
|
|
|
| 24 |
|
|
CD/DVD のディスクを複写するソフトウェアです。 |
| 25 |
|
|
Win32版とLinux版とMacOSX版があります。 |
| 26 |
|
|
Win32版は Windows98/2000/XP で動作します。それ以外の Windows では |
| 27 |
|
|
おそらく動作しません。 |
| 28 |
|
|
Linux版は gtk を使用しています。 |
| 29 |
|
|
MacOSX版は Cocoa を使用しています。 |
| 30 |
|
|
|
| 31 |
|
|
|
| 32 |
|
|
|
| 33 |
|
|
機能/特徴 |
| 34 |
|
|
========= |
| 35 |
|
|
|
| 36 |
|
|
・CD-R/RW : 複数セッション、セッション内複数トラックに対応。 |
| 37 |
|
|
・CD-R/RW : パケット記録(FixedPacket/VariablePacket)対応。 |
| 38 |
|
|
・CD-R/RW : 未完了セッション、未完了トラックにも対応。 |
| 39 |
|
|
・CD-R/RW : 音楽トラック、データトラック(Mode1,Mode2XA1/2)対応。 |
| 40 |
|
|
・CD-R/RW : 元ディスク記録方式(Track-at-once/Session-at-once)を |
| 41 |
|
|
自動判別し、同じ記録方式で複写。 |
| 42 |
|
|
・CD-R/RW : CD-TEXT対応。 |
| 43 |
|
|
・DVD-R/-RW : Disc-at-once 対応。(オプション選択) |
| 44 |
|
|
・DVD-R/-RW : 複数ボーダー対応(DVDレコーダで記録されたらこれ?)。 |
| 45 |
|
|
・DVD-R : ボーダー内複数Rゾーン対応。 |
| 46 |
|
|
・DVD+R : 複数セッション対応。 |
| 47 |
|
|
・DVD+RW : 単にベタッと記録するだけ。 |
| 48 |
bananajinn |
1.4 |
・ALL : 実験的な複数台同時記録(ver1.13) |
| 49 |
|
|
・ALL : ISOイメージ読取&書込(ver1.14) |
| 50 |
bananajinn |
1.5 |
・ALL : ネットワーク(TCP/IP)対応(ver1.15) |
| 51 |
bananajinn |
1.1 |
|
| 52 |
|
|
のつもりで作っていますが、うまく動作しないかもしれません。 |
| 53 |
|
|
動作報告をお待ちしてます。 |
| 54 |
|
|
|
| 55 |
|
|
また、以下の制限がありますので注意してください。 |
| 56 |
|
|
|
| 57 |
|
|
・音楽トラックはその仕様から正確なタイミングでデータを読み出せない |
| 58 |
|
|
ようで、複写を繰り返す度にデータが前方または後方にずれていく。 |
| 59 |
|
|
(合わせこむ機能を実装していない。というか無理?) |
| 60 |
|
|
・CSS解除機能は搭載してないので、市販の DVD-video は複写不可能。 |
| 61 |
bananajinn |
1.3 |
・CD-TEXTは複数台同時記録不可。 |
| 62 |
|
|
・SAOで複数台同時記録する場合はバッファーアンダーラン防止機能必須。 |
| 63 |
bananajinn |
1.1 |
|
| 64 |
|
|
|
| 65 |
bananajinn |
1.5 |
ネットワーク機能について |
| 66 |
|
|
======================== |
| 67 |
|
|
|
| 68 |
|
|
この機能はあくまでもLAN用です。 |
| 69 |
|
|
メーカー製等でドライブが1台しか搭載できないPCが複数台あり、それ |
| 70 |
|
|
らがLAN接続されていれば一応オンザフライ書き込みが出来る事を目的 |
| 71 |
|
|
として作成しています。それ以外の用途は想定していません。 |
| 72 |
|
|
|
| 73 |
|
|
サーバ側になるのは読取装置側、言い換えると、書込装置としてネット |
| 74 |
|
|
ワークを選択した場合です。 |
| 75 |
|
|
接続する時は先にサーバ側を開始して待機させてから、クライアント側 |
| 76 |
|
|
を開始してください。 |
| 77 |
|
|
|
| 78 |
|
|
|
| 79 |
bananajinn |
1.1 |
Win32版に必要なもの |
| 80 |
|
|
=================== |
| 81 |
|
|
|
| 82 |
bananajinn |
1.2 |
Windows98 ではドライブアクセスに wnaspi32.dll を使用します。 |
| 83 |
|
|
Windows2000/XP では wnaspi32.dll は使用しません。(V1.9から) |
| 84 |
|
|
しかし、Windows2000/XP でも起動時に -aspi オプションを指定すると |
| 85 |
|
|
wnaspi32.dll を使用する事ができます。 |
| 86 |
|
|
Windows2000/XP 用の wnaspi32.dll は nero のサイトなどから |
| 87 |
|
|
ダウンロードしてきてください。 |
| 88 |
bananajinn |
1.1 |
http://www.nero.com/en/631940733573829.html |
| 89 |
|
|
adaptec の wnaspi32.dll ではドライブ認識されない場合があるよう |
| 90 |
|
|
なので、こちらの方が良いと思います。 |
| 91 |
|
|
|
| 92 |
|
|
また、ドライブにアクセスするにはアクセス権が必要です。 |
| 93 |
|
|
一般ユーザ等でも使えるようにする為には、管理者権限で管理ツールの |
| 94 |
|
|
ローカルセキュリティポリシーを起動し、セキュリティオプションを |
| 95 |
|
|
変更してください。 |
| 96 |
|
|
|
| 97 |
|
|
|
| 98 |
|
|
Win32版インストール方法 |
| 99 |
|
|
======================= |
| 100 |
|
|
|
| 101 |
|
|
インストーラはありません。好きな場所(C:\Program Files\enban 等)に |
| 102 |
|
|
解凍し、スタートメニューやデスクトップにショートカットを作成して |
| 103 |
|
|
ください。 |
| 104 |
|
|
|
| 105 |
|
|
|
| 106 |
|
|
Win32版ビルド方法 |
| 107 |
|
|
================= |
| 108 |
|
|
|
| 109 |
|
|
1. ソースファイルを置くディレクトリを準備します。(例: C:\src) |
| 110 |
|
|
|
| 111 |
|
|
2. 円盤複写屋ソースファイルをそこに解凍します。 |
| 112 |
|
|
|
| 113 |
|
|
3. KgThemeソースファイルも同じ場所に解凍します。 |
| 114 |
|
|
|
| 115 |
|
|
4. Adaptec ASPI ドライバーをダウンロードします。 |
| 116 |
|
|
http://www.adaptec.co.jp/support/download/soft/aspi_471.html |
| 117 |
|
|
但し、これは円盤複写屋をビルドする為だけに使用します。 |
| 118 |
|
|
Windows2000/XP では何故か上手く動作しない事が多い為、 |
| 119 |
|
|
DLLのインストールはお勧めしません。 |
| 120 |
|
|
|
| 121 |
|
|
5. ダウンロードした aspi_v471.exe を実行し、どこかに解凍します。 |
| 122 |
|
|
|
| 123 |
|
|
6. 解凍したディレクトリの include ディレクトリ以下のファイルを |
| 124 |
|
|
円盤複写屋の Win32\WinAspi\adaptec ディレクトリにコピーします。 |
| 125 |
|
|
|
| 126 |
|
|
7. 以下のような構成になっている事を確認します。 |
| 127 |
|
|
C:\src\ |
| 128 |
|
|
+-- KgTheme\ (KgThemeソースツリー) |
| 129 |
|
|
+-- EnbanFukusya\ (円盤複写屋ソースツリー) |
| 130 |
|
|
+-- DriveAccess\ |
| 131 |
|
|
+-- Win32\ |
| 132 |
|
|
+-- res\ |
| 133 |
|
|
+-- WinAspi\ |
| 134 |
|
|
+-- adaptec\ |
| 135 |
|
|
+ *.h *.inc (6.でコピーしたファイル群) |
| 136 |
|
|
|
| 137 |
|
|
8. 円盤複写屋の Win32\EnbanFukusya.dsw を VisualStudio で開いて |
| 138 |
|
|
ビルドを実行して下さい。 |
| 139 |
|
|
|
| 140 |
|
|
|
| 141 |
|
|
Linux版インストール方法 |
| 142 |
|
|
======================= |
| 143 |
|
|
|
| 144 |
|
|
VineLinux 2.6(i386)をお使いの場合は、バイナリパッケージをインストール |
| 145 |
|
|
できます。 |
| 146 |
|
|
例) rpm -ivh EnbanFukusyaYa-*.i386.rpm |
| 147 |
|
|
|
| 148 |
|
|
その他の RedHat系Linux では、src.rpm をリビルドした後インストールして |
| 149 |
|
|
ください。(%は一般ユーザのプロンプト、#はrootのプロンプトとして表現 |
| 150 |
|
|
しています。) |
| 151 |
|
|
例) |
| 152 |
|
|
% rpm --rebuild EnbanFukusyaYa-*.src.rpm |
| 153 |
|
|
# rpm -ivh ~/redhat/RPMS/*/EnbanFukusyaYa-*.rpm |
| 154 |
|
|
|
| 155 |
|
|
それ以外の(非RedHat系)Linuxでは、手作業でコンパイル&インストールして |
| 156 |
|
|
ください。 |
| 157 |
|
|
例) |
| 158 |
|
|
% tar zxf EnbanFukusyaYa-*-src.tar.gz |
| 159 |
|
|
% cd EnbanFukusyaYa-* |
| 160 |
|
|
% cd Linux ; sh to_euc.sh |
| 161 |
|
|
% cd src ; make |
| 162 |
|
|
# make install |
| 163 |
|
|
|
| 164 |
|
|
|
| 165 |
|
|
Linux版を使用する為には |
| 166 |
|
|
======================= |
| 167 |
|
|
|
| 168 |
|
|
使用するユーザに対してデバイスの書込み権限を与える必要があります。 |
| 169 |
|
|
|
| 170 |
|
|
最も簡単な方法は、該当デバイスファイルのモードを 0666 にする事です。 |
| 171 |
|
|
例1) ATAPI(Secondary/Master)接続の場合 |
| 172 |
|
|
# chmod 666 /dev/hdc |
| 173 |
|
|
例2) SCSI(1台目)接続の場合 |
| 174 |
|
|
# chmod 666 /dev/scd0 |
| 175 |
|
|
|
| 176 |
|
|
UNIX的に解決するには、書込み可能なグループを作り、そのグループの一員と |
| 177 |
|
|
するのが良いと思います。 |
| 178 |
|
|
例) cdwrite グループに権限を与え、taro ユーザが使えるようにする場合 |
| 179 |
|
|
# groupadd cdwrite |
| 180 |
|
|
# chgrp cdwrite /dev/hdc |
| 181 |
|
|
# chmod 664 /dev/hdc |
| 182 |
|
|
# usermod -G cdwrite taro |
| 183 |
|
|
|
| 184 |
|
|
次のようにして、ログインしたユーザに権限を与えるのも1つの方法だと思います。 |
| 185 |
|
|
例) wdm を使用している場合 |
| 186 |
|
|
# cat "chown \$USER /dev/hdc" >> /etc/X11/wdm/GiveConsole |
| 187 |
|
|
# cat "chown root /dev/hdc" >> /etc/X11/wdm/TakeConsole |
| 188 |
|
|
|
| 189 |
|
|
|
| 190 |
|
|
Linux版ビルド方法 |
| 191 |
|
|
================= |
| 192 |
|
|
|
| 193 |
|
|
1. ソースファイルを展開します。 |
| 194 |
|
|
(例) tar zxf EnbanFukusya-*-src.tar.gz |
| 195 |
|
|
|
| 196 |
|
|
2. サブディレクトリ Linux に入ります。 |
| 197 |
|
|
(例) cd EnbanFukusya-*/Linux |
| 198 |
|
|
|
| 199 |
|
|
3. to_euc.sh を使って共通ソースファイルを euc-jp に変換します。 |
| 200 |
|
|
(例) ./to_euc.sh |
| 201 |
|
|
|
| 202 |
|
|
4. src ディレクトリに入り、make を実行します。 |
| 203 |
|
|
(例) cd src; make |
| 204 |
|
|
|
| 205 |
|
|
|
| 206 |
bananajinn |
1.6 |
MacOSX版インストール方法 |
| 207 |
|
|
======================== |
| 208 |
|
|
|
| 209 |
|
|
MacOSX版の配布ファイルはdmgですので、ダブルクリック操作等でマウント |
| 210 |
|
|
してください。 |
| 211 |
|
|
マウント後にEnbanFukusyaYa.appフォルダをお好きな場所(アプリケーション |
| 212 |
|
|
フォルダ等)にコピーしてください。 |
| 213 |
|
|
|
| 214 |
|
|
|
| 215 |
|
|
MacOSX版ビルド方法 |
| 216 |
|
|
================== |
| 217 |
|
|
|
| 218 |
|
|
ソースファイルを展開すると Xcode 用のプロジェクトファイルがあるので |
| 219 |
|
|
それを Xcode で開きます。 |
| 220 |
|
|
後は、Xcode の通常のビルド方法でビルドできます。 |
| 221 |
|
|
|
| 222 |
|
|
|
| 223 |
|
|
プラットフォーム別の制限事項・注意点 |
| 224 |
|
|
==================================== |
| 225 |
|
|
|
| 226 |
|
|
・MacOSXでは円盤複写屋起動後にディスクを入れる! |
| 227 |
|
|
OS標準設定では CD/DVD メディアを挿入すると、OS がすかさずマウント |
| 228 |
|
|
します。円盤複写屋には OS がマウントしたものを自動的に解除する |
| 229 |
|
|
ような機能は搭載していません。そして、ドライブへの排他的アクセス権 |
| 230 |
|
|
の取得に失敗し、ドライブが見えないという現象が発生します。 |
| 231 |
|
|
そのような場合はメディアを一度イジェクトし、円盤複写屋を起動してから |
| 232 |
|
|
メディアの挿入を行ってください。 |
| 233 |
|
|
もしくは、誰かソースコードによる解決方法を教えてください。 |
| 234 |
|
|
|
| 235 |
|
|
・Linux版20秒問題 |
| 236 |
|
|
CD/DVD-RWディスクの消去やクローズセッション等の動作が開始すると |
| 237 |
|
|
20秒間程度応答が無い状態になります。 |
| 238 |
|
|
これは、円盤複写屋が消去/クローズセッション中の進捗をドライブから |
| 239 |
|
|
取得する際、LinuxカーネルのIDE-CDドライバが勝手に2秒間×10回の |
| 240 |
|
|
リトライを行ってしまうためです。(*1) |
| 241 |
|
|
但し、進捗取得に最大20秒かかるというだけで、ドライブ動作には |
| 242 |
|
|
全く影響がありません。 |
| 243 |
|
|
|
| 244 |
|
|
*1 : 進捗度は、消去/クローズセッション中に ReadDiscInformation |
| 245 |
|
|
コマンドを送信して取得します。このコマンドがエラー(2/04/08や |
| 246 |
|
|
2/04/07)になった時にセンスデータの15バイト目の最上位ビットが |
| 247 |
|
|
立っている場合、16,17バイト目に 0x0000〜0xffff の値で進捗度が入り |
| 248 |
|
|
ます。ところが、Linuxカーネルの drivers/ide/ide-cd.c の |
| 249 |
|
|
cdrom_queue_packet_command() 関数では、2/04/xx のエラーの場合、 |
| 250 |
|
|
DRIVE NOT READY という事で 2秒待ちとリトライを最大10回繰り返し |
| 251 |
|
|
ます(リトライ回数的には9)。但し、なぜか 2/04/04 (フォーマット中) |
| 252 |
|
|
の場合だけはすぐに抜けてきます。 |
| 253 |
|
|
確かにスピンアップ(ディスク認識)中は 2/04/01 で、大体は20秒 |
| 254 |
|
|
以内に完了するので良いと思いますが、スピンアップ失敗のエラーは |
| 255 |
|
|
2/04/00 だったりします。そもそもリトライが必要なのか? という |
| 256 |
|
|
疑問もありますが、ここは 2/04/01 の場合だけリトライするのが |
| 257 |
|
|
正しいと思うのですが...。 |
| 258 |
|
|
|
| 259 |
|
|
|
| 260 |
bananajinn |
1.1 |
ライセンス |
| 261 |
|
|
========== |
| 262 |
|
|
|
| 263 |
|
|
GPLに準ずるものとします。 |
| 264 |
|
|
|
| 265 |
|
|
-- |
| 266 |
|
|
Kagetani Hideto <banana@mxh.mesh.ne.jp> |