--- nono/doc/index.php 2026/04/29 17:05:34 1.1.1.19 +++ nono/doc/index.php 2026/04/29 17:05:44 1.1.1.21 @@ -91,17 +91,16 @@ For clang, at least 7.0 or later.)
NetBSD(pkgsrc) なら必要なパッケージは
-x11/wxGTK32 と net/libslirp です。
+x11/wxGTK32 と net/libslirp です。
wxGTK32 の代わりに wxGTK30 でも動くはずです。
If you use NetBSD(pkgsrc),
-x11/wxGTK32 and net/libslirp are needed.
-wxGTK30 would work.
+x11/wxGTK32 and net/libslirp are needed.
+wxGTK30 would also work.
(NetBSD 以外でのビルドはサポートしていませんが)
@@ -116,7 +115,7 @@ build-essential,
gettext,
libbsd-dev,
libkqueue-dev,
-libslirp-dev,
+libslirp-dev,
libwxgtk3.2-dev,
zlib1g-dev
@@ -245,6 +244,19 @@ This option is equivalent to fast-mo
_EOM_
);
+option_item("--fd0 file
+
+hostcomN と
+VM 内のデバイス(ポート)との対応は下表の通り VM 種別ごとに固定です。
+
+また、VM 種別によって有効なホスト側ドライバの種類とデフォルト値も異なります。
+
+
+指定したドライバが使用出来なかった場合エラー終了します。
+起動後はメニューからドライバを変更できますが、パラメータは(まだ?)変更できません。
+実行中に変更に失敗した場合は none にフォールバックします。
+
+hostnetN と
+VM 内のデバイスとの対応は下表の通り VM 種別ごとに固定です。
+
+
+指定したドライバが使用出来なかった場合エラー終了します。
+起動後はメニューからドライバを変更できますが、パラメータは(まだ?)変更できません。
+実行中に変更に失敗した場合は none にフォールバックします。
+
--fd1 file", <<<_EOM_
+(X68030 Only) フロッピーイメージを指定します。
+file が相対パスの場合カレントディレクトリからのパスになります。
+設定の fd0-image、fd1-image
+とは相対パスの起点の違いを除いて同一です。
+Specifies the floppy image.
+If file is relative path,
+it is path from the current directory.
+This option is equivalent to fd0-image, fd1-image
+in configuration except for base directory of the relative path.
+_EOM_
+);
+
option_item("--fontsize height", <<<_EOM_
GUI 版のみ。
全サブウインドウの起動時のフォントサイズを指定します。
@@ -258,7 +270,7 @@ _EOM_
);
option_item("--initrd file", <<<_EOM_
-(virt-m68k only)
+(virt-m68k Only)
カーネルに渡す初期 RAM ディスクのパスを指定します。
file が相対パスの場合カレントディレクトリからのパスになります。
設定の exec-initrd とは相対パスの起点の違いを除いて同一です。
@@ -511,14 +523,37 @@ _EOM_
config_item("clock-sync = value", <<<_EOM_
仮想マシン内の時刻の同期方法を指定します。
real なら実時間に同期、virtual なら仮想時間に同期します。
-デフォルトは real です。
-この機能は実験中のため将来予告なく仕様が変更になる可能性があります。
-Specifies how to synchronize the time in virtual machine.
+
+Specifies how to synchronize the time in the virtual machine.
If real, synchronize with the real time;
-if virtual, synchronize with the virtual time.
-The default is real.
-This feature is under experimentation and may be changed in the future
-without notice.
+if virtual, synchronize with the virtual time.
+
_EOM_
);
@@ -747,50 +782,111 @@ Note that this item is ignored if the ho
_EOM_
);
-config_item("hostcom-driver = string", <<<_EOM_
-シリアルポートのホスト側ドライバを指定します。
+config_item("" .
+ "hostcom-driver = stringOn LUNA-I, 60Hz system clock interrupt and RTC(MK48T02) are the target.
+The default is real.
+On LUNA-88K, 100Hz system clock interrupt and RTC(MK48T02) are the target.
+The default is real.
+On NWS-1750, system clock interrupt and RTC(MK48T02) are the target.
+The default is real.
+On virt-m68k, Goldfish Timer interrupt and Goldfish RTC are the target.
+The default is real.
+On X68030, MFP timer interrupts and RTC(RP5C15) are the target.
+The default is virtual.
+Note that reading from MFP TxDR register only works as virtual,
+regardless of this setting.
+See also Time Synchronization on NetBSD/x68k.
+
" .
+ "hostcom-tcp-port = integer
" .
+ "hostcom-fallback = integer", <<<_EOM_
+
+それぞれ hostcom0-* の別名です。
+These are aliases for hostcom0-* respectively.
+
+_EOM_
+);
+
+config_item("hostcomN-driver = string", <<<_EOM_
+起動時の
+シリアルポート N のホスト側ドライバを指定します。
stdio なら標準入出力を使用します。
tcp なら TCP ポートで TELNET プロトコルで待ち受けます。
-cons ならメイン画面で端末エミュレーションを行います。
+console (または cons)
+ならメイン画面で端末エミュレーションを行います。
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.
+
+Specifies the host driver of serial port N on startup.
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 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.
+console (or cons) does a terminal emulation in main panel.
+none doesn't make any communication with the host.The correspondence between hostcomN and
+device (port) in the VM is fixed depending on the VM type
+as the following table.
+
+
+
+hostcom\VM LUNA-I/LUNA-88K X68030 NWS-1750 virt-m68k
+ hostcom0
+ SIO(uPD7201) Ch.A
+ SCC(Z8530) Ch.A
+ SCC(Z8530) Ch.A
+ Goldfish TTY
+ hostcom1
+ HD647180 ASCI Ch.0
+ N/A
+ N/A
+ N/A
+ hostcom2
+ HD647180 ASCI Ch.1
+ N/A
+ N/A
+ N/A
+ The choices and default value vary depending on the VM type.
+
+
+
+VM LUNA-I/LUNA-88K X68030 NWS-1750 virt-m68k
+ 有効なドライバ Available drivers
+ stdio
tcp
none
+ stdio
tcp
none
+ stdio
tcp
console
none
+ stdio
tcp
console
none
+hostcom0-driver のデフォルト値 Default value
+ none
+ none
+ console
+ console
+ hostcom[12]-driver のデフォルト値 Default value
+ none
+ N/A
+ N/A
+ N/A
+ Terminate if the specified driver could not be used.
+You can change the driver by menu at runtime,
+but its parameters cannot be changed (yet?).
+If changing at runtime fails, it will fallback to none.
+
_EOM_
);
-config_item("hostcom-tcp-port = integer", <<<_EOM_
+config_item("hostcomN-tcp-port = integer", <<<_EOM_
ホストドライバが tcp の時の TCP 待ち受けポート番号を指定します。
Specifies the TCP port number that host driver listens.
_EOM_
);
-config_item("hostcom-fallback = integer", <<<_EOM_
-hostcom-driver で指定したドライバが使用可能でなかった時、
-0 ならプロセスを終了します。1 なら none を選択して実行を継続します。
-デフォルトは 0 です。
-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.
-The default is 0.
+config_item("hostcomN-fallback = integer", <<<_EOM_
+
+廃止になりました。has become obsoleted.
+
_EOM_
);
config_item("hostkbd-input = string", <<<_EOM_
-(LUNA and X68030 only)
+(LUNA and X68030 Only)
ホストキーボードの入力モードを指定します。
char ならキャラクタ入力モード、
jp なら日本語キーボードモードです。
@@ -809,22 +905,23 @@ config_item(
"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-usermode-hostfwd = string
" .
+ "hostnet-usermode-net = string
" .
+ "hostnet-usermode-net6 = string
" .
"hostnet-fallback = integer
", <<<_EOM_
それぞれ hostnet0-* の別名です。
+These are aliases for hostnet0-* respectively.
_EOM_
);
config_item("hostnetN-driver = string", <<<_EOM_
-N
+起動時の N
番目のイーサネットデバイスのホスト側ドライバを指定します。
-afpacket、bpf、tap、usermode のうち
+afpacket、bpf、tap、usermode のうち
configure で検出したものと auto、none が選択可能です。
-Specifies the host driver of N-th
-ethernet device.
-afpacket, bpf, tap and usermode can be specified
+
Specifies the host driver of N-th ethernet device
+on startup.
+afpacket, bpf, tap and usermode can be specified
only if the configure detects them.
auto and none can always be specified.
@@ -838,24 +935,51 @@ It cannot communicate with the host itse
It cannot communicate with the host itself.
tap uses tap(4) device.
-usermode is an usermode network using libslirp.
nono also acts as NAT router, DHCP server and DNS server.
-none doesn't make any communication with the host.
-
auto は usermode と同義ですが、
-configure で libslirp が無効になっている場合は none と同義になります。
+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.
+
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.
+The correspondence between hostnetN and
+device in the VM is fixed depending on the VM type as the following table.
+
+
+hostnet\VM LUNA-I/LUNA-88K X68030 NWS-1750 virt-m68k
+ hostnet0
+ Lance(AM7990)
+ Nereid#0 (RTL8019AS)
+ Lance(AM7990)
+ VirtIO Network
+ hostnet1
+ N/A
+ Nereid#1 (RTL8019AS)
+ N/A
+ N/A
+ Terminate if the specified driver could not be used.
+You can change the driver by menu at runtime,
+but its parameters cannot be changed (yet?).
+If changing at runtime fails, it will fallback to none.
+
_EOM_
);
@@ -918,38 +1042,30 @@ you need to prepare empty scripts that w
_EOM_
);
-config_item("hostnetN-usermode-net = network/netmask", <<<_EOM_
-
+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_
-
+config_item("hostnetN-usermode-net6 = network/prefixlen", <<<_EOM_
ホストドライバが usermode の時の、内部 IPv6 ネットワークのアドレスを指定します。
ネットワークアドレスは 2001:db8::/64
のようにアドレスとプレフィックス長で指定します。
デフォルトは fd08::/64 です。
-
_EOM_
);
-config_item("hostnetN-usermode-hostfwd = entry[;entry[;…]] ", <<<_EOM_
-
+config_item("hostnetN-usermode-hostfwd = entry[;entry[;…]]", <<<_EOM_
ホストドライバが usermode の時の、外部から内部へのポートフォワーディングの設定を行います。
1つの entry は
-
IPv6 には対応していません。
-
_EOM_
);
config_item("hostnetN-fallback = integer", <<<_EOM_
-hostnetN-driver で指定したドライバが使用可能でなかった時、
-0 ならプロセスを終了します。
-1 なら none を選択して実行を継続します。
-デフォルトは 0 です。
-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.
+
+廃止になりました。has become obsoleted.
+
_EOM_
);
@@ -1198,10 +1305,8 @@ _EOM_
config_item("mpu-type = value", <<<_EOM_
(X68030, virt-m68k Only)
-MPU 種別を指定します。
-MPU を変更出来るのは X68030 と virt-m68k のみで、
-68030 か 68040 かを指定します。
-デフォルトはいずれも 68030 です。
+MPU 種別を 68030 か 68040 で指定します。
+デフォルトは 68030 です。
Specifies the MPU type, 68030 or 68040.
The default is 68030.
_EOM_
@@ -1377,7 +1482,7 @@ By the way, NetBSD/luna68k needs at leas
If the size is less than 64MB, you can specify in 16MB 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.
+the maximum is limited to 240MB.
On NWS-1750, This is 16MB fixed for now.
On virt-m68k, the default is 128MB and the range is 16MB to 4080MB. @@ -1433,8 +1538,7 @@ SCSI デバイスとイメージを指 値はデバイス種別 devtype とディスクイメージパス path を ","(カンマ) で区切って並べた形式です。 デバイス種別 devtype は以下のいずれかです。 --Specifies SCSI device and image. N in the key is 0 to 7. +Specifies SCSI device and image. N in the key is 0 to 7. But don't specify ID 7 because the host uses it. The value is in a form of device type devtype and the disk image path path separated by ","(comma). @@ -1449,8 +1553,7 @@ the disk image path path separate devtype が hd なら path は省略できません。 devtype が cd か mo なら path は省略可能です。 イメージパスが相対パスなら VM ディレクトリからの相対パスになります。 --If devtype is hd, path cannot be ommitted. +If devtype is hd, path cannot be ommitted. If devtype is cd or mo, path can be ommitted. If the path is relative path, it is from the VM directory.@@ -1520,17 +1623,6 @@ clear the write permission from the imag _EOM_ ); -config_item("spc0-idN-writeprotect = integer", <<<_EOM_ -(LUNA and X68030 Only) -古いオプションです。 -代わりに spc0-idN-writeignore を使ってください。 -このオプションは開発用です。 -Obsolete. -Use spc0-idN-writeignore instead. -This option is for developers.-_EOM_ -); - config_item("sram-sync-ramsize = integer", <<<_EOM_ (X68030 Only) SRAM の RAM 容量欄を実際の RAM サイズに合わせるかどうかを指定します。 @@ -1552,45 +1644,46 @@ _EOM_ ); config_item("virtio-blockN-image = path", <<<_EOM_ -(virt-m68k only) -virtio のブロックデバイスのイメージを指定します。 -キーの N は現状 0 から 7 です。 +(virt-m68k Only) +VirtIO ブロックデバイスのイメージを指定します。 +キーの N は現状 0 から 7 が指定可能です。 イメージパスが相対パスなら VM ディレクトリからの相対パスになります。 -Specifies virtio block device's image. -N in the key is 0 to 7 for now. +"); ?>Specifies VirtIO block device's image. +N in the key is 0 through 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 +(virt-m68k Only) +指定の VirtIO ブロックデバイスへの書き込みをイメージに書き戻すかどうか指定します。 +詳細は spc0-idN-writeignore を参照してください。 ++_EOM_ +); + +config_item("virtio-scsi-idN-image = devtype[,path]", <<<_EOM_ +(virt-m68k Only) +VirtIO SCSI デバイスとイメージを指定します。 +イニシエータ ID が不要なため、 +キーの N には 0 から 7 が指定できます。 +詳細は spc0-idN-image を参照してください。 +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).+See spc0-idN-writeignore for details.Specifies VirtIO SCSI device and image. +You can specify all of 0 thorugh 7 for the key N, +because there is no initiator. +See spc0-idN-image for more details.+_EOM_ +); + +config_item("virtio-scsi-idN-writeignore = integer", <<<_EOM_ +(virt-m68k Only) +指定の VirtIO SCSI デバイスへの書き込みをイメージに書き戻すかどうか指定します。 +詳細は spc0-idN-writeignore を参照してください。 +Specifies whether nono writes a writing to VirtIO SCSI devices back +to the diskimage. +See spc0-idN-writeignore for details._EOM_ ); @@ -1682,6 +1775,7 @@ SPC (MB89352) ◎ SCSI HD/CD/MO Devices ○ XP(HD647180) CPU △ XP(HD647180) Timer0/1 ○ +XP(HD647180) ASCI ○ XP(HD647180) その他の内蔵デバイスOther internal devices× XP 周辺デバイスPeripheral devices× 電源Power Circuit○ @@ -1744,9 +1838,10 @@ Goldfish PIC ◎ Goldfish RTC ◎ Goldfish Timer ◎ Goldfish TTY ○ -virtio v1.0 block ○ -virtio v1.0 net ○ -virtio v1.0 entropy ◎ +VirtIO Block ○ +VirtIO Network ○ +VirtIO Entropy ◎ +VirtIO SCSI ○ Power Control ○ __EOM__; @@ -1791,13 +1886,11 @@ FPU はある程度動作すると思い 68881 相当のハードウェアエミュレーションで実行出来てしまうという 通常あまり困らないタイプの問題は存分にあります。
-命令の実行サイクルについては未考察です。 +命令の実行サイクルについてはある程度似せているつもりですが、 そもそも 68040 はパイプライン方式なので 68000 時代のようにサイクル数を -正確にエミュレーションすることはおそらく不可能ですが、 -それにしても似せるところまでも行っていないという意味です。 +正確にエミュレーションすることはおそらく不可能です。
-68040 は X68030 と virt-m68k でのみ選択可能で、 -LUNA-I と NEWS では選択できません。 +68040 は X68030 と virt-m68k でのみ選択可能です。 NEWS に 68040 搭載モデルはなさそうなのと、 LUNA では 68040 搭載モデルは LUNA-I ではなく LUNA-II になるからです。 @@ -1870,6 +1963,17 @@ virt-m68k (や NEWS) のようにシリ + ++usermode ネットワークでは nono 自身が +NAT ルータ、DHCP サーバ、DNS サーバの機能を持ちます。 +ルータと DHCP サーバのアドレスはネットワークアドレス +1 (デフォルトでは 10.8.0.1)、 +DNS サーバのアドレスはネットワークアドレス +2 (デフォルトでは 10.8.0.2) です。 +IPv6 ルータのアドレスはネットワークアドレス +1 (デフォルトでは fd08::1)、 +DNS サーバのアドレスはネットワークアドレス +2 (デフォルトでは fd08::2) です。 ++ +現実の Nereid はイーサネット/メモリ/USB の複合拡張ボードで、 @@ -1932,16 +2036,38 @@ Also, SW8 specifies enable/disable of th-usermode ネットワーク"); ?> +Time Synchronization on NetBSD/x68k- -usermode ネットワークでは nono 自身が -NAT ルータ、DHCP サーバ、DNS サーバの機能を持ちます。 -ルータと DHCP サーバのアドレスはネットワークアドレス +1 (デフォルトでは 10.8.0.1)、 -DNS サーバのアドレスはネットワークアドレス +2 (デフォルトでは 10.8.0.2) です。 -IPv6 ルータのアドレスはネットワークアドレス +1 (デフォルトでは fd08::1)、 -DNS サーバのアドレスはネットワークアドレス +2 (デフォルトでは fd08::2) です。 - +X68030 でゲスト OS に NetBSD/x68k を使う場合、 +nono と NetBSD/x68k を次の通りに設定すれば +nono をフルスピード動作にしてもゲスト OS の時間がずれなくなります。 +まず nono の設定ファイルに以下を追加します。 ++ゲストの NetBSD/x68k を起動し、 +/etc/sysctl.conf に以下の1行を追加します。 ++clock-sync = real ++さらに /etc/rc.conf に ++kern.timecounter.hardware=clockinterrupt ++などと設定します (NTP サーバはお好みで)。 +sysctl の設定によって、ゲスト OS の時計は「この設定が有効になった時点から」 +実時間間隔を刻めますが、 +電源オンからここまでにずれた分が解決できるわけではありませんので、 +必然的に時計を合わせる必要もあるためです。 +これで再起動すると次回からはフルスピードでも実時間を刻めます。 +(再起動せずに有効にしたい場合はこの設定の後 root ユーザで ++ntpdate=YES +ntpdate_hosts=ntp.nict.jp ++を実行してください)+/etc/rc.d/sysctl start +/etc/rc.d/ntpdate start +