--- nono/doc/index.html 2026/04/29 17:05:34 1.1.1.20 +++ nono/doc/index.html 2026/04/29 17:05:44 1.1.1.22 @@ -72,10 +72,10 @@ dt.dt-indent { background-color: var(--light-green); } -
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 以外でのビルドはサポートしていませんが) @@ -145,7 +144,7 @@ build-essential, gettext, libbsd-dev, libkqueue-dev, -libslirp-dev, +libslirp-dev, libwxgtk3.2-dev, zlib1g-dev @@ -250,6 +249,16 @@ GUI なら起動後にもメニューか You can change this mode on GUI menu after boot, and the option only changes its initial state. This option is equivalent to fast-mode=1 in configuration.
+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.
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.
On 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.+
These are aliases for hostcom0-* respectively.+
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.
+
+hostcomN と
+VM 内のデバイス(ポート)との対応は下表の通り VM 種別ごとに固定です。
+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 + |
+また、VM 種別によって有効なホスト側ドライバの種類とデフォルト値も異なります。
+
+
+指定したドライバが使用出来なかった場合エラー終了します。
+起動後はメニューからドライバを変更できますが、パラメータは(まだ?)変更できません。
+実行中に変更に失敗した場合は none にフォールバックします。
+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.
+Specifies the TCP port number that host driver listens.
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.
has become obsoleted.+
These are aliases for hostnet0-* respectively.
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.@@ -705,24 +793,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.
+hostnetN と
+VM 内のデバイスとの対応は下表の通り VM 種別ごとに固定です。
+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 + |
+
+指定したドライバが使用出来なかった場合エラー終了します。
+起動後はメニューからドライバを変更できますが、パラメータは(まだ?)変更できません。
+実行中に変更に失敗した場合は none にフォールバックします。
+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.
+
- -IPv6 には対応していません。 -
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.+
Specifies the MPU type, 68030 or 68040. The default is 68030.
On NWS-1750, This is 16MB fixed for now.
On virt-m68k, the default is 128MB and the range is 16MB to 4080MB. @@ -1201,8 +1297,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). @@ -1217,8 +1312,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.@@ -1279,14 +1373,6 @@ 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).-spc0-idN-writeprotect = integer -(LUNA and X68030 Only) -古いオプションです。 -代わりに spc0-idN-writeignore を使ってください。 -このオプションは開発用です。 - Obsolete. -Use spc0-idN-writeignore instead. -This option is for developers.sram-sync-ramsize = integer (X68030 Only) SRAM の RAM 容量欄を実際の RAM サイズに合わせるかどうかを指定します。 @@ -1305,42 +1391,37 @@ This update is performed once only if the SRAM magic string is correct at the application startup. The default is 1. virtio-blockN-image = path -(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.virtio-blockN-writeignore = integer -(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 を参照してください。 + +See spc0-idN-writeignore for details.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).virtio-scsi-idN-image = devtype[,path] +(virt-m68k Only) +VirtIO SCSI デバイスとイメージを指定します。 +イニシエータ ID が不要なため、 +キーの N には 0 から 7 が指定できます。 +詳細は spc0-idN-image を参照してください。 + +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.virtio-scsi-idN-writeignore = integer +(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.windrv-path = path (X68030 Only) Windrv でゲスト側に見せるホストディレクトリを指定します。 @@ -1448,6 +1529,9 @@ XP プロセッサのクロック数を XP(HD647180) Timer0/1 ○ + XP(HD647180) ASCI + ○ + XP(HD647180) その他の内蔵デバイス Other internal devices× @@ -1614,15 +1698,18 @@ XP プロセッサのクロック数を Goldfish TTY ○ - virtio v1.0 block + VirtIO Block ○ - virtio v1.0 net + VirtIO Network ○ - virtio v1.0 entropy + VirtIO Entropy ◎ + VirtIO SCSI + ○ + Power Control ○ @@ -1651,13 +1738,11 @@ FPU はある程度動作すると思い 68881 相当のハードウェアエミュレーションで実行出来てしまうという 通常あまり困らないタイプの問題は存分にあります。
-命令の実行サイクルについては未考察です。 +命令の実行サイクルについてはある程度似せているつもりですが、 そもそも 68040 はパイプライン方式なので 68000 時代のようにサイクル数を -正確にエミュレーションすることはおそらく不可能ですが、 -それにしても似せるところまでも行っていないという意味です。 +正確にエミュレーションすることはおそらく不可能です。
-68040 は X68030 と virt-m68k でのみ選択可能で、 -LUNA-I と NEWS では選択できません。 +68040 は X68030 と virt-m68k でのみ選択可能です。 NEWS に 68040 搭載モデルはなさそうなのと、 LUNA では 68040 搭載モデルは LUNA-I ではなく LUNA-II になるからです。 @@ -1735,9 +1820,21 @@ virt-m68k (や NEWS) のようにシリ + +++4.9. usermode ネットワーク
+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) です。 ++-4.9. X68030 の Nereid エミュレーション
+4.10. X68030 の Nereid エミュレーション
現実の Nereid はイーサネット/メモリ/USB の複合拡張ボードで、 このうちメモリは、メインメモリの増設に使える他、 メインメモリとして使わなかった領域をバンクメモリとして使うことも出来ます。 @@ -1798,23 +1895,44 @@ Also, SW8 specifies enable/disable of th- +-4.10. usermode ネットワーク
- -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) です。 - +4.11. NetBSD/x68k での時間同期
Time Synchronization on NetBSD/x68k+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 +-4.11. Windrv
+4.12. Windrv
X68030 で Windrv を一応サポートしています。 Human68k からホストのファイルシステムをアクセスする機構です。 従来の Windrv とはホスト OS の前提が異なるため、 @@ -1865,7 +1983,7 @@ DEVICE = \SYS\WINDRV.SYS-4.12. ステータスパネル
Status Panel+4.13. ステータスパネル
Status Panelステータスパネル中央にあるパフォーマンスメータのアイコンは 高速モードの状態を表示しています。 ダブルクリックすると高速/等速モードの指定を切り替えることができます。 @@ -1914,7 +2032,7 @@ or the keyboard buzzer is sounding.-4.13. DIPSW 設定ウィンドウ
+4.14. DIPSW 設定ウィンドウ
DIPSW 設定ウィンドウでの変更はアプリケーション起動中のみ有効です。 またここでの設定は即 VM に反映されますが、 LUNA の場合 DIPSW の状態を @@ -1925,7 +2043,7 @@ PIO(8255) がラッチするのが概ね-4.14. メモリダンプモニタ
Memory Dump Monitor+4.15. メモリダンプモニタ
Memory Dump Monitorメモリダンプモニタの出力形式を、バイト、ワード、ロングワード (m88k ではそれぞれバイト、ハーフワード、ワードと表現します) から選択できます。 @@ -1968,7 +2086,7 @@ The only last 8 bytes are not editable s-4.15. デバイスマップモニタ
Device Map Monitor+4.16. デバイスマップモニタ
Device Map Monitorm68k/m88k バスに接続されているデバイスを表示します。 32ビットアドレスのうち上位 8 ビット、256個分を表示しています。 1枠が 16MB になります。 @@ -1982,7 +2100,7 @@ NEWS のデバイスマップは内部-4.16. キー入力モード
Key input mode+4.17. キー入力モード
Key input modeLUNA も X68030 もキーボードは通常日本語キーボードです (LUNA には英語キーボードも存在するようですが…)。 そのため、ホストが日本語キーボードの場合とそうでない場合のために @@ -2068,7 +2186,7 @@ even though it should not work as a corr-4.17. キャラクタ入力モードのキーコード対応表
Keycode table in the character mode+4.18. キャラクタ入力モードのキーコード対応表
Keycode table in the character modeキャラクタ入力モードでの、ホストから入力した文字と VM に送信されるキーの対応は次の通りです。 ファンクションキーとカーソルキーは文字ではありませんが @@ -2183,7 +2301,7 @@ only be typed from the software keyboard-4.18. JP キーボードモードのキーコード対応表
Keycode table in the JP keyboard mode+4.19. JP キーボードモードのキーコード対応表
Keycode table in the JP keyboard modeJP キーボードモードでの、ホストキーと VM に送信されるキーの対応は次の通りです。 ここに記載のないキーはソフトウェアキーボードからのみ入力出来ます。The following table shows the correspondence between @@ -2253,7 +2371,7 @@ the software keyboard window.-4.19. キーリピート
Key Repeat+4.20. キーリピート
Key RepeatLUNA では、キーボードがハードウェア側でキーリピートを行わず、 ソフトウェア(OS など)がキーリピートの処理を行います。 そのため、キーリピートを実装していない LUNA の PROM や @@ -2352,7 +2470,7 @@ x⏎You will see a screen like this. The bold text indicates the characters you need to enter.-NONO 1.2.0 Emulated ROM Monitor for LUNA-I +NONO 1.4.0 Emulated ROM Monitor for LUNA-I ** NVRAM Initialized. @@ -2450,7 +2568,7 @@ b⏎You will see a screen like this. The bold text indicates the characters you need to enter.-NONO 1.2.0 Emulated ROM Monitor for LUNA-88K +NONO 1.4.0 Emulated ROM Monitor for LUNA-88K ** NVRAM Initialized.