doc/ja_JP.eucJP/man/man1/doscmd.1
Kazuo Horikawa 01d2b6cb93 Update to 4.2-20001225-STABLE base.
Remove stale manpages (psbb.1, bad144.8)
2000-12-26 01:57:39 +00:00

757 lines
16 KiB
Groff

.\"
.\" Copyright (c) 1992, 1993, 1996
.\" Berkeley Software Design, Inc. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Berkeley Software
.\" Design, Inc.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Berkeley Software Design, Inc. ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Berkeley Software Design, Inc. BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" BSDI doscmd.1,v 2.3 1996/04/08 19:32:29 bostic Exp
.\" %FreeBSD: src/usr.bin/doscmd/doscmd.1,v 1.12.2.4 2000/12/19 16:22:08 ru Exp %
.\"
.\" jpman %Id: doscmd.1,v 1.3 1998/10/13 21:31:33 vanitas Stab %
.\" WORD: raw file ロウファイル (mknod.8 によると character special file)
.\" WORD: cooked device 加工されたデバイス (mknod.8 によると block special)
.Dd January 30, 1995
.Dt DOSCMD 1
.Os
.Sh 名称
.Nm doscmd
.Nd リアルモード DOS プログラムのサブセットを実行する
.Sh 書式
.Nm doscmd
.Fl 23AbDEfHIMOPRrtVvXxYz
.Fl c Ar file
.Fl d Ar file
.Fl i Ar port Ns Xo
.Op : Ns Ar cnt
.Xc
.Fl o Ar port Ns Xo
.Op : Ns Ar cnt
.Xc
.Fl S Ar int
.Fl U Ar int
.Op Ar cmd [args ...]
.Sh 解説
.Nm
は、DOS のサブセットをエミュレートして単一コマンド
.Ar cmd
.Ar args
を実行することができますし、
PC をエミュレートして DOS をブートすることもできます。
DOS をブートする場合には、より多様な DOS アプリケーションを
実行することができます。
MS-DOS 6.2 以降は
.Nm
ではうまく扱えないようです。
DOS をブートするには、
.Fl b
フラグを指定するか、
.Ar cmd
引数を省略してください。
.Fl b
を指定すると、
.Ar cmd
.Ar args
は無視されます。
.Pp
.Nm
は DOS のサブセットを提供するだけですが、
多くのプログラムを実行するには十分です。
コンパイラ、アセンブラ、リンカローダといったプログラムも実行できますが、
これらに限定するものではありません。
.Pp
次に示す多様なフラグを
.Nm
に指定可能です:
.Bl -tag -width indent
.It Fl 2
DOS プログラムからの
.Nm
エミュレータへのすべてのトラップのデバッグトレースを有効にします。
カーネルによって扱われるためにトレースされないトラップがあることに
注意してください。
.It Fl 3
割り込みベクタの変更や論理ドライブへのパスの初期化といった、
いくつかの下位レベル機能のデバッグを有効にします。
.\"
.\"
.\"
.It Fl A
エミュレータを通過するすべての割り込みのトレースを有効にします。
.Fl S
オプションを、255 個すべての割り込みの値とともに指定する場合と同じです。
.\"
.\"
.\"
.It Fl b
DOS をエミュレートする代りに DOS をブートします。
.\"
.\"
.\"
.It Fl c Ar file
画面へのすべての出力を捕まえて、
.Ar file
へ出力します。
画面の直接の書き込みは捕まえられないことに注意してください。
.\"
.\"
.\"
.It Fl C
MS-DOS の呼び出しエミュレーションと戻り値をリストします。
.\"
.\"
.\"
.It Fl D
ディスクとファイルの操作に関するデバッグを有効にします。
.\"
.\"
.\"
.It Fl d Ar file
デバッグ出力を、標準エラー出力の代りに
.Ar file
へ送ります。
.\"
.\"
.\"
.It Fl E
exec ルーチンのデバッグを有効にします。
.\"
.\"
.\"
.It Fl H
中途半端に実装された呼び出しのトレースを有効にします。
.\"
.\"
.\"
.It Fl I
すべての割り込みのトレースを有効にします。
.Fl A
とほとんど同じですが、有効になるトレースは少しだけ少ないです。
.\"
.\"
.\"
.It Fl i Ar port Ns Xo
.Op : Ns Ar cnt
.Xc
入出力ポート
.Ar port
からのすべての入力要求のトレースを有効にします。
もし
.Ar cnt
が与えられると、
.Ar port
から
.Ar port+cnt Ns No -1
までをトレースします。
.\"
.\"
.\"
.It Fl M
メモリ操作のデバッグを有効にします。
.\"
.\"
.\"
.It Fl O
デバッグ出力を、標準エラー出力の代りに、標準出力へ出力します。
.\"
.\"
.\"
.It Fl o Ar port Ns Xo
.Op : Ns Ar cnt
.Xc
入出力ポート
.Ar port
からのすべての出力要求のトレースを有効にします。
もし
.Ar cnt
が与えられると、
.Ar port
から
.Ar port+cnt Ns No -1
までをトレースします。
.\"
.\"
.\"
.It Fl p Ar port Ns Xo
.Op : Ns Ar cnt
.Xc
要求された I/O
.Ar port
(オプションとして
.Ar port+cnt Ns No -1
までの範囲を指定可能です) を実機ハードウェア I/O ポートへマップします。
アクセスには root 権限が必要でしょう。
.\"
.\"
.\"
.It Fl P
入出力ポート呼び出し (例えば
.Li inb ,
.Li outb
など) のトレースを有効にします。
.\"
.\"
.\"
.It Fl R
ファイルリダイレクトコードのデバッグを有効にします。
.\"
.\"
.\"
.It Fl r
生のキーボード入力と表示を使用します。<CTRL-ALT-DEL> を押すと、
doscmd は終了します。VGA グラフィックスが使えるようになります。
.\"
.\"
.\"
.It Fl S Ar int
割り込み
.Ar int
のトレースを有効にします。
.\"
.\"
.\"
.It Fl t
命令レベルのトレースを試みます。
トレースを混乱させる命令があります。
.Li <CTRL-ALT-T>
を押すとトレースモードの有効と無効とを切り替えます。
.\"
.\"
.\"
.It Fl U Ar int
割り込み
.Ar int
のトレースを無効にします。
.Fl A
.Fl I
の後で使用すると便利です。
.\"
.\"
.\"
.It Fl V
未知の割り込みを報告する際、レジスタダンプも含めます。
.\"
.\"
.\"
.It Fl v
.Fl AH
と同じです。
.\"
.\"
.\"
.It Fl X
XMS 操作のデバッグを有効にします。
.\"
.\"
.\"
.It Fl x
X11 のウィンドウを表示出力のためにオープンします。
他の方法では利用できない様々な割り込みを有効にします。
.Fl b
を指定しても、指定しなくても、使用可能です。
.\"
.\"
.\"
.It Fl Y
EMS 操作のデバッグを有効にします。
.\"
.\"
.\"
.It Fl z
DOS プログラムにジャンプする直前に
.Nm
を停止させます。
.Nm
を開発する以外の用途はほとんどありません。
.El
.Pp
起動時に、
.Nm
はコンフィギュレーションファイルを読もうとします。
まず、カレントディレクトリのファイル
.Cm .doscmdrc
を試します。もし見付からない場合、
.Cm $HOME
を検索します。それでもなお見付からない場合、ファイル
.Cm /etc/doscmdrc
を使用します。
.Pp
コンフィギュレーションファイルでは、コメントは \fB#\fP 文字から開始します。
また、空行は無視されます。
非空行は、環境変数またはデバイスを設定するコマンドです。
空白の前に \fB=\fP がある行は、環境変数への代入であると扱われ、
DOS の環境に追加されます。
その他の行は次のいずれかです。
.Bl -tag -width XXXXX
.\"
.\"
.\"
.It Cm boot Op Cm A: | C:
ブートするデバイスを設定します。
デフォルトでは、
.Cm A:
が定義されていれば最初に試され、もしそれが失敗すると、
.Cm C:
が試されます。
.\"
.\"
.\"
.It Cm assign Xo
.Op Cm A-Z :
.Op Fl ro
.Ar path
.Xc
.Tn BSD/OS
のディレクトリ
.Ar path
を、指定したドライブに割り当てます。
.Fl ro
フラグを指定すると、読み取り専用ファイルシステムになります。
DOS ブート時には、
.Pa /usr/libdata/doscmd/redir.com
バイナリが実行されるまでは、これらの割り当ては実行されません。
.\"
.\"
.\"
.It Cm assign Xo
.Cm lpt Ns Op Cm 0-4 :
.Op Cm direct
.Ar path
.Op Ar timeout
.Xc
指定したプリンタを
.Ar path
に割り当てようとします。
.Ar timeout
が指定された場合、
その期間 (秒数) 活動がない場合に、プリンタをフラッシュすべきことを示します。
デフォルトは 30 秒です。
.Ar path
が本物のプリンタを参照している場合には、
.Cm direct
オプションを指定してください。
.\"
.\"
.\"
.It Cm assign Xo
.Op Cm A: | B:
.Op Fl ro
.Ar path
.Ar density
.Xc
.It Cm assign Xo
.Cm flop Ns Op Cm 01
.Op Fl ro
.Ar path
.Ar density
.Xc
ファイル
.Ar path
を、次に利用可能なフロッピまたは指定したフロッピに割り当てます。
.Fl ro
が指定されると、フロッピは読み取り専用になります。
.Ar density
は次のいずれかです:
.sp
.Bl -tag -compact -width 1440x
.It 180
9 ヘッド 40 トラック片面フロッピ
.It 360
9 ヘッド 40 トラック両面フロッピ
.It 720
9 ヘッド 80 トラック両面フロッピ
.It 1200
15 ヘッド 80 トラック両面フロッピ
.It 1440
18 ヘッド 80 トラック両面フロッピ
.It 2880
36 ヘッド 80 トラック両面フロッピ
.El
.\"
.\"
.\"
.It Cm assign Xo
.Op Cm C-Z :
.Op Fl ro
.Ar path
.Op Ar type | cyl head sec
.Op Ar fdisk_tab
.Xc
.It Cm assign Xo
.Cm hard Ns Op Cm 01
.Op Fl ro
.Ar path
.Op Ar type | cyl head sec
.Op Ar fdisk_tab
.Xc
ファイル
.Ar path
を、次に利用可能なハードディスクまたは指定したハードディスクに割り当てます。
ディスクのジオメトリは、シリンダ数
.Ar cyl
とヘッド数
.Ar head
とトラックあたりのセクタ数
.Ar sec
で直接指定することもできますし、標準タイプから 1 つを
.Ar type
(後述) で指定することもできます。
オプションの
.Ar fdisk_tab
引数は、このディスクの最初のセクタとして使用するファイルを指定します。
.Ar path
がディスクの一部のみを参照する場合に、
偽の fdisk テーブルを挿入するために使用できます。
.\"
.\"
.\"
.It Cm assign Xo
.Cm com Ns Op Cm 1-4 :
.Ar path
.Ar port
.Ar irq
.Xc
.Ar path
で指定した tty または pty を、
指定した com ポートとして使用するように割り当てます。
ベースアドレスは
.Ar port
でエミュレートされ、割り込みは
.Ar irq
で指定されます。
このコードは軽くテストしただけなので、向かない用途があるかもしれません。
.\"
.\"
.\"
.It Cm "setver command version"
doscmd が DOS をエミュレートする場合、
.Cm command
という名前のプログラムから呼ばれた時に、DOS バージョンとして
.Cm version
を報告するようにします。
.Cm version
のフォーマットは、後述の
.Cm MS_VERSION
変数と同じです。
.El
.Pp
.Cm C:
は、まだ割り当てられていない場合には、ルートディレクトリ (/) に割り当てられ、
.Cm C:
のカレントディレクトリは、現在のカレントディレクトリに設定されます。
これはすなわち、
.Pp
Unknown interrupt 21 function 99
.sp
.Pp
のように起動しても、動作しないことを意味することに注意してください。
なぜなら
.Cm C:
ディレクトリはカレントパスで開始するからです。
また、次の環境変数も、未設定の場合には設定されます:
.Bd -literal
.Cm "COMSPEC=C:\eCOMMAND.COM
.Cm "PATH=C:\e
.Cm "PROMPT=DOS>
.Ed
.Pp
.Cm PATH
変数は
.Ar cmd
を検索する際にも使用されます。
DOS のように、まず
.Ar cmd.com
が検索され、それから
.Ar cmd.exe
が検索されます。
.Sh コンフィギュレーション変数
.Pp
doscmd の内部変数であり、実際の DOS の環境では設定されない変数が、
.Cm .doscmdrc
ファイル中にいくつかあります。
それらを以下に示します:
.Bl -tag -width MS_VERSION
.It Cm MS_VERSION
この変数の値は、
.Nm
が報告を行なう DOS のバージョンを決定するために使用されます。
.Nm
は、動作を変えずに、報告方法だけを変えることに注意してください。
デフォルトでは、この値は
.Cm 410
であり、
.Tn "MS-DOS
バージョン 4.1
に対応します。
バージョン 3.2 (以前の
.Nm
のデフォルトでした) に変更するには、値
.Cm 320
を使用してください。
.It Cm X11_FONT
この変数の値は X window で使用するフォントを決定します。
デフォルトのフォントは
.Cm vga
であり
.Pa /usr/libdata/doscmd/fonts
にインストールされています。
X サーバがフォントを見付けられるように
.Ql xset fp+ /usr/libdata/doscmd/fonts
.Pa ${HOME}/.xsession
.Pa ${HOME}/.xinitrc
に追加してください。
.El
.Sh ファイル変換
.Nm
.Tn BSD/OS
のファイル名を
.Tn DOS
のファイル名に変換する際、すべて大文字に変換し、無効な文字を除去します。
ASCII ファイルを、DOS の世界で好まれる
.Cm <CR><LF>
形式へ変換するということはありません。
ASCII ファイルを変換するには、プログラム
.Xr bsd2dos 1
を使用してください。
.bp
.Sh ディスクタイプ
.TS H
expand, box;
r | r | r | r | r.
タイプ シリンダ ヘッド セクタ サイズ
=
01 306 4 17 10MB
02 615 4 17 20MB
03 615 6 17 30MB
04 940 8 17 62MB
05 940 6 17 46MB
_
06 615 4 17 20MB
07 462 8 17 30MB
08 733 5 17 30MB
09 900 15 17 112MB
10 820 3 17 20MB
_
11 855 5 17 35MB
12 855 7 17 49MB
13 306 8 17 20MB
14 733 7 17 42MB
15 976 15 17 121MB
_
16 612 4 17 20MB
17 977 5 17 40MB
18 977 7 17 56MB
19 1024 7 17 59MB
20 733 5 17 30MB
_
21 733 7 17 42MB
22 733 5 17 30MB
23 306 4 17 10MB
24 925 7 17 53MB
25 925 9 17 69MB
_
26 754 7 17 43MB
27 754 11 17 68MB
28 699 7 17 40MB
29 823 10 17 68MB
30 918 7 17 53MB
_
31 1024 11 17 93MB
32 1024 15 17 127MB
33 1024 5 17 42MB
34 612 2 17 10MB
35 1024 9 17 76MB
_
36 1024 8 17 68MB
37 615 8 17 40MB
38 987 3 17 24MB
39 987 7 17 57MB
40 820 6 17 40MB
_
41 977 5 17 40MB
42 981 5 17 40MB
43 830 7 17 48MB
44 830 10 17 68MB
45 917 15 17 114MB
_
46 1224 15 17 152MB
.TE
.bp
.Sh 擬似ディスクへの DOS のインストール
.Pp
doscmd の擬似ハードディスクに DOS をインストールするには、
次のようにします:
.Bl -tag -width XXXX
.It 1
少なくとも次の記述を含む
.Pa .doscmdrc
を作成します:
.Bd -literal -offset indent
assign A: /dev/fd0.1440 1440
assign A: /dev/fd0.720 720
assign hard boot_drive 80 2 2
.Ed
.Pp
A: ドライブに対応するロウファイル (訳注: キャラクタスペシャルファイル) を、
システムに応じて修正する必要があるかもしれません。
この例では、HD ドライブを最初に試し、DD ドライブを次に試します
(訳注: HD = High Density; 高密度、DD = Double Density; 倍密度)。
.\" HD = Hard Disk と思ってしまうと混乱するので、訳注を追加したい。
.\" HD = High Density, DD = Double Density
.\" 1998/09/20 by horikawa@jp.FreeBSD.org
.Pp
ここでは、
ロウデバイスやロウファイルのみを使用する必要があることに注意してください。
加工された (cooked) デバイス (訳注: ブロックスペシャルファイル)
を使用しないこと!
(おそらくハードディスクは大丈夫でしょうが、フロッピは確実に駄目です)
.Pp
.Li boot_drive
は、ブート可能なイメージを格納するファイルの名前です。
.Li 80 2 2
という 3 つの数字は、
ドライブが 80 個のシリンダと 2 個のヘッドとトラックあたり 2 個のセクタを
持つことを示します。
これは、MS-DOS 5.0 を
.Pa config.sys
.Pa autoexec.bat
のファイルと共にインストールすることが可能な、最小のドライブです。
.Pp
もっと大きなブートドライブを作成したいかもしれません。
.Pp
ファイル
.Pa boot_drive
は存在する必要がありますので、touch コマンドで作成してください。
.It 2
MS-DOS をブート可能で fdisk, format, sys コマンドを含むフロッピディスクを、
A: ドライブに挿入してください。
ファイル redir.com もフロッピにコピーしてください。
この際、msdos ファイルシステム型でフロッピをマウントするか、mtools
を使用してください
(例えば
.Li mwrite redir.com a:
とします)。
.It 3
doscmd を実行してください。
.It 4
> プロンプトにて、
.Li fdisk
とタイプします。
.It 5
.Li Create DOS partition or Logical Drive
を選択します。
.It 6
.Li Create Primary DOS Partition
を選択します。
.It 7
大きさを指定します (典型的にはドライブ全体です。それでも非常に小さいものです。)
.It 8
.Li <ESC>
を何度か押して、FDISK を終了します。
.It 9
doscmd が実行中断するでしょうから、
そうなった場合、doscmd を再度実行します。
.It 10
> プロンプトにて、
.Li format c:
とタイプし、指示に従います。
.It 11
> プロンプトにて、
.Li sys c:
とタイプします。
.It 12
doscmd を終了します。
.It 13
ドライブからフロッピを取り除くか、
.Bd -literal -offset indent
boot C:
.Ed
という行をあなたの
.Pa .doscmdrc
に加えてください。
.It 14
新しいディスクから DOS を動かします。
config.sys と autoexec.bat の両ファイルが欲しいでしょうから、
まず最初は次のようにします:
.Bd -literal -offset indent
> copy con: config.sys
LASTDRIVE=Z
^Z
> copy con: autoexec.bat
@echo off
redir.com
^Z
.Ed
.It 15
doscmd を終了します。
.It 16
.Fx
ディスクを組み込む魔法のプログラム
.Li redir
を自動的に呼び出す、ブート可能な擬似ディスクが完成しました。
FreeBSD ディスクを使用するためには、次の行をあなたの .doscmdrc に追加します:
.Bd -literal -offset indent
assign D: /usr/dos
assign P: -ro /usr/prb
.Ed
名前の問題により、
アクセスできないファイルがあるかもしれないことに注意してください。
.El
.Sh 診断
.Pp
実装されていない割り込みに出会うと、
.Nm
は次のようなメッセージを表示し終了します:
.Pp
.Dl Unknown interrupt 21 function 99
.Pp
.Pp
.Nm
.Fl x
スイッチ指定時に、
.Ic X11 support not compiled in
というメッセージが表示された場合、環境変数
.Ev X11BASE
を X Window System をインストールした場所 (通常
.Pa /usr/X11R6
) に設定し、ソースディレクトリ (通常
.Pa /usr/src/usr.bin/doscmd
)
.Ic make install
とタイプすることで、本機能を有効にすることができます。
このように動作するためには、
X プログラマキットがインストールしてある必要があります。
.Sh 作者
.An Pace Willisson ,
.An Paul Borman
.Sh 歴史
.Nm
は BSD/386 に初めて登場しました。