-wxWidgets は NetBSD(pkgsrc) なら
-pkgsrc/x11/wxGTK32 です (wxGTK30 でも動くはずです)。
+NetBSD(pkgsrc) なら必要なパッケージは
+x11/wxGTK32 と net/libslirp です。
+wxGTK32 の代わりに wxGTK30 でも動くはずです。
If you use NetBSD(pkgsrc),
-wxWidgets is pkgsrc/x11/wxGTK32
-(or wxGTK30).
+x11/wxGTK32 and net/libslirp are needed.
+wxGTK30 would also work.
nono のソースアーカイブを展開したら以下のようにビルドします。
@@ -254,6 +249,18 @@ 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.
+| Power Control
| ○
|
@@ -1600,27 +1651,26 @@ XP プロセッサのクロック数を
-4.3. MPU (68040)
+4.3. MPU (68040)
いくつか未実装の命令があります。
キャッシュは未実装で、
それに伴いキャッシュ制御を行う新設命令 CINV*, CPUSH* も未実装です。
-MMU、ATC はおそらく実装完了です。
+MMU、ATC はまだ怪しいです。
FPU はある程度動作すると思いますが
例外を起こす細かい条件は未検証のため、
本来は例外が起きてソフトウェア (FPSP) で処理するはずのものが
68881 相当のハードウェアエミュレーションで実行出来てしまうという
通常あまり困らないタイプの問題は存分にあります。
-命令の実行サイクルについては未考察です。
+
+命令の実行サイクルについてはある程度似せているつもりですが、
そもそも 68040 はパイプライン方式なので 68000 時代のようにサイクル数を
-正確にエミュレーションすることはおそらく不可能ですが、
-それにしても似せるところまでも行っていないという意味です。
+正確にエミュレーションすることはおそらく不可能です。
-68040 は X68030 と virt-m68k でのみ選択可能で、
-LUNA-I と NEWS では選択できません。
+68040 は X68030 と virt-m68k でのみ選択可能です。
NEWS に 68040 搭載モデルはなさそうなのと、
LUNA では 68040 搭載モデルは LUNA-I ではなく LUNA-II になるからです。
-
+
@@ -1668,9 +1718,8 @@ QEMU の "virt" (架空ハードウェ
NetBSD/virt68k が動作します。
-X オプション (または設定の exec-file)
でカーネルを、
-設定の exec-bootparam でルートデバイスを
-それぞれ
-指定してください。
+設定の exec-bootparam でルートデバイスを
+それぞれ指定してください。
インストール時には --initrd (または設定の exec-initrd)
で RAM ディスクイメージも指定します。
Supports QEMU "virt" virtual hardware's compatible machine and
@@ -1684,8 +1733,7 @@ If you want to install, you also need to
-4.8. シリアルコンソールの端末エミュレーション
-
+4.8. シリアルコンソールの端末エミュレーション
virt-m68k (や NEWS) のようにシリアルコンソールしか持たない機種のために、
メイン画面でシリアルコンソールの端末エミュレーションを実装してあります。
hostcom-driver = cons とすることで nono のメイン画面に
@@ -1694,7 +1742,6 @@ virt-m68k (や NEWS) のようにシリ
ボールド、イタリック、下線などはある程度サポートしています。
バックログはありませんので、バックログが必要なら
stdio 等を使ってください。
-
@@ -1763,7 +1810,56 @@ Also, SW8 specifies enable/disable of th
-4.10. Windrv
+ 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 の設定ファイルに以下を追加します。
+
+clock-sync = real
+
+ゲストの NetBSD/x68k を起動し、
+/etc/sysctl.conf に以下の1行を追加します。
+
+kern.timecounter.hardware=clockinterrupt
+
+さらに /etc/rc.conf に
+
+ntpdate=YES
+ntpdate_hosts=ntp.nict.jp
+
+などと設定します (NTP サーバはお好みで)。
+sysctl の設定によって、ゲスト OS の時計は「この設定が有効になった時点から」
+実時間間隔を刻めますが、
+電源オンからここまでにずれた分が解決できるわけではありませんので、
+必然的に時計を合わせる必要もあるためです。
+これで再起動すると次回からはフルスピードでも実時間を刻めます。
+(再起動せずに有効にしたい場合はこの設定の後 root ユーザで
+
+/etc/rc.d/sysctl start
+/etc/rc.d/ntpdate start
+
+を実行してください)
+
+
+
+
+
+
+4.12. Windrv
X68030 で Windrv を一応サポートしています。
Human68k からホストのファイルシステムをアクセスする機構です。
従来の Windrv とはホスト OS の前提が異なるため、
@@ -1781,8 +1877,9 @@ Human68k からホストのファイル
大文字小文字だけが違う同名のファイル (例えば a.BAK と a.bak) があると、
検索(FILES/NFILES) には現れません。
この状況で a.Bak (大文字小文字を区別していれば違うファイル)
-を新規作成しようとすると (大文字小文字を区別しない a.Bak
-というエントリはゲスト的には存在しないにも関わらず) 作成できなくしてあります。
+を新規作成しようとすると (大文字小文字を区別しないゲスト OS からは
+a.Bak というエントリは存在しないように見えるにも関わらず)
+作成できなくしてあります。
ファイルサイズが 2GB 以上のファイルはゲストからは見えません。
Human68k 側の属性は A(アーカイブ)/D(ディレクトリ)/R(読み込み専用)
のみ対応しています。
@@ -1813,7 +1910,7 @@ DEVICE = \SYS\WINDRV.SYS
-4.11. ステータスパネル Status Panel
+ 4.13. ステータスパネル Status Panel
ステータスパネル中央にあるパフォーマンスメータのアイコンは
高速モードの状態を表示しています。
ダブルクリックすると高速/等速モードの指定を切り替えることができます。
@@ -1862,7 +1959,7 @@ or the keyboard buzzer is sounding.
-4.12. DIPSW 設定ウィンドウ
+ 4.14. DIPSW 設定ウィンドウ
DIPSW 設定ウィンドウでの変更はアプリケーション起動中のみ有効です。
またここでの設定は即 VM に反映されますが、
LUNA の場合 DIPSW の状態を
@@ -1873,7 +1970,7 @@ PIO(8255) がラッチするのが概ね
-4.13. メモリダンプモニタ Memory Dump Monitor
+ 4.15. メモリダンプモニタ Memory Dump Monitor
メモリダンプモニタの出力形式を、バイト、ワード、ロングワード
(m88k ではそれぞれバイト、ハーフワード、ワードと表現します)
から選択できます。
@@ -1916,7 +2013,7 @@ The only last 8 bytes are not editable s
-4.14. デバイスマップモニタ Device Map Monitor
+ 4.16. デバイスマップモニタ Device Map Monitor
m68k/m88k バスに接続されているデバイスを表示します。
32ビットアドレスのうち上位 8 ビット、256個分を表示しています。
1枠が 16MB になります。
@@ -1930,7 +2027,7 @@ NEWS のデバイスマップは内部
-4.15. キー入力モード Key input mode
+ 4.17. キー入力モード Key input mode
LUNA も X68030 もキーボードは通常日本語キーボードです
(LUNA には英語キーボードも存在するようですが…)。
そのため、ホストが日本語キーボードの場合とそうでない場合のために
@@ -2016,7 +2113,7 @@ even though it should not work as a corr
-4.16. キャラクタ入力モードのキーコード対応表 Keycode table in the character mode
+ 4.18. キャラクタ入力モードのキーコード対応表 Keycode table in the character mode
キャラクタ入力モードでの、ホストから入力した文字と
VM に送信されるキーの対応は次の通りです。
ファンクションキーとカーソルキーは文字ではありませんが
@@ -2131,7 +2228,7 @@ only be typed from the software keyboard
-4.17. JP キーボードモードのキーコード対応表 Keycode table in the JP keyboard mode
+ 4.19. JP キーボードモードのキーコード対応表 Keycode table in the JP keyboard mode
JP キーボードモードでの、ホストキーと VM に送信されるキーの対応は次の通りです。
ここに記載のないキーはソフトウェアキーボードからのみ入力出来ます。
The following table shows the correspondence between
@@ -2201,7 +2298,7 @@ the software keyboard window.
-4.18. キーリピート Key Repeat
+ 4.20. キーリピート Key Repeat
LUNA では、キーボードがハードウェア側でキーリピートを行わず、
ソフトウェア(OS など)がキーリピートの処理を行います。
そのため、キーリピートを実装していない LUNA の PROM や
@@ -2270,16 +2367,11 @@ extract it and place it in the VM direct
以下の内容の設定ファイル nono.cfg を VM ディレクトリ ~/nono/luna/
に作成します。
-ここでは説明を簡単にするためネットワークなしにしていますが、
-ネットワーク設定は必要に応じて行ってください。
Create a configuration file nono.cfg in the VM directory, ~/nono/luna/,
-with following contents.
-By the way, to simplify the explanation, we assume there is no network here.
-However, please configure the network if necessary.
+with following contents.
vmtype = luna
spc0-id6-image = hd,liveimage-luna68k-with-packages-20210910.img
-hostnet-driver = none
nono -c ~/nono/luna で起動します
@@ -2305,7 +2397,7 @@ x⏎
You will see a screen like this. The bold text indicates
the characters you need to enter.
-NONO 1.1.0 Emulated ROM Monitor for LUNA-I
+NONO 1.3.0 Emulated ROM Monitor for LUNA-I
** NVRAM Initialized.
@@ -2378,16 +2470,11 @@ extract it and place it in the VM direct
以下の内容の設定ファイル nono.cfg を VM ディレクトリ ~/nono/luna88k/
に作成します。
-ここでは説明を簡単にするためネットワークなしにしていますが、
-ネットワーク設定は必要に応じて行ってください。
Create a configuration file nono.cfg in the VM directory, ~/nono/luna88k/,
-with following contents.
-By the way, to simplify the explanation, we assume there is no network here.
-However, please configure the network if necessary.
+with following contents.
vmtype = luna88k
spc0-id6-image = hd,liveimage-luna88k-raw-20241013.img
-hostnet-driver = none
nono -c ~/nono/luna88k で起動します
@@ -2408,7 +2495,7 @@ b⏎
You will see a screen like this. The bold text indicates
the characters you need to enter.
-NONO 1.1.0 Emulated ROM Monitor for LUNA-88K
+NONO 1.3.0 Emulated ROM Monitor for LUNA-88K
** NVRAM Initialized.
@@ -2436,9 +2523,9 @@ and nono will terminate when the VM is p
5.3. NetBSD/x68k を実行してみる Try NetBSD/x68k
-つついさんが NetBSD/x68k 10.0_BETA の liveimage を用意されています。
+つついさんが NetBSD/x68k 10.1 の liveimage を用意されています。
ここではこれを起動してみます。
- Tsutsui-san has provided a liveimage of NetBSD/x68k 10.0_BETA.
+Tsutsui-san has provided a liveimage of NetBSD/x68k 10.1.
Let's try it.
@@ -2448,29 +2535,27 @@ Let's try it.
and create subdirectories for individual VMs in it
(for example ~/nono/x68k/).
- 以下のリンクから
-plain-install か with-packages のお好みのほうをダウンロードして展開し、
-VM ディレクトリ ~/nono/x68k/ に置きます。
-Download your favorite one of plain-install or with-packages
-from the following link,
-extract it and place it in the VM directory, ~/nono/x68k/.
+以下のサイトから
+「パッケージインストール設定済み版」か
+「インストーラでインストールしたところまでの未設定版」の
+お好みのほうをダウンロードします。
+迷ったら「パッケージインストール設定済み版」がよいでしょう。
+ダウンロードできたら展開して、VM ディレクトリ ~/nono/x68k/ に置きます。
+Download your favorite one of with-packages or plain-install
+from the following site.
+Extract it and place it in the VM directory, ~/nono/x68k/.
-http://teokurebsd.org/netbsd/liveimage/20230111-x68k/
+http://www.ceres.dti.ne.jp/tsutsui/netbsd/liveimage/x68k.html
以下の内容の設定ファイル nono.cfg を VM ディレクトリ ~/nono/x68k/
に作成します。
-ここでは説明を簡単にするためネットワークなしにしていますが、
-ネットワーク設定は必要に応じて行ってください。
Create a configuration file nono.cfg in the VM directory, ~/nono/x68k/,
-with following contents.
-By the way, to simplify the explanation, we assume there is no network here.
-However, please configure the network if necessary.
+with following contents.
vmtype = x68030
-spc0-id0-image = hd,liveimage-x68k-with-packages-20230111.hds
-hostnet0-driver = none
+spc0-id0-image = hd,liveimage-x68k-with-packages-20250106.hds
初回のみ nono -c ~/nono/x68k --create-sram を実行します。
@@ -2546,17 +2631,14 @@ dd if=/dev/zero of=virt68k.img bs=1m cou
以下の内容の設定ファイル nono.cfg を VM ディレクトリ ~/nono/virt68k
に作成します。
-ネットワークは別途設定してください。
Create a configuration file nono.cfg in the VM directory, ~/nono/virt68k/,
-with following contents.
-You may also need network configuration.
+with following contents.
vmtype = virt-m68k
exec-file = netbsd-GENERIC.gz
exec-bootparam = root=ld0
virtio-block0-image = virt68k.img
fast-mode = 1
-hostnet-driver = auto
インストーラ RAM ディスクを指定してインストーラを起動します。
@@ -2598,16 +2680,15 @@ nono -c ~/nono/virt68k
-6. ホストネットワーク設定例 Example of host network setup
-wm0 を持つ NetBSD ホストに tap(4) デバイスを用いて
-nono のゲスト OS を接続する場合の設定例です。
+ 6. ホストネットワーク設定例 Example of host network setup
+
+6.1. tap
+NetBSD の tap(4) デバイスを用いて、
+ホストの wm0 と nono のゲスト OS を接続する場合の設定例です。
-
-設定ファイル nono.cfg に以下の行を追加します
-(と言いつつ NetBSD では書かなくてもデフォルトでこの動作になりますが)
-
Add the following line to configuration file, nono.cfg.
-(Although you don't need to write it since these are default behavior
-on NetBSD)
+設定ファイル nono.cfg に以下の行を追加します。
+Add the following line to configuration file, nono.cfg.
hostnet-driver = tap
hostnet-tap-devpath = auto
@@ -2687,6 +2768,7 @@ It's OK if you can see "HostNet Driver:
+
|