--- nono/doc/index.php 2026/04/29 17:05:07 1.1.1.12
+++ nono/doc/index.php 2026/04/29 17:05:34 1.1.1.19
@@ -3,49 +3,67 @@
Copyright (C) 2020 nono project
Licensed under nono-license.txt
-->
-
+
+
+
+
ビルドには以下が必要です。
-NetBSD(pkgsrc) なら wxWidgets は pkgsrc/x11/wxGTK30 です
-(OPTIONS:gtk3 で動作確認しています)。
-
The followings are required for build.
-If you use NetBSD(pkgsrc),
-wxWidgets is pkgsrc/x11/wxGTK30 (OPTIONS:gtk3 is tested).
+
The followings are required for build.
- make (BSD make, not GNU make)
- C/C++ compiler which supports -std=c++14.
-(For gcc, 7.4 or newer works at least.
-For clang, 7.0 - 13.0 works at least.)
- - wxWidgets 3.0.x "stable" branch
-(but 3.1.x "development" branch is not recommended)
+(For gcc, at least 7.4 or later.
+For clang, at least 7.0 or later.)
+
- wxWidgets 3.2.x "stable" branch.
+ (3.0.x "old stable" branch would also work.)
- gettext
+
- libslirp
+(4.7.0 or later is comfirmed, 4.8.0 or later is preferred.)
+NetBSD(pkgsrc) なら必要なパッケージは
+x11/wxGTK32 と net/libslirp です。
+wxGTK32 の代わりに wxGTK30 でも動くはずです。
+If you use NetBSD(pkgsrc),
+x11/wxGTK32 and net/libslirp are needed.
+wxGTK30 would work.
+
+
(NetBSD 以外でのビルドはサポートしていませんが)
-Ubuntu 20.04 ではたぶん以下のパッケージが必要です。
-You may need the following packages on Ubuntu 20.04
+Ubuntu 24.04 ではたぶん以下のパッケージが必要です。
+You may need the following packages on Ubuntu 24.04
(though we won't support non-NetBSD platform).
-
--
-bmake
-build-essential
-gettext
-libbsd-dev
-libedit-dev
-libkqueue-dev
-libwxgtk3.0-gtk-dev
+
+-
+bmake,
+build-essential,
+gettext,
+libbsd-dev,
+libkqueue-dev,
+libslirp-dev,
+libwxgtk3.2-dev,
zlib1g-dev
-
+
nono のソースアーカイブを展開したら以下のようにビルドします。
-configure には環境変数 CC、CXX でコンパイラを指定することが出来ます。
-また wx-config が標準的な名前で提供されていないために見付けられない場合には
-環境変数 WX_CONFIG にパスを指定することが出来ます。
-Extract the nono's source archive and build as following.
-You can specify C/C++ compiler using environment variable CC and CXX
-if configure cannot find standard name suitable compiler.
-Also, you can specify wx-config path using environment variable WX_CONFIG
-if configure cannot find wx-config.
-
--DNOTEST は開発者用のテストツールをビルドしないためのものです。
-With -DNOTEST, the build excludes test tools which is needed
-for developers only.
+Extract the nono's source archive and build as following.
+
-% ./configure
-% make -DNOTEST depend
-% make -DNOTEST
+% ./configure [<options>]
+% make -DRELEASE depend
+% make -DRELEASE
% su
# make install
-2つの実行ファイルがインストールされます。
+configure には環境変数 CC、CXX でコンパイラを指定することが出来ます。
+wx-config が標準的な名前で提供されていないために見付けられない場合には
+環境変数 WX_CONFIG にパスを指定することが出来ます。
+また configure のオプションとして以下が指定できます。
+You can specify C/C++ compiler using environment variable CC and CXX
+if configure cannot find standard name suitable compiler.
+You can specify wx-config path using environment variable WX_CONFIG
+if configure cannot find wx-config.
+Also, you can specify the following option for configure.
+
+
+
+- --disable-avx2 …
+amd64(x86_64) で AVX2 対応コードを無効にします。
+デフォルトでは、コンパイラが AVX2 に対応していることを
+configure が検出できれば AVX2 対応コードを生成します。
+
Disable AVX2 support on amd64(x86_64).
+By the default, it will generate AVX2 supported binary
+only if configure detects that compiler supports AVX2.
+ - --disable-neon …
+aarch64 で NEON 対応コードを無効にします。
+デフォルトでは、コンパイラが NEON に対応していることを
+configure が検出できれば NEON 対応コードを生成します。
+
Disable NEON support on aarch64.
+By the default, it will generate NEON supported binary
+only if configure detects that compiler supports NEON.
+
+
+make install により2つの実行ファイルがインストールされます。
nono が GUI 版実行ファイル、
nono-cli がコマンドライン版です。
-Two executables will be installed.
+make install will install two executables.
nono is the GUI executable and nono-cli is
the command line executable.
-
+
+
-
-VM の設定ファイルはその VM ディレクトリ内の nono.cfg
-(または -c で指定したファイル) です。
-書式は
key = value 形式で1行1項目ずつです。
+nono の設定はいずれも以下の順序で適用されます。
+
nono's configurations are always applied in the following order.
+
+- デフォルト値
Default value
+ - ~/.nono.cfg があればその内容
+
Contents of ~/.nono.cfg if exists
+ - VM ディレクトリ内の nono.cfg (または -c で指定したファイル)
+があればその内容
+
Contents of nono.cfg in the VM directory (or the file specified by -c option) if exists
+ - コマンドラインオプション
Command line option
+
+ファイルの書式はどちらも
key = value 形式で1行1項目ずつです。
key と
value の前後の空白は取り除かれます。
また空行と "
#" で始まる行は無視します。
知らないキーは警告を出した上で無視します。
-
VM configuration file is nono.cfg
-(or the file specified by -c option) in the VM directory.
-Its syntax is key = value format, one per line.
+同じキーが複数回現れた場合、
+上に列挙した順に後から書いたほうで上書きし、
+同じファイル内でも同様に後に書いたほうで上書きします。
+コマンドラインオプション -V 等はこれをさらに上書きします。
+コマンドラインオプションで同じキーが複数回現れた場合も後に書いたほうが上書きします。
+
+The syntax of both files is key = value format, one per line.
White spaces before and after key and value are ignored.
Blank lines, lines beginning with "#" are also ignored.
-The lines with unrecognized key are ignored with a warning.
+The lines with unrecognized key are ignored with a warning.
+
+If the same key appears more than once,
+the latter overwrites the former in the above order.
+If the same key appears in a file,
+the latter overwrites the former in the same manner.
+Then, command line option -V etc. overwrites them.
+If the same key appears more than once in the command line option,
+do in the same manner.
+
+vmtype を除くすべての設定項目はそれぞれデフォルト値を持っています。
+つまり少なくとも vmtype だけは設定ファイルかコマンドラインオプションで指定する必要があります。
+All configuration items except vmtype have default value.
+It means, you need to specify at least only vmtype
+by configuration file or commandline option.
設定項目は次の通りです。
The configuration items are:
@@ -381,18 +480,40 @@ VM 種別を以下のいずれかから
Specifies the VM type from the following.
This field is mandatory.
-| | luna | … LUNA-I
- |
| luna88k | … LUNA-88K
+ |
| | luna | … LUNA-I
+ |
| luna88k | … LUNA-88K
+ |
| x68030 | … X68030
+ |
| news | … NWS-1750 (Just a joke)
+ |
| virt-m68k (or virt68k) | … virt-m68k
|
_EOM_
);
+config_item("cgrom-image =
path", <<<_EOM_
+(X68030 Only)
+X68030 の外部 CGROM イメージファイルのパスを指定します。
+CGROM は 768KB です。
+
path がファイル名のみなら VM ディレクトリとその親ディレクトリからこのファイル名を検索します。
+
path が相対パスなら VM ディレクトリからの相対パスになります (現在のディレクトリからではありません)。
+空にすると nono 内蔵の互換 CGROM を使用します。
+デフォルトは空です。
+
Specifies the X68030's external CGROM image file path.
+This CGROM is 768KB.
+If the path does not have any path delimiters,
+the VM directory and then its parent directory will be searched.
+If the path is a relative path,
+it will be path from the VM directory, not from the current directory.
+If the path is empty, nono's builtin compatible CGROM will be used.
+The default value is empty.
+_EOM_
+);
+
config_item("clock-sync =
value", <<<_EOM_
仮想マシン内の時刻の同期方法を指定します。
real なら実時間に同期、
virtual なら仮想時間に同期します。
デフォルトは
real です。
この機能は実験中のため将来予告なく仕様が変更になる可能性があります。
-
Specify how to synchronize the time in virtual machine.
+Specifies how to synchronize the time in virtual machine.
If real, synchronize with the real time;
if virtual, synchronize with the virtual time.
The default is real.
@@ -401,8 +522,7 @@ without notice.
_EOM_
);
-config_item("debugger-driver = string", <<<_EOM_
-
+config_item("debugger-driver = string", <<<_EOM_
デバッガのコンソールドライバを指定します。
stdio、tcp、none が選択可能です。
stdio は標準入出力を使用します。
@@ -415,47 +535,245 @@ config_item("debugger-
tcp listens on TCP port using TELNET protocol.
none doesn't make any communication with the host.
The default is none.
-
_EOM_
);
-config_item("
debugger-tcp-port = integer",
+config_item("debugger-tcp-port =
integer",
<<<_EOM_
-
デバッガのコンソールドライバが tcp の時の TCP 待ち受けポート番号を指定します。
-Specify the TCP port number that debugger console driver listens.
-
+
Specifies the TCP port number that debugger console driver listens.
+_EOM_
+);
+
+?>
yesno", <<<_EOM_
+(LUNA and NEWS Only)
+機種に依存せず DIPSW を自動起動に設定するかどうか指定します。
+"
yes" なら自動起動するように、
+"
no" なら自動起動しないように DIPSW 設定を上書きします。
+"" (空) なら何もしません。デフォルトは "" です。
+このオプションは
luna-dipsw1 や
news-dipsw
+の状態が設定ファイルやコマンドラインオプションによって確定した後に
+該当のスイッチだけを変更します。
+
Specifies whether to configure DIPSW to boot automatically,
+regardless of the models.
+"yes" overwrites DIPSW, to boot automatically.
+"no" overwrites DIPSW, not to boot automatically.
+"" (Empty) does nothing.
+The default value is "".
+This option only changes the appropriate switch(es)
+after the luna-dipsw1 or news-dipsw configuration
+is determined by the configuration file or command line options.
+_EOM_
+);
+
+config_item("dipsw-serial =
yesno", <<<_EOM_
+(LUNA and NEWS Only)
+機種に依存せず DIPSW をシリアルコンソールを使うかどうか指定します。
+"
yes" ならシリアルコンソールを使うように、
+"
no" ならシリアルコンソールを使わないように DIPSW 設定を上書きします。
+"" (空) なら何もしません。デフォルトは "" です。
+
luna-dipsw1 もしくは
news-dipsw (機種による)
+の状態が設定ファイルやコマンドラインオプションによって確定した後に
+このオプションによって該当のスイッチだけを変更します。
+NEWS でシリアルコンソールを使わないを選択した場合、
+SW1,2,3 は OFF, OFF, ON にセットされ、
+NWB-512 モノクロコンソール(未実装) が選択されます。
+
Specifies whether to configure DIPSW to use serial console,
+regardless of the models.
+"yes" overwrites DIPSW, to use serial console.
+"no" overwrites DIPSW, not to use serial console.
+"" (Empty) does nothing.
+The default value is "".
+This option only changes the appropriate switch(es)
+after the luna-dipsw1 or news-dipsw configuration
+is determined by the configuration file or command line options.
+If you choose not to use serial console on NEWS,
+SW1,2,3 will be set OFF, OFF, ON respectively,
+and NWB-512 monochrome console (not implemented) will be chosen.
_EOM_
);
-config_item("ethernet-macaddr =
string", <<<_EOM_
-イーサネットデバイスの仮想マシン側の MAC アドレスを指定します。
+config_item(
+ "ethernet-macaddr =
string" .
+ "ethernet
N-macaddr =
string",
+<<<_EOM_
+
N
+番目のイーサネットデバイスの仮想マシン側の MAC アドレスを指定します。
XX:XX:XX:XX:XX:XX
形式で指定します。
auto なら自動的に決定します。
デフォルトは
auto です。
+
ethernet-macaddr は
ethernet0-macaddr の別名です。
+_EOM_
+);
+
+config_item("exec-file =
path", <<<_EOM_
+起動時にロードするホストの実行ファイルを指定します。
+-X オプションとほぼ同等ですが、相対パスは VM ディレクトリを起点にします。
+
Specifiies the host file that will be loaded at startup.
+This is mostly the same as -X option.
+The only one difference is that relative path originates the VM directory.
+_EOM_
+);
+
+config_item("exec-bootparam =
string", <<<_EOM_
+(virt-m68k Only)
+カーネルに渡すブートパラメータを指定します。
+内容はたぶん OS ごとに異なりますが、
+NetBSD/virt68k では "
root=ld0" (クォートを除く)
+のようにしてカーネルにルートデバイスを指示します。
+
Specifies the boot parameter that is passed to the kernel.
+The syntax may differ depending on the OS, but in NetBSD/virt68k,
+you can specify the root device to the kernel, like as
+"root=ld0" (excluding quotes).
+_EOM_
+);
+
+config_item("exec-initrd =
path", <<<_EOM_
+(virt-m68k Only)
+カーネルに渡す初期 RAM ディスクイメージのパスを指定します。
+--initrd オプションとほぼ同等ですが、相対パスは VM ディレクトリを起点にします。
+
Specifies the initial ramdisk image passed to the kernel.
+This is mostly the same as --initrd option.
+The only one difference is that relative path originates the VM directory.
+_EOM_
+);
+
+config_item("extram-size =
integer", <<<_EOM_
+(X68030 Only)
+拡張メモリのサイズを MB 単位で指定します。
+今の所以下だけが指定できます。
+
Specifies the extended RAM size in MB.
+For now, only the following can be specified.
+
+- 0 … 拡張メモリを使用しません。デフォルトです。
+
No extended memory. It's default.
+ - 16 … TS-6BE16 互換モードで、
+アドレス $0100'0000 からの 16MB です。
+
TS-6BE16 compatible mode.
+Its address is from $0100'0000 and the size is 16MB.
+ - 128/256/512 … 060turbo 互換モードで、
+アドレス $1000'0000 からです。
+
060turbo compatible mode. Its address is from $1000'0000.
+
+_EOM_
+);
+
+config_item("fast-mode =
integer", <<<_EOM_
+起動時の動作モードを指定します。0 なら通常モード、1 なら高速モードです。
+デフォルトは 0 です。
+コマンドラインオプション
-f でも高速モードへのみ指定可能です。
+_EOM_
+);
+
+config_item("fd-drive =
integer", <<<_EOM_
+(X68030 Only)
+フロッピードライブの数を 0 から 4 で指定します。
+デフォルトは 2 です。
+
Specifies the number of floppy drives from 0 to 4.
+The default is 2.
+_EOM_
+);
+
+config_item("fd
N-image =
path", <<<_EOM_
+(X68030 Only)
+フロッピードライブ
N に起動時に挿入するディスクイメージを指定します。
+イメージパスが相対パスなら VM ディレクトリからの相対パスになります。
+起動後はメニューから操作できます。
+デフォルトは空です。
+
Specifies a diskimage to be inserted to floppy drive N at startup.
+If the path is relative path, it is from the VM directory.
+You can also operate them from menu after startup.
+The default is empty.
+_EOM_
+);
+
+config_item("fpu-type =
value", <<<_EOM_
+(X68030 and virt-m68k Only)
+68030 に FPU コプロセッサを装着するかどうか指定しています。
+この設定は
mpu-type が
68030 の時のみ有効です。
+
none なら FPU コプロセッサを装着しません。
+
68881 なら FPU コプロセッサとして 68881 を装着します。
+現状 68882 はサポートしていません。
+また
none の代わりに
0、
+
68881 の代わりに
1 と書くこともできます。
+デフォルトは
68881 です。
+LUNA-I はたぶん 68881 搭載モデルのみのため変更できません。
+
Specifies whether to install FPU co-processor or not.
+This item is meaningful only if mpu-type is 68030.
+If none, FPU co-processor is not installed.
+If 68881, 68881 FPU co-processor is installed.
+68882 is not supported yet.
+And, none can also be written as 0,
+68881 can also be written as 1.
+The default is 68881.
+This item cannot be specified on LUNA-I
+because (probably) all LUNA-I has 68881.
+_EOM_
+);
+
+config_item("host-avx2 =
string", <<<_EOM_
+ホストが amd64(x86_64) の場合にレンダリングに AVX2
+アクセラレーションを使うかどうかを指定します。
+
auto なら起動時にホスト CPU が AVX2 をサポートしているか確認し、
+サポートしていれば使用します。
+
no なら AVX2 コードを実行しません。
+デフォルトは
auto です。
+amd64(x86_64) 以外のホストではこの設定は無視されます。
+
Specifies whether to use AVX2 acceleration for rendering
+on amd64(x86_64) host.
+If auto, nono checks whether the host CPU supports AVX2
+on startup and use it if it does.
+If no, nono will not execute AVX2 instructions.
+The default is auto.
+Note that this item is ignored if the host is not amd64(x86_64).
+_EOM_
+);
+
+config_item("host-neon =
string", <<<_EOM_
+ホストが aarch64 の場合にレンダリングに NEON
+アクセラレーションを使うかどうかを指定します。
+
auto なら使用し、
+
no なら使用しません。
+デフォルトは
auto です。
+aarch64 以外のホストではこの設定は無視されます。
+
Specifies whether to use NEON acceleration for rendering
+on aarch64 host.
+If auto, nono uses NEON code.
+If no, nono don't use NEON code.
+The default is auto.
+Note that this item is ignored if the host is not aarch64.
_EOM_
);
config_item("hostcom-driver =
string", <<<_EOM_
シリアルポートのホスト側ドライバを指定します。
-
stdio、
tcp、
none が選択可能です。
-
stdio は標準入出力を使用します。
-
tcp は TCP ポートで TELNET プロトコルで待ち受けます。
+
stdio なら標準入出力を使用します。
+
tcp なら TCP ポートで TELNET プロトコルで待ち受けます。
+
cons ならメイン画面で端末エミュレーションを行います。
none ならホスト側とは一切通信を行いません。
-デフォルトは
none です。
+ゲスト機種によって対応しているホスト側ドライバの種類とデフォルト値が変わります。
+LUNA-I、LUNA-88K、X68030 では
stdio、
tcp、
none
+が選択可能でデフォルトは
none です。
+virt-m68k、NEWS では
stdio、
tcp、
cons、
none
+すべてが選択可能でデフォルトは
cons です。
Specifies the host driver of serial port.
-stdio, tcp, and none can be specified.
stdio uses the standard input/output.
tcp listens on TCP port using TELNET protocol.
+cons does a terminal emulation in main panel.
none doesn't make any communication with the host.
-The default is none.
+The choices and default value vary depending on the guest type.
+On LUNA-I, LUNA-88K and X68030, you can choose
stdio,
tcp
+or
none, and the default is
none.
+On virt-m68k and NEWS, you can choose all of
stdio,
tcp,
+
cons or
none, and the default is
cons.
_EOM_
);
config_item("hostcom-tcp-port =
integer", <<<_EOM_
ホストドライバが tcp の時の TCP 待ち受けポート番号を指定します。
-
Specify the TCP port number that host driver listens.
+
Specifies the TCP port number that host driver listens.
_EOM_
);
@@ -463,7 +781,7 @@ config_item("hostcom-fallback =
integ
hostcom-driver で指定したドライバが使用可能でなかった時、
0 ならプロセスを終了します。1 なら none を選択して実行を継続します。
デフォルトは 0 です。
-Specify the behavior when the driver which is selected by
+Specifies the behavior when the driver which is selected by
hostcom-driver is unusable;
terminate the process if 0,
or continue to run using the none driver if 1.
@@ -472,6 +790,7 @@ _EOM_
);
config_item("hostkbd-input = string", <<<_EOM_
+(LUNA and X68030 only)
ホストキーボードの入力モードを指定します。
char ならキャラクタ入力モード、
jp なら日本語キーボードモードです。
@@ -485,39 +804,68 @@ See About VM for
_EOM_
);
-config_item("hostnet-driver = string", <<<_EOM_
-イーサネットデバイスのホスト側ドライバを指定します。
-afpacket、bpf、tap のうち
-ホスト OS がサポートしているものと auto、none が選択可能です。
-afpacket は Linux の AF_PACKET ソケットを使用します。
-bpf は bpf(4) デバイスを使用します。
-tap は tap(4) インタフェースを使用します。
-none ならホスト側とは一切通信を行いません。
-auto ならホスト OS がサポートしているもののうち
-tap → afpacket → bpf を順に試します。
-デフォルトは auto です。
-Specifies the host driver of ethernet device.
-afpacket, bpf, and tap can be specified
-only if the host OS supports them.
-auto and none can always be specified.
-afpacket uses Linux's AF_PACKET socket,
-bpf uses bpf(4) device,
-and tap uses tap(4) interface.
-none doesn't make any communication with the host.
-If auto is specified,
-it tries tap, afpacket, and bpf in that order
-(if the host OS supports them).
-The default is auto.
+config_item(
+ "hostnet-driver = string
" .
+ "hostnet-afpacket-ifname = ifname
" .
+ "hostnet-bpf-ifname = ifname
" .
+ "hostnet-tap-devpath = path
" .
+ "hostnet-usermode-hostfwd = string
" .
+ "hostnet-usermode-net = string
" .
+ "hostnet-usermode-net6 = string
" .
+ "hostnet-fallback = integer
", <<<_EOM_
+それぞれ hostnet0-* の別名です。
+_EOM_
+);
+
+config_item("hostnetN-driver = string", <<<_EOM_
+N
+番目のイーサネットデバイスのホスト側ドライバを指定します。
+afpacket、bpf、tap、usermode のうち
+configure で検出したものと auto、none が選択可能です。
+Specifies the host driver of N-th
+ethernet device.
+afpacket, bpf, tap and usermode can be specified
+only if the configure detects them.
+auto and none can always be specified.
+
+- afpacket は Linux の AF_PACKET ソケットを使用します。
+ホスト自身とは通信できません。
+
afpacket uses Linux's AF_PACKET socket.
+It cannot communicate with the host itself.
+ - bpf は bpf(4) デバイスを使用します。
+ホスト自身とは通信できません。
+
bpf uses bpf(4) device.
+It cannot communicate with the host itself.
+ - tap は tap(4) デバイスを使用します。
+
tap uses tap(4) device.
+ - usermode は libslirp を使用したユーザモードです。
+nono 自身が NAT ルータ、DHCP サーバ、DNS サーバの機能を持ちます。
+
usermode is an usermode network using libslirp.
+nono also acts as NAT router, DHCP server and DNS server.
+
+ - none ならホスト側とは一切通信を行いません。
+
none doesn't make any communication with the host.
+
+
+auto は usermode と同義ですが、
+configure で libslirp が無効になっている場合は none と同義になります。
+hostnet0-driver のデフォルトは auto、
+hostnet1-driver のデフォルトは none です。
+
+auto is a synonym for usermode, but
+when libslirp is disabled on configure, it is a synonym for none.
+The default of hostnet0-driver is auto,
+the default of hostnet1-driver is none.
_EOM_
);
-config_item("hostnet-afpacket-ifname = ifname", <<<_EOM_
+config_item("hostnetN-afpacket-ifname = ifname", <<<_EOM_
ホストドライバが afpacket の時にバインドするインタフェースを1つ指定します。
ifname が auto
なら使用可能なインタフェースを1つ自動的に選択します。
デフォルトは auto です。
なお、このホストドライバではローカルホストとの通信は出来ません。
-Specify an interface name to bind to, when the host driver is afpacket.
+Specifies an interface name to bind to, when the host driver is afpacket.
If auto is specified as ifname,
it selects an usable interface automatically.
The default is auto.
@@ -525,13 +873,13 @@ Note that this host driver cannot commun
_EOM_
);
-config_item("hostnet-bpf-ifname = ifname", <<<_EOM_
+config_item("hostnetN-bpf-ifname = ifname", <<<_EOM_
ホストドライバが bpf の時にバインドするインタフェースを1つ指定します。
ifname が auto
なら使用可能なインタフェースを1つ自動的に選択します。
デフォルトは auto です。
なお、このホストドライバではローカルホストとの通信は出来ません。
-Specify an interface name to bind to, when the host driver is bpf.
+Specifies an interface name to bind to, when the host driver is bpf.
If auto is specified as ifname,
it selects an usable interface automatically.
The default is auto.
@@ -539,7 +887,7 @@ Note that this host driver cannot commun
_EOM_
);
-config_item("hostnet-tap-devpath = path", <<<_EOM_
+config_item("hostnetN-tap-devpath = path", <<<_EOM_
ホストドライバが tap の時に使用するデバイスを1つフルパスで指定します。
デフォルトは auto で、この場合は自動的にデバイスを選択します。
この時の探し方はホスト OS によって異なります。
@@ -553,7 +901,7 @@ NetBSD (と FreeBSD) ならまず /d
nono-ifup, nono-ifdown という名前のシェルスクリプトが必要です。
何もすることがない場合でも正常終了する空のシェルスクリプトを用意してください。
-Specify a device pathname, when the host driver is tap.
+Specifies a device pathname, when the host driver is tap.
The default is auto.
The behavior in this case depends on the host OS.
On Linux, it's the same as /dev/net/tun.
@@ -570,30 +918,121 @@ you need to prepare empty scripts that w
_EOM_
);
-config_item("hostnet-fallback = integer", <<<_EOM_
-hostnet-driver で指定したドライバが使用可能でなかった時、
+config_item("hostnetN-usermode-net = network/netmask", <<<_EOM_
+
+ホストドライバが usermode の時の、内部 IPv4 ネットワークのアドレスを指定します。
+ネットワークアドレスは
+192.0.2.0/255.255.255.0 のようにネットマスクで指定するか
+192.0.2.0/24 のようにネットマスク長で指定することも出来ます。
+デフォルトは 10.8.0.0/24 です。
+
+_EOM_
+);
+
+config_item("hostnetN-usermode-net6 = network/prefixlen", <<<_EOM_
+
+ホストドライバが usermode の時の、内部 IPv6 ネットワークのアドレスを指定します。
+ネットワークアドレスは 2001:db8::/64
+のようにアドレスとプレフィックス長で指定します。
+デフォルトは fd08::/64 です。
+
+_EOM_
+);
+
+config_item("hostnetN-usermode-hostfwd = entry[;entry[;…]] ", <<<_EOM_
+
+ホストドライバが usermode の時の、外部から内部へのポートフォワーディングの設定を行います。
+1つの entry は
+
+-
+
+protocol,[hostaddr:]hostport,[guestaddr:]guestport
+
+
+
+のように ','(カンマ) 3つで区切って表します。
+protocol は tcp か udp です。
+hostaddr はホストのバインドアドレスで省略すると 0.0.0.0 です。
+guestaddr はゲストのアドレスで、
+省略すると DHCP でクライアントに配布したアドレスになります
+(通常は省略します)。
+例えば、ホストの 10022/tcp へのコネクションをゲストの 22/tcp に転送したい場合は
+tcp,10022,22 となります。
+複数指定する場合は ';'(セミコロン) で区切って1行に並べます。
+
+
+
+IPv6 には対応していません。
+
+_EOM_
+);
+
+config_item("hostnetN-fallback = integer", <<<_EOM_
+hostnetN-driver で指定したドライバが使用可能でなかった時、
0 ならプロセスを終了します。
1 なら none を選択して実行を継続します。
デフォルトは 0 です。
-Specify the behavior when the driver which is selected by
-hostnet-driver is unusable;
+Specifies the behavior when the driver which is selected by
+hostnetN-driver is unusable;
terminate the process if 0,
or continue to run using the none driver if 1.
The default is 0.
_EOM_
);
+config_item("iplrom1-image = path", <<<_EOM_
+(X68030 Only)
+X68030 の外部 IPLROM イメージファイルのパスを指定します。
+こちらは 0xfe0000..0xffffff の 128KB の部分で、IPLROM30 と呼ばれているほうです。
+path がファイル名のみなら VM ディレクトリとその親ディレクトリからこのファイル名を検索します。
+path が相対パスなら VM ディレクトリからの相対パスになります (現在のディレクトリからではありません)。
+空にすると無償配布されている IPLROM30 を使用します。
+デフォルトは空です。
+Specifies the X68030's external IPLROM image file path.
+This one contains 128KB at 0xfe0000..0xffffff and is known as IPLROM30.
+If the path does not have any path delimiters,
+the VM directory and then its parent directory will be searched.
+If the path is a relative path,
+it will be path from the VM directory, not from the current directory.
+If the path is empty, the public released IPLROM30 will be used.
+The default value is empty.
+_EOM_
+);
+
+config_item("iplrom2-image = path", <<<_EOM_
+(X68030 Only)
+X68030 の外部 IPLROM イメージファイルのパスを指定します。
+こちらは 0xfc0000..0xfdffff の 128KB の部分で、ROM30 と呼ばれているほうです。
+path がファイル名のみなら VM ディレクトリとその親ディレクトリからこのファイル名を検索します。
+path が相対パスなら VM ディレクトリからの相対パスになります (現在のディレクトリからではありません)。
+空にすると内蔵 ROM を使用します。
+内蔵 ROM は NetBSD/x68k が起動する程度の SCSI IOCS のみサポートしています。
+デフォルトは空です。
+Specifies the X68030's external IPLROM image file path.
+This one contains 128KB at 0xfc0000..0xfdffff and is known as ROM30.
+If the path does not have any path delimiters,
+the VM directory and then its parent directory will be searched.
+If the path is a relative path,
+it will be path from the VM directory, not from the current directory.
+If the path is empty, internal emulated ROM will be used.
+The ROM supports only enough SCSI IOCS to boot NetBSD/x68k.
+The default value is empty.
+_EOM_
+);
+
config_item("keyboard-connect = integer", <<<_EOM_
+(LUNA and X68030 Only)
起動時にキーボードを本体に接続するかどうかを指定します。
1 なら接続し、0 なら接続しません。デフォルトは 1 です。
起動後はメニューから変更可能です。
-Specify whether to connect keyboard on boot.
+Specifies whether to connect keyboard on boot.
If 1, it is connected; if 0, it isn't connected. The default is 1.
You can change it on GUI menu after boot.
_EOM_
);
config_item("luna-adjust-misused-epoch = integer", <<<_EOM_
+(LUNA Only)
LUNA で誤った RTC epoch を採用している OS 向けに RTC
エミュレーションを補正するかどうかを
指定します。0 なら補正をしません(実機と同じ動作)、
@@ -629,10 +1068,11 @@ _EOM_
);
config_item("luna-dipsw1 = string", <<<_EOM_
+(LUNA Only)
本体前面 DIPSW#1-1..#1-8 の内容を指定します。
"0" を DOWN、"1" を UP として、
これを8つ並べた形式で、前から順に #1..#8 に対応します。
-Specifies status of the front panel DIPSW#1-1..#1-8 using 8 digit.
+Specifies status of the front panel DIPSW#1-1..#1-8 using 8 digits.
"0" means DOWN and "1" means UP.
The first character corresponds to #1 and
the eighth character corresponds to #8.
@@ -650,10 +1090,20 @@ LUNA-88K でのデフォルトは 11
See the following link about DIPSW.
→ OpenBSD manual pages: boot_luna88k(8)
+
+自動起動するかどうかとシリアルコンソールを使うかどうかを指定したい場合は
+こちらではなく
+dipsw-autoboot、dipsw-serial
+設定を使うほうが便利です。
+If you only want to specify whether to autoboot and/or
+to use serial console,
+dipsw-autoboot, dipsw-serial
+configurations are useful.
_EOM_
);
config_item("luna-dipsw2 = string", <<<_EOM_
+(LUNA Only)
本体前面 DIPSW#2-1..#2-8 の内容を指定します。
書式は luna-dipsw1 と同じです。
デフォルトは 11111111 です。
@@ -674,43 +1124,91 @@ _EOM_
);
config_item("luna-video-plane = integer", <<<_EOM_
-LUNA のビデオボードのプレーン数を 1 か 4 で指定します。
+(LUNA Only)
+LUNA のビデオボードのプレーン数を 1、4、8 から指定します。
1 ならモノクロビデオボード、
-4 なら16色 (4bpp) ビデオボードに相当します。
-8bpp ボードは(まだ?)サポートしていません。
-デフォルトは今の所 1 です (将来変更するかもしれません)。
-Specify number of planes on LUNA video board.
-The valid values are 1 or 4.
+4 なら16色 (4bpp) ビデオボード、
+8 なら 256色 (8bpp) ビデオボードです。
+デフォルトは 4 です。
+Specifies number of planes on LUNA video board.
+The valid values are 1, 4 or 8.
1 means a monochrome video board,
-4 means 16-color (4bpp) video board.
-Note that 8bpp video board is not (yet?) supported.
-The default value is 1 for now (It may be changed in the future).
+4 means 16-color (4bpp) video board,
+8 means 256-color (8bpp) video board.
+The default value is 4.
+_EOM_
+);
+
+config_item(
+ "m88100-version = integer
" .
+ "m88200-version = integer", <<<_EOM_
+(LUNA-88K Only)
+MPU と CMMU のマスクバージョンを設定します。
+今の所これによるエミュレータの動作の違いはありません。
+どちらかというとこれを参照しているゲスト OS の動作確認用です。
+デフォルトは m88100-version が 11、m88200-version が 9 です。
+Specifies MPU and CMMU mask version.
+This item doesn't affect any MPU/CMMU emulations for now.
+But it may be useful for verifying the guest OS behaviors.
+The default value is 11 for m88100-version,
+9 for m88200-version.
+_EOM_
+);
+
+config_item("mainview-scale = double", <<<_EOM_
+メインウィンドウの起動時のスケールを実数で指定します。
+コマンドラインオプション -s で上書き可能です。
+起動後はメニューから、
+プリセットされた倍率とここで指定した倍率には変更可能です。
+デフォルトは 1.0 です。
+_EOM_
+);
+
+config_item("monitor-fontsize = integer",
+<<<_EOM_
+テキスト系モニタとステータスパネルのフォントサイズを
+12, 16, 24 から指定します。
+コマンドラインオプション --fontsize で上書き可能です。
+起動後はメニューから変更することができます。
+デフォルトは 12 です。
_EOM_
);
config_item("monitor-rate = integer", <<<_EOM_
テキスト系モニタウィンドウの更新頻度を Hz 単位で指定します。
1 から 60 までの間で指定でき、デフォルトは 20Hz です。
-起動後にメニューからプリセットされた頻度には変更可能です。
+起動後にメニューから、
+プリセットされた頻度とここで指定した頻度には変更可能です。
Specifies refresh rate of all text monitor windows in Hz.
It ranges from 1 to 60. The default is 20Hz.
-You can change this value on GUI menu after boot,
-but unlike this configuration value, there are only a few preset choices.
+You can choose this value on GUI menu after boot,
+from preset rate or rate specified here.
_EOM_
);
config_item("mpu-clock = value", <<<_EOM_
MPU のクロック数を MHz 単位で指定します。
-デフォルトは LUNA-I なら 20MHz、LUNA-88K なら 25MHz です。
+デフォルトは LUNA-I なら 20MHz、LUNA-88K と X68030 なら 25MHz です。
+virt-m68k ではあまり意味はありませんが 25MHz です。
Specifies the MPU clock in MHz.
-The default value is 20MHz on LUNA-I, or 25MHz on LUNA-88K.
+The default value is 20MHz on LUNA-I, or 25MHz on LUNA-88K and X68030.
+On virt-m68k, it's less meaningful but 25MHz.
_EOM_
);
-/* luna には不要
- config_item("mpu-has-fpu", ""); */
+config_item("mpu-type = value", <<<_EOM_
+(X68030, virt-m68k Only)
+MPU 種別を指定します。
+MPU を変更出来るのは X68030 と virt-m68k のみで、
+68030 か 68040 かを指定します。
+デフォルトはいずれも 68030 です。
+Specifies the MPU type, 68030 or 68040.
+The default is 68030.
+_EOM_
+);
config_item("mpu-pseudo-stop = integer", <<<_EOM_
+(LUNA-88K Only)
m88100 にて疑似 STOP 状態を有効にするかどうかを指定します。
0 なら無効(実機と同じ動作)、1 なら有効で、デフォルトは 1 です。
m88100 には、m68k の STOP 命令 (割り込みが上がるまで何もせず待つ)
@@ -725,7 +1223,97 @@ m88100 には、m68k の STOP 命令 (
_EOM_
);
+config_item(
+ "nereid0-enable = integer
" .
+ "nereid1-enable = integer
", <<<_EOM_
+(X68030 Only)
+Nereid 拡張ボードを装着するかどうかを指定します。
+Nereid は同時に2枚まで使用することができます。
+値は 0 なら装着せず、1 なら装着します。
+デフォルトは 0 (装着しない) です。
+詳細は 4.6 Nereid の章を参照してください。
+Specifies whether install Nereid expansion board or not.
+Up to two board can be operated at the same time.
+If 0, the board is not installed.
+If 1, the board is installed.
+The default value is 0.
+See also Section 4.6 Nereid below for details.
+_EOM_
+);
+
+config_item(
+ "nereid0-net = integer
" .
+ "nereid1-net = integer
", <<<_EOM_
+(X68030 Only)
+Nereid ボードの NIC (RTL8019AS) のみを無効にすることが出来ます
+(実機では通常そのようなことは出来ません)。
+0 なら無効、1 なら有効です。デフォルトは 1 です。
+通常は 1 のまま使用してください。
+この設定は対応する nereidN-enable が 0
+(ボードを装着しない) の場合は意味を持ちません。
+This can disable only NIC (RTL8019AS) of Nereid expansion board
+(although it's not possible normally in the real world).
+It's disabled if 0, or enabled if 1.
+The default is 1. Normally, leave it 1.
+This item will be ignored if the corresponding nereidN-enable
+is 0.
+_EOM_
+);
+
+config_item(
+ "nereid0-ram-size = integer
" .
+ "nereid1-ram-size = integer
", <<<_EOM_
+(X68030 Only)
+Nereid ボードのバンクメモリのサイズを MB 単位で指定します。
+指定できるのは 0, 4, 16 です。
+0 を指定するとバンクメモリを無効にします。
+デフォルトは 16 です。
+この設定は対応する nereidN-enable が 0
+(ボードを装着しない) の場合は意味を持ちません。
+Specifies bank memory size in MB of Nereid expansion board.
+The valid values are 0, 4 or 16.
+If 0, disable the bank memory.
+The default is 16.
+This item will be ignored if the corresponding nereidN-enable
+is 0.
+
+また通常は必要ありませんが -4 または -16 を指定すると、
+バンクメモリは無効にした上で Nereid 制御ポートのビット6の読み出し値
+(バンクメモリの容量) を再現することが出来ます。
+-4 ならビット6は 0 (4MB)、0 か -16 なら 1(16MB) が読み出せます。
+_EOM_
+);
+
+config_item("news-dipsw = string", <<<_EOM_
+(NEWS Only)
+DIPSW の内容を指定します。
+"0" を OFF、"1" を ON として、
+これを8つ並べた形式で、前から順に SW1..SW8 に対応します。
+デフォルトは 00001000 です。
+Specifies status of the DIPSW using 8 digits.
+"0" means OFF and "1" is ON.
+The first character corresponds to SW1 and
+the eighth character corresponds to SW8.
+The default valus is 00001000.
+
+各スイッチの内容は以下のリンクを参照してください。
+See the following link about DIPSW.
+→ NetBSD/news68k Frequently Asked Questions
+
+自動起動するかどうかとシリアルコンソールを使うかどうかを指定したい場合は
+こちらではなく
+dipsw-autoboot、dipsw-serial
+設定を使うほうが便利です。
+If you only want to specify whether to autoboot and/or
+to use serial console,
+dipsw-autoboot, dipsw-serial
+configurations are useful.
+_EOM_
+);
+
config_item("prom-image = path", <<<_EOM_
+(LUNA Only)
LUNA-I/LUNA-88K の外部 ROM イメージファイルのパスを指定します。
path がファイル名のみなら VM ディレクトリとその親ディレクトリからこのファイル名を検索します。
path が相対パスなら VM ディレクトリからの相対パスになります (現在のディレクトリからではありません)。
@@ -735,8 +1323,7 @@ LUNA-I/LUNA-88K の外部 ROM イメー
If the path does not have any path delimiters,
the VM directory and then its parent directory will be searched.
If the path is a relative path,
-it will be path from the VM directory, not from the current
-directory.
+it will be path from the VM directory, not from the current directory.
If the path is empty, internal emulated ROM will be used.
The default value is empty.
@@ -768,50 +1355,79 @@ _EOM_
);
config_item("ram-size = integer", <<<_EOM_
-搭載する RAM サイズを MB 単位で指定します。
-LUNA-I のデフォルトは 16MB です。
+搭載する RAM サイズを MB 単位で指定します。Specifies the RAM size in MB.
+
+- LUNA-I のデフォルトは 16MB です。
16MB 未満は 4MB 単位で、
-16MB 以上は 255MB まで 1MB 単位で指定できます
-(ちなみに NetBSD/luna68k の起動には最低でも 8MB 必要です)。
-LUNA-88K のデフォルトは 64MB です。
-64MB 未満は 16MB 単位で、
-64MB 以上は暫定で 255MB まで 1MB 単位で指定できます。
-
Specifies the RAM size in MB.
-On LUNA-I, the default is 16MB.
+16MB 以上は 512MB まで 1MB 単位で指定できます。
+ただし prom-image で実機イメージを指定した場合は 255MB が上限になります。
+ちなみに NetBSD/luna68k の起動には最低でも 8MB 必要です。
+On LUNA-I, the default is 16MB.
If the size is less than 16MB, you can specify in 4MB unit.
-If larger, you can specify up to 255MB in 1MB unit.
-By the way, NetBSD/luna68k needs at least 8MB to boot.
-On LUNA-88K, the default is 64MB.
+If larger, you can specify up to 512MB in 1MB unit.
+However, if you have prom-image with the real image,
+the maximum is limited to 255MB.
+By the way, NetBSD/luna68k needs at least 8MB to boot.
+- LUNA-88K のデフォルトは 64MB です。
+64MB 未満は 16MB 単位で、
+64MB 以上は暫定で 512MB まで 1MB 単位で指定できます。
+ただし prom-image で実機イメージを指定した場合は
+240MB が上限になります。
+
On LUNA-88K, the default is 64MB.
If the size is less than 64MB, you can specify in 16MB unit.
-If larger, you can specify up to tentative 255MB in 1MB unit.
+If larger, you can specify up to tentative 512MB in 1MB unit.
+However, if you have prom-image with the real image,
+the maximum is limited to 240MB.
+ - X68030 ではメイン RAM 容量を示し、デフォルトは 12MB です。
+4MB から 12MB まで 1MB 単位で指定できます。
+拡張メモリについては extram-size を参照してください。
+
On X68030, the default is 12MB.
+You can specify it in 1MB unit from 4MB to 12MB.
+See extram-size for extended memory.
+ - NWS-1750 では現状 16MB で変更できません。
+
On NWS-1750, This is 16MB fixed for now.
+ - virt-m68k のデフォルトは 128MB です。
+16MB から 4080MB まで(アプリケーションとしては)指定可能です。
+指定された値が 16MB で割り切れない場合は 16MB 単位に切り上げになります。
+
On virt-m68k, the default is 128MB and
+the range is 16MB to 4080MB.
+If the specified size is not divisible by 16MB,
+it will be rounded up to 16MB.
+
_EOM_
);
config_item("rtc-epoch-year = integer", <<<_EOM_
-RTC の基準年を指定します。
+(LUNA Only)
+RTC (MK48T02) の基準年を指定します。
デフォルトは 1970年です。
NetBSD/luna68k、OpenBSD/luna88k はいずれも基準年を 1970年としていますので、
デフォルトのままで構いません。
ゲスト OS に 4.4BSD を使用する際は 1900 を指定します。
-Specifies the RTC epoch year.
+NEWS では今の所 1900 固定で変更出来ません。
+Specifies the RTC (MK48T02) epoch year.
The default is 1970.
Since both NetBSD/luna68k and OpenBSD/luna88k use 1970 as epoch year,
there is no need to touch this value.
-If you boot 4.4BSD on LUNA-I as the guest OS, specify 1900.
+If you boot 4.4BSD on LUNA-I as the guest OS, specify 1900.
+On NEWS, it is fixed at 1900.
_EOM_
);
config_item("show-statuspanel = integer", <<<_EOM_
ステータスパネルを表示するかどうかを指定します。
0 なら非表示、1 なら表示です。
+デフォルトは 1(表示) です。
起動後はメニューから変更可能です。
Specifies whether to display the status panel or not.
If 0, it is hidden; if 1, it is shown.
+The default is 1 (show).
You can change it on GUI menu after boot.
_EOM_
);
config_item("spc0-idN-image = devtype[,path]", <<<_EOM_
+(LUNA and X68030 Only)
SCSI デバイスとイメージを指定します。キーの N には 0 から 7 が入ります。
ただし ID 7 は本体が使用しますので指定しないでください。
値はデバイス種別 devtype とディスクイメージパス path
@@ -859,6 +1475,7 @@ _EOM_
);
config_item("spc0-idN-seektime = integer", <<<_EOM_
+(LUNA and X68030 Only)
指定の SCSI HDD の平均シークタイムを msec 単位で指定します。
現在のデフォルトは 0 です (S・S・D!! S・S・D!!)。
16 程度を指定すると幾分往時に思いを馳せることが出来るかもしれませんが、
@@ -872,24 +1489,27 @@ _EOM_
);
config_item("spc0-idN-writeignore = integer", <<<_EOM_
-指定の SCSI HD デバイスへの書き込みを無視するかどうか指定します。
+(LUNA and X68030 Only)
+指定の SCSI HD デバイスへの書き込みをイメージに書き戻すかどうか指定します。
0 なら通常動作(書き込みを行う)です。
-1 なら書き込みコマンドは成功したように振る舞いますが実際には
-ディスクイメージに一切書き戻しません。
+1 ならディスクイメージに一切書き戻しません。
+デバイスへ書き込んだはずのデータは Copy-On-Write の要領で、
+VM ディレクトリ内の一時ファイルに書き込みます。
+この一時ファイルはアプリケーション終了時に削除します。
fsck を気にせずカーネルのデバッグとかを行いたい場合にはどうぞ。
何が起きるか意味が分からない人は指定しないでください。
デフォルトは 0 です。
-Specifies whether nono ignores writing to SCSI HD devices.
-0 means normal operation (writes to the devices).
-If 1 is specified,
-nono will not actually write back to the disk image
-even though the write command is succeeded.
-nono's SCSI devices acts as
-write command is successfully done but it never writes back
-to the actual disk image.
+Specifies whether nono writes a writing to SCSI HD devices back
+to the diskimage.
+0 means normal operation (writes to the diskimage).
+1 means that nono will not write to the diskimage back.
+Data that the guest wrote to the device will be written to a temporary file
+in the VM directory,
+like Copy-On-Write.
+The temporary file will be removed when the application exits.
This is useful for kernel debugging because it does not require fsck
-after the kernel hangs.
-But don't use this flag if you don't understand this paragraph.
+after the kernel hangs or reboots.
+Don't use this flag if you don't understand this paragraph.
The default value is 0.
ちなみに、メディアを書き込み禁止にしたい場合はこれではなく、
@@ -901,6 +1521,7 @@ _EOM_
);
config_item("spc0-idN-writeprotect = integer", <<<_EOM_
+(LUNA and X68030 Only)
古いオプションです。
代わりに spc0-idN-writeignore を使ってください。
このオプションは開発用です。
@@ -909,14 +1530,472 @@ Use spc0-idN-writeignore
This option is for developers.
_EOM_
);
+
+config_item("sram-sync-ramsize = integer", <<<_EOM_
+(X68030 Only)
+SRAM の RAM 容量欄を実際の RAM サイズに合わせるかどうかを指定します。
+0 なら何もしません (実機と同じ)。
+1 なら、アプリケーション起動時に
+SRAM の \$ed0008.L (RAM 容量) を ram-size の設定値で更新します。
+この更新は、
+アプリケーション起動時に SRAM マジックが正しく書かれている場合のみ行われます。
+デフォルトは 1 です。
+Specifies whether to synchronize a RAM size field in SRAM
+with real RAM size or not.
+If 0, the application will do nothing (as same as the real).
+If 1, the application updates(synchronizes)
+\$ed0008.L (RAM size) in SRAM with configuration value of ram-size.
+This update is performed once only if
+the SRAM magic string is correct at the application startup.
+The default is 1.
+_EOM_
+);
+
+config_item("virtio-blockN-image = path", <<<_EOM_
+(virt-m68k only)
+virtio のブロックデバイスのイメージを指定します。
+キーの N は現状 0 から 7 です。
+イメージパスが相対パスなら VM ディレクトリからの相対パスになります。
+Specifies virtio block device's image.
+N in the key is 0 to 7 for now.
+If the path is relative path, it is from the VM directory.
+_EOM_
+);
+
+config_item("virtio-blockN-writeignore = integer", <<<_EOM_
+(virt-m68k only)
+指定の virtio ブロックデバイスへの書き込みをイメージに書き戻すかどうか指定します。
+0 なら通常動作(書き込みを行う)です。
+1 ならディスクイメージに一切書き戻しません。
+デバイスへ書き込んだはずのデータは Copy-On-Write の要領で、
+VM ディレクトリ内の一時ファイルに書き込みます。
+この一時ファイルはアプリケーション終了時に削除します。
+fsck を気にせずカーネルのデバッグとかを行いたい場合にはどうぞ。
+何が起きるか意味が分からない人は指定しないでください。
+デフォルトは 0 です。
+Specifies whether nono writes a writing to virtio block devices back
+to the diskimage.
+0 means normal operation (writes to the diskimage).
+1 means that nono will not write to the diskimage back.
+Data that the guest wrote to the device will be written to a temporary file
+in the VM directory,
+like Copy-On-Write.
+The temporary file will be removed when the application exits.
+This is useful for kernel debugging because it does not require fsck
+after the kernel hangs or reboots.
+Don't use this flag if you don't understand this paragraph.
+The default value is 0.
+
+ちなみに、メディアを書き込み禁止にしたい場合はこれではなく、
+イメージファイルの書き込み権を落としてください。
+By the way, if you want to make the media write-protected,
+clear the write permission from the image file
+(instead of this setting).
+_EOM_
+);
+
+config_item("windrv-path = path", <<<_EOM_
+(X68030 Only)
+Windrv でゲスト側に見せるホストディレクトリを指定します。
+今の所指定できるディレクトリは1つだけです。
+空なら Windrv デバイスが存在しないように振る舞います。
+デフォルトは空です。
+_EOM_
+);
+
+config_item("x68k-cut-fc2 = integer", <<<_EOM_
+(X68030 Only)
+MPU (68030) の FC2 ピンを切断するかどうかを指定します。
+0 なら切断しません (標準の状態)。
+1 なら切断します。
+デフォルトは 1 です。
+NetBSD/x68k で X サーバを起動する場合のみ 1 にする必要があります。
+Specifies whether to cut MPU(68030) FC2 pin.
+If 0, the FC2 pin is connected as usual.
+If 1, it is disconnected.
+The default is 1.
+Only if you run the X server on NetBSD/x68k, it needs to be 1.
+_EOM_
+);
+
+config_item("xp-clock = value", <<<_EOM_
+(LUNA Only)
+XP プロセッサのクロック数を MHz 単位で指定します。
+デフォルトは 6.144 [MHz] です。
+_EOM_
+);
+
+
?>
+
+
+
+About VM"); ?>
+
+Implementation Status"); ?>
+
+いくつか未実装の命令があります。
+キャッシュは未実装で、
+それに伴いキャッシュ制御を行う新設命令 CINV*, CPUSH* も未実装です。
+MMU、ATC はまだ怪しいです。
+FPU はある程度動作すると思いますが
+例外を起こす細かい条件は未検証のため、
+本来は例外が起きてソフトウェア (FPSP) で処理するはずのものが
+68881 相当のハードウェアエミュレーションで実行出来てしまうという
+通常あまり困らないタイプの問題は存分にあります。
+
+命令の実行サイクルについては未考察です。
+そもそも 68040 はパイプライン方式なので 68000 時代のようにサイクル数を
+正確にエミュレーションすることはおそらく不可能ですが、
+それにしても似せるところまでも行っていないという意味です。
+
+68040 は X68030 と virt-m68k でのみ選択可能で、
+LUNA-I と NEWS では選択できません。
+NEWS に 68040 搭載モデルはなさそうなのと、
+LUNA では 68040 搭載モデルは LUNA-I ではなく LUNA-II になるからです。
+
+
+
+
+
+virt-m68k (や NEWS) のようにシリアルコンソールしか持たない機種のために、
+メイン画面でシリアルコンソールの端末エミュレーションを実装してあります。
+hostcom-driver = cons とすることで nono のメイン画面に
+シリアルコンソールの内容が表示されます。
+カラーは現状サポートしていませんが、
+ボールド、イタリック、下線などはある程度サポートしています。
+バックログはありませんので、バックログが必要なら
+stdio 等を使ってください。
+
+
+
+
+
+現実の Nereid はイーサネット/メモリ/USB の複合拡張ボードで、
+このうちメモリは、メインメモリの増設に使える他、
+メインメモリとして使わなかった領域をバンクメモリとして使うことも出来ます。
+nono ではこの Nereid の機能のうちイーサネット (RTL8019AS)
+とバンクメモリのみサポートします。
+メインメモリの増設機能はエミュレータでは意味がないので実装しません。また
+USB (SL811HS/T) の実装予定はありません。
+
Nereid in the real world is a combined Ethernet/memory/USB expansion board.
+Of these, the memory can be used to expand main memory,
+and areas not used for the main memory can be used as bank memory.
+nono supports only ethernet (RTL8019AS) and bank memory among
+the functions of the Nereid expansion board.
+Main memory expansion is not supported because it's meaningless on emulators.
+Also, USB (SL811HS/T) is not planned for implementation.
+
+Nereid は DIPSW6,7 によりアドレス・割り込みベクタの組を2通り指定できるため、
+2枚まで同時に運用することが出来ます。
+本来 SW6 と SW7 は (衝突さえしなければ) 任意に組み合わせることが可能ですが、
+nono では簡便のためボード #0 は SW6,7 が OFF、
+ボード #1 は SW6,7 が ON と固定しています。
+
Since Nereid can set to two different combinations of addresses and
+interrupt vectors by DIPSW,
+so up to two boards can be operated at the same time.
+Originally, SW6 and SW7 can be arbitrarily combined
+(as long as they don't collide), in nono however, for simpility,
+SW6 and SW7 are fixed to be OFF on board #0, and
+SW6 and SW7 are fixed to be ON on board #1.
+
+
+ | #0 (nereid0-*) | #1 (nereid1-*)
+ |
|---|
ベースアドレス・割り込みベクタ
Base address and interrupt vectors
+ | $ece300,$f9,$fb (SW7=OFF)
+ | $eceb00,$f8,$fa (SW7=ON)
+ |
バンクメモリウィンドウ
Bank memory window
+ | $ee0000 (SW6=OFF)
+ | $ef0000 (SW6=ON)
+ |
+
+バンクメモリは、メインメモリとして使わなかった領域を使用します。
+そのため実機でもバンクメモリの容量は DIPSW のメインメモリ割り当て設定
+(SW1-5) に依存します。
+nono に関係する結論だけでいうと、
+メインメモリへの割り当てを一切行わない場合はバンクメモリは 16MB 確保でき、
+メインメモリへの割り当てをいくらかでも行うとバンクメモリは 4MB となります。
+設定の
nereidN-ram-size はこの部分を指定していることになります。
+またこの容量とは独立に SW8 でバンクメモリの有効・無効を指定できますので、
+
nereidN-ram-size が 0 (以下) というのは SW8
+でバンクメモリを無効にしたことに相当します。
+
Bank memory uses memory areas not used as the main memory.
+So the bank memory size depends on the main memory settings (SW1-5).
+As a result,
+only if you don't allocate any memories to main memory,
+the bank memory can be allocated 16MB.
+Otherwise, the bank memory will be allocated 4MB.
+Thus, nereidN-ram-size specifies this value.
+Also, SW8 specifies enable/disable of the bank memory regardless of the size,
+nereidN-ram-size = 0 (or less) means disabling the bank memory.
+
+
+usermode ネットワーク"); ?>
+
ステータスパネル中央にあるパフォーマンスメータのアイコンは
高速モードの状態を表示しています。
@@ -962,16 +2041,82 @@ or the keyboard buzzer is sounding.
+
+
+
+
+DIPSW 設定ウィンドウでの変更はアプリケーション起動中のみ有効です。
+またここでの設定は即 VM に反映されますが、
+LUNA の場合 DIPSW の状態を
+PIO(8255) がラッチするのが概ね起動時および再起動時のみとなっています
+(厳密には PROM と XP が云々ですが)。
+
+
+
+Memory Dump Monitor"); ?>
+
-LUNA のキーボードは通常日本語キーボードです
-(英語キーボードも存在するようですが…)。
+m68k/m88k バスに接続されているデバイスを表示します。
+32ビットアドレスのうち上位 8 ビット、256個分を表示しています。
+1枠が 16MB になります。
+また、X68030 ではこのうち 24ビット空間を別モニタで表示します。
+こちらは 1枠 8KB x 2048個です。
+どちらも内部構造を表示しているだけなので名前に馴染みがない場合があるかもしれません。
+NEWS のデバイスマップは内部構造の都合上、
+内部状態を正確に反映していないケースがあるかも知れません。
+
+
+
+Key input mode"); ?>
+
+LUNA も X68030 もキーボードは通常日本語キーボードです
+(LUNA には英語キーボードも存在するようですが…)。
そのため、ホストが日本語キーボードの場合とそうでない場合のために
2つの入力モードを用意しています。
どちらも一長一短があります。
-
Most LUNAs have the Japanese keyboard
-(though I ever heard there are the US keyboard...).
+LUNA and X68030 has the Japanese keyboard
+(though I ever heard there are US keyboard for LUNA...).
So nono provides two input modes
for Japanese keyboard users and non Japanese keyboard users.
Both have advantages and disadvantages.
@@ -1001,7 +2146,7 @@ And another disadvantage is that
it will be hard to use for non Japenese keyboard users.
一方、キャラクタ入力モードは、ホストから入力された「文字」を
-再び LUNA のキーコードに解釈し直して VM に入力するモードです。
+再び LUNA/X68030 のキーコードに解釈し直して VM に入力するモードです。
例えばゲスト OS に "@" を入力したい場合、
US キーボードなら [SHIFT] + [2] を、
JP キーボードなら [@] キーを押しますが、
@@ -1023,7 +2168,7 @@ JP キーボードなら [SHIFT] + [-]
(本来キーリピートが動作しない ROM やブートローダでもキーリピートが効くことは
一般ユーザからはメリットに感じられるかも知れませんが)。
In contrast, in the character mode, when you type a character,
-nono re-converts it into the LUNA's key code and sends it to the VM.
+nono re-converts it into the LUNA/X68030's key code and sends it to the VM.
For example if you want to type "@" in the guest OS,
you would press [SHIFT] + [2] on the US keyboard or [@] on the JP keyboard.
In both cases, the sequence of
@@ -1046,20 +2191,21 @@ Secondly, the key repeat works (by the h
even though it should not work as a correct emulation
(Although some of you may feel it an advantage).
+
-