ベースアドレス・割り込みベクタ
Base address and interrupt vectors
| $ece300,$f9,$fb (SW7=OFF)
@@ -1470,20 +1795,77 @@ Otherwise, the bank memory will be alloc
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.
-
+
-4.6. NEWS エミュレーション
-NEWS エミュレーションは未完成です。
-今の所 -X でカーネルを直接起動することしか出来ません。
+ 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. Windrv
+X68030 で Windrv を一応サポートしています。
+Human68k からホストのファイルシステムをアクセスする機構です。
+従来の Windrv とはホスト OS の前提が異なるため、
+既存実装からの移植ではありませんし、
+そもそも Human68k とホスト(UNIX)ファイルシステムの差異による制約も多くあります。
+これらを把握してから使用してください。
+
+- ファイル名は21文字すべて認識します。
+22文字以上(というか 18.3 形式以外)のファイル名はゲストからは見えません。
+
- ファイル名中の ASCII 以外の文字には現状対応していません。
+これらの文字を含むファイルはゲストからは見えません。
+
- マルチピリオドには対応していません。
+このようなファイルはゲストからは見えません。
+
- 大文字小文字は区別しません。
+大文字小文字だけが違う同名のファイル (例えば a.BAK と a.bak) があると、
+検索(FILES/NFILES) には現れません。
+この状況で a.Bak (大文字小文字を区別していれば違うファイル)
+を新規作成しようとすると (大文字小文字を区別しないゲスト OS からは
+a.Bak というエントリは存在しないように見えるにも関わらず)
+作成できなくしてあります。
+
- ファイルサイズが 2GB 以上のファイルはゲストからは見えません。
+
- Human68k 側の属性は A(アーカイブ)/D(ディレクトリ)/R(読み込み専用)
+のみ対応しています。
+S(システム)/H(隠しファイル)属性は保存されません。
+
- ホストのシンボリックリンクは、リンク先の
+ファイルもしくはディレクトリとして見えます。
+またリンク先が Windrv のルートパスの外側を指していても構いません。
+
- ファイルのロックには対応していません。
+
- WindrvXM.sys による拡張動作には対応していません。
+windrv 互換として動作します。
+
- TwentyOne.x は現状 +T/-C/-P/-S (いずれもデフォルト) 相当だと思います。
+TwentyOne.x が常駐していないとか、
+これ以外のオプションの時にどうなるかは把握していません。
+
- lndrv.x によるゲスト側のシンボリックリンク機能には未対応です。
+
+
+Windrv を使用する場合、まず nono
+の設定ファイルに windrv-path を設定します。
+次にゲストの Human68k の CONFIG.SYS に WINDRV.SYS (または WindrvXM.sys)
+を設定してください。
+
+
+DEVICE = \SYS\WINDRV.SYS
+
+
-4.7. ステータスパネル Status Panel
+ 4.12. ステータスパネル Status Panel
ステータスパネル中央にあるパフォーマンスメータのアイコンは
高速モードの状態を表示しています。
ダブルクリックすると高速/等速モードの指定を切り替えることができます。
@@ -1532,26 +1914,27 @@ or the keyboard buzzer is sounding.
-4.8. DIPSW 設定ウィンドウ
+ 4.13. DIPSW 設定ウィンドウ
DIPSW 設定ウィンドウでの変更はアプリケーション起動中のみ有効です。
またここでの設定は即 VM に反映されますが、
LUNA の場合 DIPSW の状態を
PIO(8255) がラッチするのが概ね起動時および再起動時のみとなっています
(厳密には PROM と XP が云々ですが)。
+
-4.9. メモリダンプモニタ Memory Dump Monitor
+ 4.14. メモリダンプモニタ Memory Dump Monitor
メモリダンプモニタの出力形式を、バイト、ワード、ロングワード
(m88k ではそれぞれバイト、ハーフワード、ワードと表現します)
から選択できます。
また 68030/88200 の MMU ディスクリプタとして表示させることもできます
(この位置が正しいディスクリプタかどうかは関係なく表示します)。
-逆アセンブルも、逆アセンブルウィンドウからこちらにマージしました。
-LUNA-I なら m68k、HD64180 の逆アセンブルが、
-LUNA-88K なら m88k、HD64180 の逆アセンブルが、
-X68030 と NEWS なら m68k の逆アセンブルが選択できます。
+逆アセンブルは、
+LUNA-I なら m68k と HD64180 の逆アセンブルが、
+LUNA-88K なら m88k と HD64180 の逆アセンブルが、
+X68030/virt-m68k/NEWS なら m68k の逆アセンブルが選択できます。
On memory dump monitor,
you can choose the output format from byte, word and longword
(In m88k, it is represented as byte, halfword and word respectively).
@@ -1560,7 +1943,8 @@ Also you can choose 68030/88200 MMU desc
Disassemble is now merged from disassemble monitor.
On LUNA-I, you can choose m68k and HD64180 disassemble.
On LUNA-88K, you can choose m88k and HD64180 disassemble.
-On X68030 and NEWS, you can choose m68k disassemble.
+On X68030/virt-m68k/NEWS,
+you can choose m68k disassemble.
表示されているダンプ値をダブルクリックすることでメモリの値を編集できます。
編集できるのはメモリと以下の部分のみです。
@@ -1569,9 +1953,9 @@ Only memory and the following areas are
- NVRAM (LUNA and NEWS Only) …
編集するとただちにファイルも更新します。
-後ろの8バイトは時計レジスタを兼ねているため編集不可です。
+後ろの8バイトのみ時計レジスタを兼ねているため編集不可です。
The backend file is also updated immediately when edited.
-The last 8 bytes are not editable since there are the clock register.
+The only last 8 bytes are not editable since there are the clock registers.
- Bitmap framebuffer (LUNA Only) … 共通プレーンは書き込み不可です。
The common plane is not editable.
- SRAM (X68030 Only) …
@@ -1580,21 +1964,25 @@ The last 8 bytes are not editable since
- TVRAM とテキストパレット (X68030 Only)
Text VRAM and text palette
+
-4.10. デバイスマップモニタ Device Map Monitor
+ 4.15. デバイスマップモニタ Device Map Monitor
m68k/m88k バスに接続されているデバイスを表示します。
32ビットアドレスのうち上位 8 ビット、256個分を表示しています。
1枠が 16MB になります。
また、X68030 ではこのうち 24ビット空間を別モニタで表示します。
こちらは 1枠 8KB x 2048個です。
どちらも内部構造を表示しているだけなので名前に馴染みがない場合があるかもしれません。
+NEWS のデバイスマップは内部構造の都合上、
+内部状態を正確に反映していないケースがあるかも知れません。
+
-4.11. キー入力モード Key input mode
+ 4.16. キー入力モード Key input mode
LUNA も X68030 もキーボードは通常日本語キーボードです
(LUNA には英語キーボードも存在するようですが…)。
そのため、ホストが日本語キーボードの場合とそうでない場合のために
@@ -1680,7 +2068,7 @@ even though it should not work as a corr
-4.12. キャラクタ入力モードのキーコード対応表 Keycode table in the character mode
+ 4.17. キャラクタ入力モードのキーコード対応表 Keycode table in the character mode
キャラクタ入力モードでの、ホストから入力した文字と
VM に送信されるキーの対応は次の通りです。
ファンクションキーとカーソルキーは文字ではありませんが
@@ -1698,7 +2086,7 @@ only be typed from the software keyboard
.keytable-whole {
display: inline-block;
vertical-align: top;
- border: solid 1px;
+ border-bottom: solid 1px;
}
.keytable-middle {
margin-left: 1em;
@@ -1707,16 +2095,25 @@ only be typed from the software keyboard
.keytable-head {
text-align: left;
+ border-top: solid 1px;
border-bottom: solid 1px;
}
.keytable-headl {
padding-right: 1em;
+ border-left: solid 1px;
+ border-right: solid 1px;
+}
+.keytable-headr {
+ border-right: solid 1px;
}
.keytable-tdl {
padding-right: 1em;
+ border-left: solid 1px;
+ border-right: solid 1px;
}
.keytable-tdr {
+ border-right: solid 1px;
}
@@ -1786,12 +2183,12 @@ only be typed from the software keyboard
-4.13. JP キーボードモードのキーコード対応表 Keycode table in the JP keyboard mode
+ 4.18. JP キーボードモードのキーコード対応表 Keycode table in the JP keyboard mode
JP キーボードモードでの、ホストキーと VM に送信されるキーの対応は次の通りです。
ここに記載のないキーはソフトウェアキーボードからのみ入力出来ます。
The following table shows the correspondence between
the host key and the guest key.
-The keys that not listed in this table can only be enter from
+The keys that not listed in this table can only be entered from
the software keyboard window.
@@ -1809,20 +2206,17 @@ the software keyboard window.
| []] | []]
| | [,] | [,]
| | [.] | [.]
- | | [/] | [/]
- | | [_] | [_]
|
| HostKey | GuestKey
+ |
|---|
| [/] | [/]
+ | | [_] | [_]
| | [ESC] | [ESC]
| | [TAB] | [TAB]
| | [CTRL] | [CTRL]
- | | [BS] | [BS]
- | | [Enter] | [Enter]
- | | [F1] 〜 [F10] | [PF1] 〜 [PF10]
- | | [F11] | [PF10]
| | [SHIFT-L] | [SHIFT-L]
| | [SHIFT-R] | [SHIFT-R]
+ | | [Enter] | [Enter]
| | [↑] | [↑]
| | [←] | [←]
| | [→] | [→]
@@ -1830,7 +2224,10 @@ the software keyboard window.
|
| HostKey | GuestKey
- |
|---|
| [DEL] | Numpad[DEL]
+ | | [BS] | [BS]
+ | | [Delete] | [DEL]
+ | | [F1] 〜 [F10] | [PF1] 〜 [PF10]
+ | | [F11] | [PF10]
| | Numpad[0]〜[9] | Numpad[0]〜[9]
| | Numpad[+] | Numpad[+]
| | Numpad[-] | Numpad[-]
@@ -1840,13 +2237,23 @@ the software keyboard window.
| | Numpad[.] | Numpad[.]
| | Numpad[Enter] | Numpad[Enter]
|
+
+
+(X68030 Only)
+| HostKey | GuestKey
+ |
|---|
| [Home] | [HOME]
+ | | [Insert] | [INS]
+ | | [PageUp] | [ROLL UP]
+ | | [PageDown] | [ROLL DOWN]
+ | | [End] | [UNDO]
+ |
-4.14. キーリピート Key Repeat
+ 4.19. キーリピート Key Repeat
LUNA では、キーボードがハードウェア側でキーリピートを行わず、
ソフトウェア(OS など)がキーリピートの処理を行います。
そのため、キーリピートを実装していない LUNA の PROM や
@@ -1915,16 +2322,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 で起動します
@@ -1950,7 +2352,7 @@ x⏎
You will see a screen like this. The bold text indicates
the characters you need to enter.
-NONO 0.6.0 Emulated ROM Monitor for LUNA-I
+NONO 1.2.0 Emulated ROM Monitor for LUNA-I
** NVRAM Initialized.
@@ -1996,11 +2398,11 @@ and nono will terminate when the VM is p
5.2. OpenBSD/luna88k を実行してみる Try OpenBSD/luna88k
-あおやまさんが OpenBSD/luna88k 7.0 の liveimage を用意されています。
- Aoyama-san has provided a liveimage of OpenBSD/luna88k 7.0.
+あおやまさんが OpenBSD/luna88k 7.6 の liveimage を用意されています。
+ Aoyama-san has provided a liveimage of OpenBSD/luna88k 7.6.
-- https://twitter.com/ao_kenji/status/1473611893386661888
+
- https://bsd.network/@ao_kenji/113300210182705408
ここではこれを起動してみます。 Let's try it.
@@ -2011,10 +2413,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-20211221.img.gz
+以下のリンクから liveimage-luna88k-raw-20241013.img.gz
をダウンロードして展開し、
VM ディレクトリ ~/nono/luna88k/ に置きます。
-Download liveimage-luna88k-raw-20211221.img.gz from the following link,
+Download liveimage-luna88k-raw-20241013.img.gz from the following link,
extract it and place it in the VM directory, ~/nono/luna88k/.
以下の内容の設定ファイル 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-20211221.img
-hostnet-driver = none
+spc0-id6-image = hd,liveimage-luna88k-raw-20241013.img
nono -c ~/nono/luna88k で起動します
@@ -2053,7 +2450,7 @@ b⏎
You will see a screen like this. The bold text indicates
the characters you need to enter.
-NONO 0.6.0 Emulated ROM Monitor for LUNA-88K
+NONO 1.2.0 Emulated ROM Monitor for LUNA-88K
** NVRAM Initialized.
@@ -2081,9 +2478,10 @@ and nono will terminate when the VM is p
5.3. NetBSD/x68k を実行してみる Try NetBSD/x68k
-つついさんが NetBSD/x68k 9.2 の liveimage を用意されています。
+つついさんが NetBSD/x68k 10.1 の liveimage を用意されています。
ここではこれを起動してみます。
- Tsutsui-san has provided a liveimage of NetBSD/x68k 9.2. Let's try it.
+ Tsutsui-san has provided a liveimage of NetBSD/x68k 10.1.
+Let's try it.
- どこかに nono 用のディレクトリを用意し(例えば ~/nono/)、
@@ -2092,29 +2490,27 @@ and nono will terminate when the VM is p
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/20210613-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-20210613.hds
-hostnet0-driver = none
+spc0-id0-image = hd,liveimage-x68k-with-packages-20250106.hds
- 初回のみ nono -c ~/nono/x68k --create-sram を実行します。
@@ -2135,7 +2531,7 @@ nono のせいではありません(>_<)
At the first 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 an accident which is far from the ideal
+It's very sad to me that the accident which is far from the ideal
is the first experiences of newcomers.
- NetBSD が起動した後なら (正確には powerd(8) が起動していれば)、
@@ -2149,21 +2545,105 @@ and nono will terminate when the VM is p
+
+
+
+
+5.4. NetBSD/virt68k をインストールしてみる Try installing NetBSD/virt68k
+ここでは NetBSD/virt68k をクリーンインストールする手順だけ紹介します。
+ Here I will introduce how to install NetBSD/virt68k cleanly.
+
+
+
+- どこかに nono 用のディレクトリを用意し(例えば ~/nono/)、
+その中に VM ディレクトリを用意します (例えば ~/nono/virt68k/)。
+
Create a directory somewhere for nono (for example ~/nono/),
+and create subdirectories for individual VMs in it
+(for example ~/nono/virt68k/).
+
+ - 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. :(
+
+ - インストーラを起動するカーネルとその後運用するカーネルは同じものなので
+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/
+
+
+ - 空のディスクイメージを用意します。
+1GB でもインストール自体は出来ますが、もう少し大きいほうが安心です。
+
Prepare an empty disk image file.
+You can install it with 1GB at least,
+but it would be safer if it was a little larger.
+
+dd if=/dev/zero of=virt68k.img bs=1m count=2048
+
+
+ - 以下の内容の設定ファイル nono.cfg を VM ディレクトリ ~/nono/virt68k
+に作成します。
+
Create a configuration file nono.cfg in the VM directory, ~/nono/virt68k/,
+with following contents.
+
+vmtype = virt-m68k
+exec-file = netbsd-GENERIC.gz
+exec-bootparam = root=ld0
+virtio-block0-image = virt68k.img
+fast-mode = 1
+
+
+ - インストーラ RAM ディスクを指定してインストーラを起動します。
+設定ファイルでルートデバイスを ld0 に指定していますが、
+RAM ディスク指定のほうが優先されるようです。
+
Run the installer by specifying installer RAM disk.
+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
+
+
+ - しばらくすると見慣れたインストーラが起動してきます。
+インストールが終わったらトップメニューから e:Utility menu >
+g:Halt the system
+を選択してください。ゲストの電源がオフになり nono も終了します。
+
After a while, the familiar installer will start.
+Once the installation has finished,
+choose e:Utility menu > g:Halt the system.
+Then the guest will shut down, and nono also will terminate.
+
+ - インストールしたディスクから起動するには、
+--initrd オプションを外して実行します。
+カーネルは引き続きホストファイルシステム上にあるもの
+(ここでは ~/nono/virt68k/netbsd-GENERIC.gz) を使います。
+
To boot from the installed disk,
+run without --initrd option.
+It still uses the kernel on the host filesystem,
+just like the installer does.
+
+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
@@ -2176,7 +2656,7 @@ sysinst 等で OS をアップグレー
に戻るのがハマりポイントです。
By default, /dev/tap is only accessible to privileged user.
You need to chmod /dev/tap (without unit number) appropriately.
-Note that upgrading using sysinst always reset the permission to 600.
+Note that upgrading using sysinst always resets the permission to 600.
- bridge(4) インタフェースを作成し、
ホストの外部(物理)インタフェースをブリッジに追加しておきます。
@@ -2243,6 +2723,7 @@ It's OK if you can see "HostNet Driver:
+
@@ -2263,10 +2744,19 @@ the mouse pointer will not move as expec
(2021/12/30)
Wayland の場合にウィンドウサイズが正しく設定されない場合があります。
-wxWidgets (3.0.5) のバグと思われます。
+wxWidgets (3.0/3.2) のバグと思われます。
On Wayland, window size may be incorrect.
-This may be due to wxWidgets (3.0.5) bug.
-(2021/12/30)
+This may be due to wxWidgets (3.0/3.2) bug.
+(2021/12/30, Updated 2024/07/03)
+
+nono ではありませんが、wxWidgets 3.2 (with GTK3) は
+NetBSD/sparc (などマイナーアーキテクチャ?)
+でウィンドウ内がほぼ描画されないようです。
+wxWidgets 3.0 (with GTK2) であれば動作します。
+On wxWidgets 3.2 (with GTK3), it seems that the inside of the window
+is hardly drawn at NetBSD/sparc (and such minor architectures?).
+wxWidgets 3.0 (with GTK2) can.
+(2024/07/03)
@@ -2288,9 +2778,18 @@ In such case, you may need to upgrade it
+
+
+9. 付属ソフトウェア Included Software
+
+
+
-9. 変更履歴 Changes
+ 10. 変更履歴 Changes
@@ -2298,10 +2797,10 @@ See changes.html<
-10. 連絡先、ライセンス等 Contact, License, etc
+11. 連絡先、ライセンス等 Contact, License, etc
-10.1. ライセンス License
+ 11.1. ライセンス License
-
nono 自身については
@@ -2325,7 +2824,7 @@ nono は SIL Open Font License version 1
-10.2. 連絡先 Contact us
+ 11.2. 連絡先 Contact us
バグ報告などは以下にお願いします。日本語でおk。
If you find any problems, please let me know.
You may write in English.
@@ -2336,7 +2835,7 @@ You may write in English.
-10.3. パッチの提供について About contributes
+ 11.3. パッチの提供について About contributes
パッチを提供してくださる場合は以下に同意したものとします。
If you provide a patch to nono, we assume that you agree the following
conditions:
@@ -2353,7 +2852,7 @@ conditions:
-10.4. Acknowledgements
+ 11.4. Acknowledgements
nono は以下の広告条項を含むソースコードを利用しています。
nono uses source code with the following advertising clause.
|