--- nono/doc/index.php 2026/04/29 17:04:30 1.1
+++ nono/doc/index.php 2026/04/29 17:04:33 1.1.1.2
@@ -1,3 +1,8 @@
+
-
-
-NetBSD/amd64-9.0 の場合以下のパッケージが必要です。
+ビルドには以下が必要です。
The following are required for build.
-- pkgsrc/x11/wxGTK30 (OPTIONS:gtk2 is recommended)
+
- make (BSD make, not GNU make)
+
- C/C++ compiler which supports -std=c++14
+
- wxWidgets >= 3.0
+
- gettext
-
-
-アーカイブを展開したら以下のようにします。
+
+wxWidgets は NetBSD(pkgsrc) なら
+pkgsrc/x11/wxGTK30 (OPTIONS:gtk2 推奨) です。
+
If you use NetBSD(pkgsrc),
+wxWidgets is pkgsrc/x11/wxGTK30 (OPTIONS:gtk2 is recommended).
+
+アーカイブを展開したら以下のようにビルドします。
+configure には環境変数 CC、CXX でコンパイラを指定することが出来ます。
+また wx-config が標準的な名前で提供されていないために見付けられない場合には
+環境変数 WX_CONFIG にパスを指定することが出来ます。
+Extract the archive and build as following.
+You can specify C/C++ compiler using environment variable CC and CXX
+if configure cannot find standard name suitable compiler.
+Also, you can specify wx-config path using environment variable WX_CONFIG
+if configure cannot find wx-config.
% ./configure
% make depend
% make
+% su
+# make install
-まだ make install はないです。
-
wx/nono が GUI 版実行ファイル、
-
cli/nono-cli がコマンドライン版です。
+
+
+
+
+2つの実行ファイルがインストールされます。
+nono が GUI 版実行ファイル、
+nono-cli がコマンドライン版です。
+Two executables will be installed.
+nono is GUI executable and nono-cli is
+command line executable.
@@ -130,27 +114,46 @@ option_item("-A
key と value の前後の空白は取り除かれます。
また空行と "#" で始まる行は無視します。
知らないキーの行も無視します。
+VM configuration file is nono.cfg in the VM directory.
+Its syntax is key = value format, one per line.
+White spaces before and after key and value are ignored.
+And, blank lines, lines beginning with "#", and
+lines with unrecognized key are also ignored.
+
設定項目は次の通りです。
+The configuration items are:
string", <<<_EOM_
-VM 種別を指定します。今の所 string に
+VM 種別を指定します。
+今の所 string に
指定できるのは luna (LUNA-I) だけですが、省略不可です。
+Specifies the VM type.
+For now, only luna (LUNA-I) can be specified for
+string.
+This field is mandatory.
_EOM_
);
@@ -286,10 +315,17 @@ config_item("luna-dipsw1 = string
"0" を DOWN、"1" を UP として、
これを8つ並べた形式で、前から順に #1..#8 に対応します。
デフォルトは 11110111 です。
+Specifies status of the front panel DIPSW#1-1..#1-8.
+"0" means DOWN and "1" means UP.
+The first character corresponds to #1 and
+the eighth character corresponds to #8.
+The default value is 11110111.
各スイッチの内容はここ
(NetBSD/luna68k: Information) を参照してください。
+See NetBSD/luna68k: Information about DIPSW.
_EOM_
);
@@ -297,35 +333,67 @@ config_item("luna-dipsw2 = string
本体前面 DIPSW#2-1..#2-8 の内容を指定します。
書式は luna-dipsw1 と同じです。
デフォルトは 11111111 です。
+Specifies status of the front panel DIPSW#2-1..#2-8.
+The same syntax as luna-dipsw1 is used.
+The default value is 11111111.
すべて "1"(UP) なら
NetBSD/luna68k のブートローダは自動的にカーネルをロードして実行し、
どれかでも "0"(DOWN) にするとプロンプトで停止するようです。
(本当は #8 だけで制御するつもりだったんじゃないかという気がします)
+If the value is 11111111,
+NetBSD/luna68k bootloader will automatically load and execute the kernel.
+Otherwise, the bootloader will enter interactive mode.
+(I doubt that they actually wanted to switch with only #8)
+
+
_EOM_
);
config_item("mpu-clock = value", <<<_EOM_
MPU のクロック数を MHz 単位で指定します。
デフォルトは 20MHz です。
+Specifies the MPU clock in MHz. The default value is 20MHz.
_EOM_
);
/* luna には不要
config_item("mpu-has-fpu", ""); */
-config_item("prom-use-rom = integer", <<<_EOM_
-外部 ROM イメージファイルを使うかどうかを指定します。
-0 なら使わない、1 なら使うです。
-デフォルトは 0 です。
+config_item("prom-image = path", <<<_EOM_
+外部 ROM イメージファイルのパスを指定します。
+path がファイル名のみなら VM ディレクトリとその親ディレクトリからこのファイル名を検索します。
+path が相対パスなら VM ディレクトリからの相対パスになります (現在のディレクトリからではありません)。
+空にすると内蔵 ROM を使用します。
+デフォルトは空です。
+Specifies the external ROM image file path.
+If the path does not have any path delimiters,
+the VM directory and then its parent directory will be searched.
+If the path is a relative path,
+it will be path from the VM directory, not from the current
+directory.
+If the path is empty, internal emulated ROM will be used.
+The default value is empty.
-実機を持っていない場合はこの値を 0 にしておくと、
+実機を持っていない場合はこの値を空に (= デフォルトのままに) しておくと、
nono 内蔵のなんちゃって下位互換 ROM で起動します。
+If you does not have the real LUNA machines,
+you can boot with nono's internal downward compatible emulated ROM
+if you set this field empty (or leave it as the default).
-実機を持っている場合は ROM ファイルを用意して
-この値を 1 にすると実機 ROM で起動できます。
-ROM ファイルは実機の 0x41000000-0x4101ffff (128KB) を PROM.DAT (大文字)
-という名前で保存したもので、VM ディレクトリに置きます。
+実機を持っている場合は ROM ファイルを指定することで実機 ROM で起動できます。
+ROM ファイルは実機の 0x41000000-0x4101ffff (128KB) を保存したものです。
+If you have the real LUNA machines,
+you can boot with the real ROM spcifying the ROM file path.
+The ROM file is extracted from 0x41000000-0x4101ffff (128KB) from
+the real machine.
+_EOM_
+);
+
+config_item("ram-size = value", <<<_EOM_
+搭載する RAM サイズを MB 単位で指定します。
+デフォルトは 16MB です。
+Specifies the RAM size in MB. The default is 16MB.
_EOM_
);
@@ -336,10 +404,23 @@ ID 7 は本体が使用しますので
を ","(カンマ) で区切って並べた形式で、
今の所デバイス種別 devtype には "hd"(ハードディスク) のみ指定可能です。
ディスクイメージパスが相対パスなら VM ディレクトリからの相対パスになります。
+
+Specifies SCSI device. N 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 image path path separated by ","(comma).
+For now, only "hd" (hard disk) can be specified for devtype.
+If the path is relative path, it is from the VM directory.
+
+
例えば、nono.cfg と同じディレクトリに置いたディスクイメージ luna.img
を使う場合、
LUNA では通常 ID 6 をプライマリ HDD に割り当てるのでこんな感じになります。
+For example, if you use disk image luna.img placed in the same
+directory as nono.cfg,
+since LUNA usually assigns ID 6 to the primary HDD,
+write as following:
spc0-id6-image = hd,luna.img
@@ -354,6 +435,19 @@ config_item("spc0-idN-writeprotec
fsck を気にせずカーネルのデバッグとかを行いたい場合にはどうぞ。
何が起きるか意味が分からない人は指定しないでください。
デフォルトは 0 です。
+Specifies whether nono ignores writing to SCSI devices.
+0 means normal operation (writes to the devices).
+If 1 is specified,
+nono will not actually write back to the disk image
+even though the write command is succeeded.
+nono's SCSI devices acts as
+write command is successfully done but it never writes back
+to the actual disk image.
+This is useful for kernel debugging because it does not require fsck
+after the kernel hangs.
+But don't use this flag if you don't understand this paragraph.
+The default value is 0.
+
_EOM_
);
@@ -365,36 +459,79 @@ _EOM_
実行してみる Try it
-どこかに nono 用のディレクトリを用意し(例えば ~/nono/)、
+つついさんが NetBSD/luna68k 9.0 の liveimage を用意してくださっています
+(いつもありがとうございます)。
+
Tsutsui-san has provided NetBSD/luna68k 9.0 liveimage for this
+(Thanks as always).
+
+
+- どこかに nono 用のディレクトリを用意し(例えば ~/nono/)、
その中に VM ディレクトリを用意します (例えば ~/nono/luna/)。
-その中に設定ファイル nono.cfg を用意します。
-nono に -c オプションで VM ディレクトリを指定して起動します。
-これだけでたぶん起動して NVRAM.DAT ファイルが自動的に作られます。
-ROM モニタについては最低限なんとなく雰囲気似せてあるので
-再びこちら (NetBSD/luna68k: Information) 参照のこと。
-ここからどうやって NetBSD/luna68k をインストールするかについては待て次号。
-
-% mkdir -p ~/nono/luna/
-% echo "vmtype=luna" > ~/nono/luna/nono.cfg
-% path/to/nono -c ~/nono/luna
-
+Create a directory for nono somewhere (for example ~/nono/),
+and create subdirectory for individual VMs in it (for example ~/nono/luna).
+ - http://teokurebsd.org/netbsd/liveimage/20200518-luna68k/ から
+イメージファイルをダウンロードして展開し、
+VM ディレクトリ ~/nono/luna/ に置きます。
+
Download imagefile from
+http://teokurebsd.org/netbsd/liveimage/20200518-luna68k/,
+extract it and place it in the VM directory, ~/nono/luna.
+
+ - 同じく VM ディレクトリに設定ファイル nono.cfg を以下の内容で用意します。
+
Create a configuration file nono.cfg in the same VM directory, ~/nono/luna,
+with following contents:
+
+vmtype = luna
+spc0-id6-image = hd,liveimage-luna68k-raw-20200518.img
+
+ - nono -c ~/nono/luna で起動します
+(VM ディレクトリに自動的に NVRAM.DAT が作られます)。
+
Run as nono -c ~/nono/luna.
+(It creates NVRAM.DAT automatically in the VM directory)
+ - Emulated ROM Monitor が起動するので、
+初回は以下のように入力すると NetBSD が起動します。
+
The emulated ROM Monitor will be executed.
+Then, only for the first time,
+entering the following can boot NetBSD.
+
+k
+[Enter]
+[Enter]
+d
+boot
+g
+x
+
+この内容は NVRAM.DAT に記録されているので次回以降は直接 NetBSD が起動します。
+The information you have just entered is recorded in NVRAM,
+so next time it boots NetBSD automatically.
+
+
+元ツイートはこちらOriginal tweet
。
ネットワーク設定 Setup network
-設定ファイルに
+設定ファイル nono.cfg に以下の行を追加します。
+
Add the following line to configuration file, nono.cfg.
ethernet-hostdriver = tap
-を追加し、VM ディレクトリに nono-ifup、nono-ifdown
-というスクリプトを用意してください。
+次に VM ディレクトリかその親ディレクトリに nono-ifup、nono-ifdown
+というスクリプトを用意します。
nono は tap(4) をオープンし、
そのデバイス名を引数にこれらのスクリプトを呼びます。
+
Then, prepare two scripts named nono-ifup and nono-ifdown
+in the VM directory or its parent directory.
+nono will open tap(4) and
+invoke these scripts with the name of the device as an argument.
最もシンプルなケースだとおそらく
+For example, in the simplest case, probably,
# brconfig bridge0 create
# brconfig bridge0 add wm0
@@ -403,7 +540,10 @@ nono は tap(4) をオープンし、
(sudo の設定は別途行ってから)
次のような nono-ifup、nono-ifdown を用意すれば
wm0 の物理セグメントとブリッジできると思います。
-
+If you setup bridge0 as above (and setup sudo) and
+prepare the following nono-ifup, nono-ifdown scripts,
+you can bridge between the guest network and host's wm0.
+
nono-ifup
@@ -423,14 +563,62 @@ sudo ifconfig $1 down
-注意 Note
-まだアルファリリースなので、
-すべての仕様は今後互換性なく変更するかも知れません。
-This is alpha quality release.
-All specifications on this page may be changed
-without compatibility in the near future.
+既知の問題 Known problems
+
+
+- メモリおよびデバイスのアクセスウェイトは未実装です。
+
Any access wait cycles for memories and devices are not implemented yet
+ - メインウィンドウの中心にサブウィンドウが表示されていると
+マウスモードが効きません。(ver 0.0.2 以降)
+
Mouse mode can not work when some sub windows are displayed
+on the center of the main window. (since ver 0.0.2)
+
+
+
+
+
+
+変更履歴 Changes
+
+
+
+ライセンス License
+
+
+
+パッチの提供について About contributes
+
+パッチを提供してくださる場合は以下に同意したものとします。
+
If you provide a patch to nono, you must agree to the following conditions:
+
+
+- 成果物が nono のライセンスに従って運用あるいは配布されること。
+
All your work are operated or distributed under the nono license.
+ - ライセンスが将来変わる可能性があること。
+
The license may be changed in the future.
+ - 著作部分に関して著作者人格権を行使しないこと。
+
Do not exercise your author's rights.
+
+
+
+
+Acknowledgements
+
+nono は以下の広告条項を含むソースコードを利用しています。
+
nono uses source code with the following advertising clause.
+
+This product includes software developed by Gordon Ross
+This product includes software developed by the University of California, Lawrence Berkeley Laboratory.
+
+
+
-isaki@NetBSD.org
+nono project