| 1 |
はじめに |
| 2 |
======== |
| 3 |
|
| 4 |
この文書には以下の項目が含まれています。 |
| 5 |
|
| 6 |
* 円盤複写屋とは? |
| 7 |
* 機能/特徴 |
| 8 |
* ネットワーク機能について |
| 9 |
* ISO9660外側記録について |
| 10 |
* Win32版に必要なもの |
| 11 |
* Win32版インストール方法 |
| 12 |
* Win32版ビルド方法 |
| 13 |
* Win32(gtk)版に必要なもの |
| 14 |
* Win32(gtk)版インストール方法 |
| 15 |
* Win32(gtk)版ビルド方法 |
| 16 |
* Linux版インストール方法 |
| 17 |
* Linux版を使用する為には |
| 18 |
* Linux版ビルド方法 |
| 19 |
* MacOSX版インストール方法 |
| 20 |
* MacOSX版ビルド方法 |
| 21 |
* プラットフォーム別の制限事項・注意点 |
| 22 |
* ライセンス |
| 23 |
|
| 24 |
|
| 25 |
円盤複写屋とは? |
| 26 |
=============== |
| 27 |
|
| 28 |
CD/DVD のディスクを複写するソフトウェアです。 |
| 29 |
Win32版とLinux版とMacOSX版があります。 |
| 30 |
Win32版は Windows98/2000/XP で動作します。それ以外の Windows では |
| 31 |
おそらく動作しません。 |
| 32 |
Linux版は gtk を使用しています。 |
| 33 |
MacOSX版は Cocoa を使用しています。 |
| 34 |
また、gtk を使用した Windows 版も(まだ暫定的ですが)あります。 |
| 35 |
|
| 36 |
|
| 37 |
機能/特徴 |
| 38 |
========= |
| 39 |
|
| 40 |
・CD-R/RW : 複数セッション、セッション内複数トラックに対応。 |
| 41 |
・CD-R/RW : パケット記録(FixedPacket/VariablePacket)対応。 |
| 42 |
・CD-R/RW : 未完了セッション、未完了トラックにも対応。 |
| 43 |
・CD-R/RW : 音楽トラック、データトラック(Mode1,Mode2XA1/2)対応。 |
| 44 |
・CD-R/RW : 元ディスク記録方式(Track-at-once/Session-at-once)を |
| 45 |
自動判別し、同じ記録方式で複写。 |
| 46 |
・CD-R/RW : CD-TEXT対応。 |
| 47 |
・DVD-R/-RW : Disc-at-once 対応。(オプション選択) |
| 48 |
・DVD-R/-RW : 複数ボーダー対応(DVDレコーダで記録されたらこれ?)。 |
| 49 |
・DVD-R : ボーダー内複数Rゾーン対応。 |
| 50 |
・DVD+R : 複数セッション対応。 |
| 51 |
・DVD+RW : 単にベタッと記録するだけ。 |
| 52 |
・ALL : 実験的な複数台同時記録(ver1.13) |
| 53 |
・ALL : ISOイメージ読取&書込(ver1.14) |
| 54 |
・ALL : ネットワーク(TCP/IP)対応(ver1.15) |
| 55 |
・ALL : あらゆるディスクを表現できる独自イメージ読込&書込(ver1.18) |
| 56 |
・ALL : ISO9660をディスクの外側に書込(ver1.19) |
| 57 |
|
| 58 |
のつもりで作っていますが、うまく動作しないかもしれません。 |
| 59 |
動作報告をお待ちしてます。 |
| 60 |
|
| 61 |
また、以下の制限がありますので注意してください。 |
| 62 |
|
| 63 |
・音楽トラックはその仕様から正確なタイミングでデータを読み出せないようで、 |
| 64 |
複写を繰り返す度にデータが前方または後方にずれていく。 |
| 65 |
(合わせこむ機能を実装していない。というか無理?) |
| 66 |
・CSS解除機能は搭載してないので、市販の DVD-video は複写不可能。 |
| 67 |
・複数台同時記録する場合はバッファーアンダーラン防止機能必須。 |
| 68 |
|
| 69 |
|
| 70 |
ネットワーク機能について |
| 71 |
======================== |
| 72 |
|
| 73 |
この機能はあくまでもLAN用です。 |
| 74 |
メーカー製等でドライブが1台しか搭載できないPCが複数台あり、それらがLAN |
| 75 |
接続されていれば一応オンザフライ書き込みが出来る事を目的として作成して |
| 76 |
います。それ以外の用途は想定していません。 |
| 77 |
|
| 78 |
サーバ側になるのは読取装置側、言い換えると、書込装置としてネットワークを |
| 79 |
選択した場合です。 |
| 80 |
接続する時は先にサーバ側を開始して待機させてから、クライアント側を開始して |
| 81 |
ください。 |
| 82 |
|
| 83 |
|
| 84 |
ISO9660外側記録について |
| 85 |
======================= |
| 86 |
|
| 87 |
1セッション1トラックのISO9660に準拠したディスクまたはISOイメージファイル |
| 88 |
からの複写の場合で記録ディスクに十分な空き領域がある場合、ディスクの外側 |
| 89 |
に記録する事ができます。 |
| 90 |
第1セッションはダミーデータ(ALL 0)で埋めて、第2セッションとして複写内容を |
| 91 |
記録します。 |
| 92 |
|
| 93 |
この機能を使うと、記録したディスクの読み取りが若干速くなります。 |
| 94 |
例えばディスクの約半分の容量(700MBのCDなら350MB)を外側に記録すると内側 |
| 95 |
(通常)に記録した場合に比べて、シーケンシャルアクセス時は約1.5倍高速になり |
| 96 |
ます。ランダムアクセスはシーク幅が狭くはなりますが、速度的にはほとんど |
| 97 |
変わりません。なぜなら、 CDやDVDはディスク書かれているアドレス情報を読ま |
| 98 |
ないと現在位置が解らないので、目的のアドレスに到達するためには、 |
| 99 |
・ピックアップの大まかな移動 |
| 100 |
・アドレス情報を読みながら目的のアドレスより少し前に微調整 |
| 101 |
・ディスクの回転により目的のアドレスに到達するのを待つ |
| 102 |
という事をしているからです(たぶん)。距離に応じて速くなるのは "大まかな移動" |
| 103 |
だけです。それがシーク時間全体に対してどのくらいの割合を占めているのか解り |
| 104 |
ませんが、試した感じでは特に違いが解りません。 |
| 105 |
|
| 106 |
つまり、シーケンシャルアクセスがよく行われるような巨大なファイルが記録され |
| 107 |
るような場合しか効果はないかもしれません。 |
| 108 |
当然ですが、記録時間は長くなります。 |
| 109 |
現在はCDのみ対応しています。DVD系ディスクは外側記録できません。 |
| 110 |
|
| 111 |
|
| 112 |
Win32版に必要なもの |
| 113 |
=================== |
| 114 |
|
| 115 |
Windows98 ではドライブアクセスに wnaspi32.dll を使用します。 |
| 116 |
Windows2000/XP では wnaspi32.dll は使用しません。(V1.9から) |
| 117 |
しかし、Windows2000/XP でも起動時に -aspi オプションを指定すると |
| 118 |
wnaspi32.dll を使用する事ができます。 |
| 119 |
Windows2000/XP 用の wnaspi32.dll は nero のサイトなどからダウンロードして |
| 120 |
きてください。 |
| 121 |
http://www.nero.com/en/631940733573829.html |
| 122 |
adaptec の wnaspi32.dll ではドライブ認識されない場合があるようなので、 |
| 123 |
こちらの方が良いと思います。 |
| 124 |
|
| 125 |
また、ドライブにアクセスするにはアクセス権が必要です。 |
| 126 |
一般ユーザ等でも使えるようにする為には、管理者権限で管理ツールのローカル |
| 127 |
セキュリティポリシーを起動し、セキュリティオプションを変更してください。 |
| 128 |
|
| 129 |
|
| 130 |
Win32版インストール方法 |
| 131 |
======================= |
| 132 |
|
| 133 |
Inno setup で作成されたインストーラをダウンロードした方はインストーラを |
| 134 |
起動し、画面の指示に従ってインストールしてください。 |
| 135 |
zip圧縮版の場合は好きな場所(C:\Program Files\enbanfukusyaya 等)に解凍し、 |
| 136 |
お好みでスタートメニューやデスクトップにショートカットを作成してください。 |
| 137 |
|
| 138 |
|
| 139 |
Win32版ビルド方法 |
| 140 |
================= |
| 141 |
|
| 142 |
1. ソースファイルを置くディレクトリを準備します。(例: C:\src) |
| 143 |
|
| 144 |
2. 円盤複写屋ソースファイルをそこに解凍します。 |
| 145 |
|
| 146 |
3. KgThemeソースファイルも同じ場所に解凍します。 |
| 147 |
|
| 148 |
4. Adaptec ASPI ドライバーをダウンロードします。 |
| 149 |
http://www.adaptec.co.jp/support/download/soft/aspi_471.html |
| 150 |
但し、これは円盤複写屋をビルドする為だけに使用します。 |
| 151 |
Windows2000/XP では何故か上手く動作しない事が多い為、 |
| 152 |
DLLのインストールはお勧めしません。 |
| 153 |
|
| 154 |
5. ダウンロードした aspi_v471.exe を実行し、どこかに解凍します。 |
| 155 |
|
| 156 |
6. 解凍したディレクトリの include ディレクトリ以下のファイルを |
| 157 |
円盤複写屋の Win32\WinAspi\adaptec ディレクトリにコピーします。 |
| 158 |
|
| 159 |
7. 以下のような構成になっている事を確認します。 |
| 160 |
C:\src\ |
| 161 |
+-- KgTheme\ (KgThemeソースツリー) |
| 162 |
+-- EnbanFukusya\ (円盤複写屋ソースツリー) |
| 163 |
+-- DriveAccess\ |
| 164 |
+-- Win32\ |
| 165 |
+-- res\ |
| 166 |
+-- WinAspi\ |
| 167 |
+-- adaptec\ |
| 168 |
+ *.h *.inc (6.でコピーしたファイル群) |
| 169 |
|
| 170 |
8. 円盤複写屋の Win32\EnbanFukusya.dsw を VisualStudio で開いて |
| 171 |
ビルドを実行して下さい。 |
| 172 |
|
| 173 |
|
| 174 |
Win32(gtk)版に必要なもの |
| 175 |
======================== |
| 176 |
|
| 177 |
もう一つのWindows版は、GTK2 を使用したものです。 |
| 178 |
Glade for Windows(http://gladewin32.sourceforge.net/)から |
| 179 |
Gtk+/Win32 Runtime Environment Installer をダウンロードしてインストール |
| 180 |
してください。 |
| 181 |
ビルドしたい場合は Gtk+/Win32 Development Environment Installer を |
| 182 |
ダウンロードしてインストールしてください。 |
| 183 |
|
| 184 |
|
| 185 |
Win32(gtk)版インストール方法 |
| 186 |
============================ |
| 187 |
|
| 188 |
gtkを使っていない Win32 版と同様に、インストーラの場合はそれを起動し、 |
| 189 |
zip圧縮の場合はお好きな場所に解凍してください。 |
| 190 |
|
| 191 |
theme/gtkrc を編集することでテーマを変える事ができます。 |
| 192 |
towadakoテーマに変更するには、次のように編集します。 |
| 193 |
#include "default\\gtkrc" |
| 194 |
include "towadako\\gtkrc" |
| 195 |
もし、他の GTK2 アプリケーションと同じテーマを使用したい場合は、 |
| 196 |
include "C:\\home\\.gtkrc-2.0" |
| 197 |
というように、環境変数 HOME にある gtkrc を include するようにしてください。 |
| 198 |
GTK用のテーマは http://gtk.themes.org/ などからダウンロードできるようです。 |
| 199 |
|
| 200 |
|
| 201 |
Win32(gtk)版ビルド方法 |
| 202 |
====================== |
| 203 |
|
| 204 |
開発環境として MinGW または Cygwin が必要です。 |
| 205 |
(私は Cygwin に含まれる MinGW でしかコンパイルしていません。) |
| 206 |
また、GTK2 開発者向けパッケージと、Adaptec ASPI ドライバが必要です。 |
| 207 |
|
| 208 |
MinGW : http://www.mingw.org/ |
| 209 |
Cygwin : http://www.cygwin.com/ |
| 210 |
GTK2 : http://gladewin32.sourceforge.net/ |
| 211 |
ASPIドライバ : http://www.adaptec.co.jp/support/download/soft/aspi_471.html |
| 212 |
|
| 213 |
必要なものが揃ったら円盤複写屋ソースファイルを解凍してください。 |
| 214 |
Win32-gtk/Makefile をエディタで開き、GTKHOME に GTK2 インストール先を |
| 215 |
設定してください。 |
| 216 |
|
| 217 |
例) Cygwin の場合 : GTKHOME = /cygdrive/c/GTK |
| 218 |
MinGW の場合 : GTKHOME = /c/GTK |
| 219 |
|
| 220 |
MinGW または Cygwin のシェルウィンドウを開き、 |
| 221 |
$ cd Win32-gtk |
| 222 |
$ make depend && make |
| 223 |
を実行してください。 |
| 224 |
その後、 |
| 225 |
$ make dist |
| 226 |
を実行すると Win32-gtk/dist/ に配布イメージでファイルが作成されます。 |
| 227 |
|
| 228 |
|
| 229 |
Linux版インストール方法 |
| 230 |
======================= |
| 231 |
|
| 232 |
VineLinux 2.6(i386)をお使いの場合は、バイナリパッケージをインストール |
| 233 |
できます。 |
| 234 |
例) rpm -ivh EnbanFukusyaYa-*.i386.rpm |
| 235 |
|
| 236 |
その他の RedHat系Linux では、src.rpm をリビルドした後インストールして |
| 237 |
ください。(%は一般ユーザのプロンプト、#はrootのプロンプトとして表現 |
| 238 |
しています。) |
| 239 |
例) |
| 240 |
% rpm --rebuild EnbanFukusyaYa-*.src.rpm |
| 241 |
# rpm -ivh ~/redhat/RPMS/*/EnbanFukusyaYa-*.rpm |
| 242 |
|
| 243 |
それ以外の(非RedHat系)Linuxでは、手作業でコンパイル&インストールして |
| 244 |
ください。 |
| 245 |
例) |
| 246 |
% tar zxf EnbanFukusyaYa-*-src.tar.gz |
| 247 |
% cd EnbanFukusyaYa-* |
| 248 |
% cd Linux ; sh to_euc.sh |
| 249 |
% cd src ; make |
| 250 |
# make install |
| 251 |
|
| 252 |
|
| 253 |
Linux版を使用する為には |
| 254 |
======================= |
| 255 |
|
| 256 |
使用するユーザに対してデバイスの書込み権限を与える必要があります。 |
| 257 |
|
| 258 |
最も簡単な方法は、該当デバイスファイルのモードを 0666 にする事です。 |
| 259 |
例1) ATAPI(Secondary/Master)接続の場合 |
| 260 |
# chmod 666 /dev/hdc |
| 261 |
例2) SCSI(1台目)接続の場合 |
| 262 |
# chmod 666 /dev/scd0 |
| 263 |
|
| 264 |
UNIX的に解決するには、書込み可能なグループを作り、そのグループの一員と |
| 265 |
するのが良いと思います。 |
| 266 |
例) cdwrite グループに権限を与え、taro ユーザが使えるようにする場合 |
| 267 |
# groupadd cdwrite |
| 268 |
# chgrp cdwrite /dev/hdc |
| 269 |
# chmod 664 /dev/hdc |
| 270 |
# usermod -G cdwrite taro |
| 271 |
|
| 272 |
次のようにして、ログインしたユーザに権限を与えるのも1つの方法だと思います。 |
| 273 |
例) wdm を使用している場合 |
| 274 |
# cat "chown \$USER /dev/hdc" >> /etc/X11/wdm/GiveConsole |
| 275 |
# cat "chown root /dev/hdc" >> /etc/X11/wdm/TakeConsole |
| 276 |
|
| 277 |
|
| 278 |
Linux版ビルド方法 |
| 279 |
================= |
| 280 |
|
| 281 |
1. ソースファイルを展開します。 |
| 282 |
(例) tar zxf EnbanFukusya-*-src.tar.gz |
| 283 |
|
| 284 |
2. サブディレクトリ Linux に入ります。 |
| 285 |
(例) cd EnbanFukusya-*/Linux |
| 286 |
|
| 287 |
3. to_euc.sh を使って共通ソースファイルを euc-jp に変換します。 |
| 288 |
(例) ./to_euc.sh |
| 289 |
|
| 290 |
4. src ディレクトリに入り、make を実行します。 |
| 291 |
(例) cd src; make |
| 292 |
|
| 293 |
|
| 294 |
MacOSX版インストール方法 |
| 295 |
======================== |
| 296 |
|
| 297 |
MacOSX版の配布ファイルはdmgですので、ダブルクリック操作等でマウント |
| 298 |
してください。 |
| 299 |
マウント後にEnbanFukusyaYa.appフォルダをお好きな場所(アプリケーション |
| 300 |
フォルダ等)にコピーしてください。 |
| 301 |
|
| 302 |
|
| 303 |
MacOSX版ビルド方法 |
| 304 |
================== |
| 305 |
|
| 306 |
ソースファイルを展開すると Xcode 用のプロジェクトファイルがあるので |
| 307 |
それを Xcode で開きます。 |
| 308 |
後は、Xcode の通常のビルド方法でビルドできます。 |
| 309 |
|
| 310 |
|
| 311 |
プラットフォーム別の制限事項・注意点 |
| 312 |
==================================== |
| 313 |
|
| 314 |
・MacOSXでは円盤複写屋起動後にディスクを入れる! |
| 315 |
OS標準設定では CD/DVD メディアを挿入すると、OS がすかさずマウント |
| 316 |
します。円盤複写屋には OS がマウントしたものを自動的に解除する |
| 317 |
ような機能は搭載していません。そして、ドライブへの排他的アクセス権 |
| 318 |
の取得に失敗し、ドライブが見えないという現象が発生します。 |
| 319 |
そのような場合はメディアを一度イジェクトし、円盤複写屋を起動してから |
| 320 |
メディアの挿入を行ってください。 |
| 321 |
Ver1.16以降はメディア挿入済でも円盤複写屋を起動しても大丈夫です。 |
| 322 |
但し、開始前にはイジェクトしておく必要があります。 |
| 323 |
|
| 324 |
|
| 325 |
ライセンス |
| 326 |
========== |
| 327 |
|
| 328 |
GPLに準ずるものとします。 |
| 329 |
|
| 330 |
-- |
| 331 |
Kagetani Hideto <banana@mxh.mesh.ne.jp> |