--- nono/doc/index.php 2026/04/29 17:05:39 1.1.1.20 +++ nono/doc/index.php 2026/04/29 17:05:47 1.1.1.22 @@ -224,15 +224,6 @@ If -c option is omitted, _EOM_ ); -option_item("--create-sram", <<<_EOM_ -(X68030 Only) -VM ディレクトリに X68030 用の SRAM.DAT がなければ初期状態で作成して終了します。 - -nono will create the initial SRAM.DAT for X68030 and exit, -if there is no SRAM.DAT in the VM directory. -_EOM_ -); - option_item("-f", <<<_EOM_ 高速モードで起動します。 GUI なら起動後にもメニューから変更できますが、その初期値を変えるだけです。 @@ -244,8 +235,7 @@ This option is equivalent to fast-mo _EOM_ ); -option_item("--fd0 file
--fd1 file
", <<<_EOM_ - +option_item("--fd0 file
--fd1 file", <<<_EOM_ (X68030 Only) フロッピーイメージを指定します。 file が相対パスの場合カレントディレクトリからのパスになります。 設定の fd0-imagefd1-image @@ -255,7 +245,6 @@ 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_ ); @@ -388,11 +377,22 @@ function option_dev($name, $desc) print "
{$desc}
\n"; } -option_dev("-b hexaddr[,skipcount]", <<<_EOM_ +option_dev("-b,--b hexaddr[,skipcount]", <<<_EOM_ デバッガのブレークポイントを 16進数で指定します。 _EOM_ ); +option_dev("--bi inst[:mask][,skipcount]", +<<<_EOM_ +デバッガの命令ブレークポイントを指定します。 +_EOM_ +); + +option_dev("--bv vector[,skipcount]", <<<_EOM_ +デバッガの例外ブレークポイントを指定します。 +_EOM_ +); + option_dev("-C", <<<_EOM_ ログをコンソールにも出力します。 通常はログウィンドウにだけ出力されます。 @@ -545,7 +545,7 @@ The default is real. デフォルトは real です。 On virt-m68k, Goldfish Timer interrupt and Goldfish RTC are the target. The default is real. -
  • X68030 では MFP のタイマー割り込みと RTC(RP5C15) が対象で、 +
  • X68030 では MFP のタイマー割り込みと RTC(RP5C15) が対象で、 デフォルトは virtual です。 MFP の TxDR レジスタの読み出しは、 この指定に関わらず常に virtual 相当の動作しか出来ません。 @@ -555,7 +555,6 @@ 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. - _EOM_ ); @@ -785,48 +784,93 @@ Note that this item is ignored if the ho _EOM_ ); -config_item("hostcom-driver = string", <<<_EOM_ -シリアルポートのホスト側ドライバを指定します。 +config_item( + "hostcom-driver = string
    " . + "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 では stdiotcpnone -が選択可能でデフォルトは none です。 -virt-m68k、NEWS では stdiotcpconsnone -すべてが選択可能でデフォルトは 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. +

    +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\VMLUNA-I/LUNA-88KX68030NWS-1750virt-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 種別によって有効なホスト側ドライバの種類とデフォルト値も異なります。 +The choices and default value vary depending on the VM type. +

    + +
    VMLUNA-I/LUNA-88KX68030NWS-1750virt-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 +
    +
    +

    +指定したドライバが使用出来なかった場合エラー終了します。 +起動後はメニューからドライバを変更できますが、パラメータは(まだ?)変更できません。 +実行中に変更に失敗した場合は 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. _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. -_EOM_ -); - config_item("hostkbd-input = string", <<<_EOM_ (LUNA and X68030 Only) ホストキーボードの入力モードを指定します。 @@ -852,16 +896,16 @@ config_item( "hostnet-usermode-net6 = string
    " . "hostnet-fallback = integer
    ", <<<_EOM_ それぞれ hostnet0-* の別名です。 +These are aliases for hostnet0-* respectively. _EOM_ ); config_item("hostnetN-driver = string", <<<_EOM_ -N +起動時の N 番目のイーサネットデバイスのホスト側ドライバを指定します。 afpacketbpftapusermode のうち configure で検出したものと autonone が選択可能です。 -Specifies the host driver of N-th -ethernet device. +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. @@ -891,6 +935,34 @@ configure で libslirp が無効にな 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\VMLUNA-I/LUNA-88KX68030NWS-1750virt-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. _EOM_ ); @@ -991,19 +1063,6 @@ 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. -_EOM_ -); - config_item("iplrom1-image = path", <<<_EOM_ (X68030 Only) X68030 の外部 IPLROM イメージファイルのパスを指定します。 @@ -1581,8 +1640,7 @@ See spc0-idN-writeignore _EOM_ ); -config_item("virtio-scsi-idN-image = devtype[,path]", <<<_EOM_ - +config_item("virtio-scsi-idN-image = devtype[,path]", <<<_EOM_ (virt-m68k Only) VirtIO SCSI デバイスとイメージを指定します。 イニシエータ ID が不要なため、 @@ -1592,19 +1650,16 @@ VirtIO SCSI デバイスとイメージ 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_ - +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_ ); @@ -1696,6 +1751,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 ○ @@ -1711,13 +1767,13 @@ MPU (68030) ◎ 68EC030 は実装予定 FPU (68881) ◎ 68882 は未実装 68882 not implemented MPU (68040) △ キャッシュ未実装、実行サイクル未考察 DMAC △ -CRTC/VC △ 768x512 のテキスト画面のみサポート Only 768x512 text screen supported +CRTC/VC △ 768x512 画面モードのみサポート Only 768x512 screen mode is supported FDC/FDD ○ 標準・拡張エリアセット Areaset ◎ ADPCM/OPM × テキスト画面Text screen ○ コントラスト Contrast ◎ -グラフィック機能全般 All other graphics × 当面予定なし Not scheduled +グラフィック機能全般 All other graphics グラフィック画面(1024x1024 モード)、画面間プライオリティ(合成を除く)、個別画面オンオフのみ実装。これ以外は当面予定なし。 Keyboard ◎ TVコントロールを除く Except TV Control Mouse ◎ 本体接続のみ MFP △ @@ -1761,7 +1817,7 @@ Goldfish TTY ○ VirtIO Block ○ VirtIO Network ○ VirtIO Entropy ◎ -VirtIO SCSI +VirtIO SCSI ○ Power Control ○ __EOM__; @@ -1806,10 +1862,9 @@ FPU はある程度動作すると思い 68881 相当のハードウェアエミュレーションで実行出来てしまうという 通常あまり困らないタイプの問題は存分にあります。
    - 命令の実行サイクルについてはある程度似せているつもりですが、 そもそも 68040 はパイプライン方式なので 68000 時代のようにサイクル数を -正確にエミュレーションすることはおそらく不可能です。 +正確にエミュレーションすることはおそらく不可能です。
    68040 は X68030 と virt-m68k でのみ選択可能です。 NEWS に 68040 搭載モデルはなさそうなのと、 @@ -1839,6 +1894,20 @@ Human68k を起動する場合はお手 + +

    + +X68030 のグラフィック画面を一部実装しています。 +これにより NetBSD/x68k の標準設定の X サーバは起動します。 +グラフィック画面として実装しているのは 1024x1024 (16色) モードのみです。 +ビデオコントローラは、画面間プライオリティと画面オンオフを実装しており、 +テキスト画面とグラフィック画面の優先度を変更することは出来ます。 +ただし合成や半透明合成は未実装ですので実質切り替えられるだけです。 +スクロール等 CRTC の機能も未実装です。 + +
    + +
    NEWS エミュレーションは今の所 @@ -1884,6 +1953,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 の複合拡張ボードで、 @@ -1946,21 +2026,9 @@ Also, SW8 specifies enable/disable of th
    - -
    -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) です。 -
    - - Time Synchronization on NetBSD/x68k"); ?>
    - X68030 でゲスト OS に NetBSD/x68k を使う場合、 nono と NetBSD/x68k を次の通りに設定すれば nono をフルスピード動作にしてもゲスト OS の時間がずれなくなります。 @@ -1990,7 +2058,6 @@ sysctl の設定によって、ゲスト /etc/rc.d/ntpdate start を実行してください) -
    @@ -2082,8 +2149,8 @@ the user has specified full speed mode a the VM is running in synchronized mode. This will happen when any of the following occurs: @@ -2505,7 +2572,7 @@ NetBSD/luna68k のブートローダで キーリピートを起こす間隔をゲストのソフトウェアが測定しているということは、 VM が高速動作するとキーリピートもそれに合わせて発生することになり、 これをホスト側から防ぐ手段はありません。 -そこで nono ではキー入力が発生している間 +そこで nono ではLUNA でキー入力が発生している間 (キーが一つでも押されてからキーが全て離されるまでの間)、 高速モードが指示されていても VM を一時的に等速モードに落として実行します。 上記のアイコンがそれを区別しているのはこのためです。 @@ -2524,7 +2591,7 @@ if the VM is running faster than the rea the key repeat will occur faster, too. The host application doesn't have the way to avoid it. Therefore, nono will temporarily suppress the full speed mode -while any keys are pressed. +while any keys are pressed on LUNA. That is why the above-mentioned icon distinguishes them. If keys continue to be pressed for some reasons, the VM also continues to run syncronized mode. @@ -2638,11 +2705,11 @@ and nono will terminate when the VM is p Try OpenBSD/luna88k"); ?>
    -あおやまさんが OpenBSD/luna88k 7.6 の liveimage を用意されています。 +あおやまさんが OpenBSD/luna88k 7.7 の liveimage を用意されています。 Aoyama-san has provided a liveimage of OpenBSD/luna88k 7.6.
    -
    https://bsd.network/@ao_kenji/113300210182705408 +
    https://bsd.network/@ao_kenji/114436150104520496
    ここではこれを起動してみます。Let's try it.
    @@ -2653,10 +2720,10 @@ and nono will terminate when the VM is p and create subdirectories for individual VMs in it (for example ~/nono/luna88k/). -
  • 以下のリンクから liveimage-luna88k-raw-20241013.img.gz +
  • 以下のリンクから liveimage-luna88k-raw-20250518.img.gz をダウンロードして展開し、 VM ディレクトリ ~/nono/luna88k/ に置きます。 -Download liveimage-luna88k-raw-20241013.img.gz from the following link, +Download liveimage-luna88k-raw-20250518.img.gz from the following link, extract it and place it in the VM directory, ~/nono/luna88k/.
    -
  • 初回のみ nono -c ~/nono/x68k --create-sram を実行します。 -これで VM ディレクトリに初期状態の SRAM.DAT が作られます。 -Only the first time, run as nono -c ~/nono/x68k --create-sram. -This will create an initial SRAM.DAT in the VM directory. - -
  • nono -c ~/nono/x68k で起動すると、 -HDD から NetBSD/x68k が起動します。 -次回以降はこれだけで直接 NetBSD が起動します。 -Again, run as nono -c ~/nono/x68k. -NetBSD/x68k will be booted from HDD. -Next time, it will boot NetBSD automatically. +
  • nono -c ~/nono/x68k で起動します +(VM ディレクトリに自動的に SRAM.DAT が作られます)。 +Run as nono -c ~/nono/x68k +(SRAM.DAT will be created automatically in the VM directory). -
  • 初回起動後数時間はめちゃくちゃ重たいですが、 +
  • 初回の NetBSD/x68k 起動後数時間はめちゃくちゃ重たいですが、 これはバックグラウンドで makemandb が動くためで nono のせいではありません(>_<)。 -At the first boot, you will feel it's too heavy for several hours. +At the first NetBSD/x68k boot, +you will feel it's too heavy for several hours. This is because the infamous makemandb(8) runs heavily in the background for a looooong time. It's very sad to me that the accident which is far from the ideal @@ -2789,8 +2850,8 @@ and nono will terminate when the VM is p Try installing NetBSD/virt68k"); ?>
    -ここでは NetBSD/virt68k をクリーンインストールする手順だけ紹介します。 -Here I will introduce how to install NetBSD/virt68k cleanly. +ここでは NetBSD/virt68k をインストールする手順を紹介します。 +Here I will introduce how to install NetBSD/virt68k.
      @@ -2800,19 +2861,16 @@ and nono will terminate when the VM is p and create subdirectories for individual VMs in it (for example ~/nono/virt68k/). -
    1. NetBSD/virt68k のインストールセットはまだ用意されてないようなので、 -NetBSD のソースコードから build.sh でビルドします。 -There doesn't seem to be the official NetBSD/virt68k set available yet. -You have to build it manually from the source code using build.sh. :( - -
    2. インストーラを起動するカーネルとその後運用するカーネルは同じものなので -VM ディレクトリ内に持ってきておくとよいです。 -The kernel used for installation and the kernel used for operation -are the same. -So it would be good idea to bring it into the VM directory at this point. -
      -cp <path>/release/virt68k/binary/kernel/netbsd-GENERIC.gz ~/nono/virt68k/
      -
      +
    3. NetBSD/virt68k を含む 11.0 は執筆時点ではまだリリースされていませんが、 +公式サイトにリリースブランチのデイリービルドがあります。 +以下のリンクから netbsd-GENERIC.gz (カーネル) と +inst-ramdisk.fs (インストーライメージ) をダウンロードします。 +
      +https://nycdn.netbsd.org/pub/NetBSD-daily/netbsd-11/latest/virt68k/binary/kernel/netbsd-GENERIC.gz
      +https://nycdn.netbsd.org/pub/NetBSD-daily/netbsd-11/latest/virt68k/installation/ramdisks/inst-ramdisk.fs +
    4. 空のディスクイメージを用意します。 1GB でもインストール自体は出来ますが、もう少し大きいほうが安心です。 @@ -2842,8 +2900,7 @@ RAM ディスク指定のほうが優先 By the way, configuration file specifies root device as ld0, but RAM disk specified by the command line will take precedence.
      -nono -c ~/nono/virt68k \
      - --initrd <path>/release/virt68k/installation/ramdisks/inst-ramdisk.fs
      +nono -c ~/nono/virt68k --initrd inst-ramdisk.fs
       
    5. しばらくすると見慣れたインストーラが起動してきます。