--- nono/doc/index.php 2026/04/29 17:04:43 1.1.1.5 +++ nono/doc/index.php 2026/04/29 17:04:51 1.1.1.7 @@ -41,25 +41,40 @@ function get_version($filename) nono は NetBSD とかで動作する OMRON LUNA-I とかのエミュレータです。 nono is OMRON LUNA-I emulator runs on NetBSD and etc. +

+

+Index:
+ビルド方法 How to build
+コマンドラインオプション Command Line Option
+設定 Configuration
+VM について About VM
+実行してみる Try it
+ネットワーク設定 Setup network
+変更履歴 Changes
+連絡先、ライセンス等 Contact, License, etc
+

はじめに Introduction

nono は NetBSD とかで動作する OMRON LUNA-I とかのエミュレータです。 -LUNA88K は実験的サポートです、まだ動きません。 +LUNA88K は実験的サポートです。 nono is OMRON LUNA-I emulator runs on NetBSD and etc. -LUNA88K is still experimental support and it does not work yet. +LUNA88K is still experimental support.
+ +

ビルド方法 How to build

ビルドには以下が必要です。 -NetBSD(pkgsrc) なら wxWidgets は pkgsrc/x11/wxGTK30 (OPTIONS:gtk2 推奨) です。 +NetBSD(pkgsrc) なら wxWidgets は pkgsrc/x11/wxGTK30 です +(OPTIONS:gtk3 で動作確認しています)。 The followings are required for build. If you use NetBSD(pkgsrc), -wxWidgets is pkgsrc/x11/wxGTK30 (OPTIONS:gtk2 is recommended). +wxWidgets is pkgsrc/x11/wxGTK30 (OPTIONS:gtk3 is tested).

アーカイブを展開したら以下のようにビルドします。 @@ -112,12 +127,13 @@ if configure cannot find wx-config. nono が GUI 版実行ファイル、 nono-cli がコマンドライン版です。 Two executables will be installed. -nono is GUI executable and nono-cli is -command line executable. +nono is the GUI executable and nono-cli is +the command line executable.

+

コマンドラインオプション Command Line Option

@@ -158,9 +174,24 @@ this option preceeds. _EOM_ ); -option_item("-c vmdir", <<<_EOM_ -VM ディレクトリを指定します。省略するとカレントディレクトリとします。 -Specifies the VM directory. If omitted, the current directory is used. +option_item("-c vmpath", <<<_EOM_ +VM ディレクトリ/設定ファイルを指定します。 +vmpath がディレクトリならそのディレクトリの中の nono.cfg +を設定ファイルとします。 +vmpath がファイルならそれを設定ファイルとします。 +そしていずれの場合も +設定ファイルがあるディレクトリを VM ディレクトリとします。 +-c オプションを省略すると vmpath をカレントディレクトリとします。 +Specifies the VM directory/configuration file. +If vmpath is a directory, +make nono.cfg in that directory a configuration file. +Or if vmpath is a file, +make the specified file a configuration file. +And in both cases, +make the directory where that file is located a VM directory. +If -c option is omitted, +vmpath is considered as the current directory. + _EOM_ ); @@ -285,14 +316,18 @@ _EOM_
+ +

設定 Configuration

-VM の設定ファイルはその VM ディレクトリ内の nono.cfg です。 +VM の設定ファイルはその VM ディレクトリ内の nono.cfg +(または -c で指定したファイル) です。 書式は key = value 形式で1行1項目ずつです。 keyvalue の前後の空白は取り除かれます。 また空行と "#" で始まる行は無視します。 知らないキーの行も無視します。 -VM configuration file is nono.cfg in the VM directory. +VM configuration file is nono.cfg +(or the file specified by -c option) 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 @@ -336,7 +371,39 @@ config_item("ethernet-hostdriver = st nonetapbpf が指定できます。 none ならホスト側とは一切通信を行いません。 tapbpf かはホスト OS によってビルド時に決定します。 -NetBSD なら tap です。 +NetBSD、OpenBSD、FreeBSD、Linux なら tap です。 +Specifies the host driver of ethernet device. +none, tap and bpf can be specified. +If none, it doesn't make any communication with the host. +tap or bpf is determined at build time for the host OS. +If the host is NetBSD, OpenBSD, FreeBSD, or Linux, it's tap. +_EOM_ +); + +config_item("ethernet-hostdevice = string", <<<_EOM_ +イーサネットデバイスのホスト側のデバイス名を指定します。 +ethernet-hostdrivertap の場合ここには +tap デバイスを(フルパスで)指定します。 +Specifies the host device name of ethernet device. +If ethernet-hostdriver is tap, +this field specifies the full path to the tap device. +

+デフォルトは auto で、この場合の動作はホスト OS ごとに異なります。 +Linux なら "/dev/net/tun" を指定したのと同じです。 +OpenBSD なら /dev/tap0 から /dev/tap9 まで +順番にオープンできるまで試します。 +NetBSD (と FreeBSD) ならまず /dev/tap でクローニングを試み、 +それが失敗すれば /dev/tap0 から /dev/tap9 までを +順番にオープンできるまで試します。 +The default is auto. +The behavior in this case depends on the host OS. +On Linux, it's the same as /dev/net/tun. +On OpenBSD, it will try from /dev/tap0 to /dev/tap9 +until successful. +On NetBSD (and FreeBSD), it will try cloning by /dev/tap first. +If that fails, then try from /dev/tap0 to /dev/tap9 +until successful. + _EOM_ ); @@ -466,11 +533,33 @@ _EOM_ config_item("ram-size = integer", <<<_EOM_ 搭載する RAM サイズを MB 単位で指定します。 -デフォルトは LUNA-I は 16MB、LUNA88K は 64MB です。 -まだたぶん変更できません。 +LUNA-I のデフォルトは 16MB です。 +16MB 未満は 4MB 単位で、 +16MB 以上は 255MB まで 1MB 単位で指定できます +(ちなみに NetBSD/luna68k の起動には最低でも 8MB 必要です)。 +LUNA88K のデフォルトは 64MB です。 +64MB 未満は 16MB 単位で、 +64MB 以上は暫定で 255MB まで 1MB 単位で指定できます。 Specifies the RAM size in MB. -The default is 16MB on LUNA-I or 64MB on LUNA88K. -Not supported yet. +On LUNA-I, the default is 16MB. +If the size is less than 16MB, you can specify in 4MB unit. +If larger, you can specify up to 255MB in 1MB unit. +By the way, NetBSD/luna68k needs at least 8MB to boot. +On LUNA88K, the default is 64MB. +If the size is less than 64MB, you can specify in 16MB unit. +If larger, you can specify up to tentative 255MB in 1MB unit. + +_EOM_ +); + +config_item("show-statuspanel = integer", <<<_EOM_ +ステータスパネルを表示するかどうかを指定します。 +0 なら非表示、1 なら表示です。 +起動後はメニューから変更可能です。 +Specifies whether to display the status panel or not. +If 0, it is hidden; if 1, it is shown. +You can change it on GUI menu after boot. + _EOM_ ); @@ -493,10 +582,10 @@ If the path is relative path, it

例えば、nono.cfg と同じディレクトリに置いたディスクイメージ luna.img を使う場合、 -LUNA-I では通常 ID 6 をプライマリ HDD に割り当てるのでこんな感じになります。 +LUNA では通常 ID 6 をプライマリ HDD に割り当てるのでこんな感じになります。 For example, if you use disk image luna.img placed in the same directory as nono.cfg, -since LUNA-I usually assigns ID 6 to the primary HDD, +since LUNA usually assigns ID 6 to the primary HDD, write as following:

 spc0-id6-image = hd,luna.img
@@ -528,7 +617,7 @@ fsck を気にせずカーネルのデ
 デフォルトは 0 です。
 Specifies whether nono ignores writing to SCSI devices.
 0 means normal operation (writes to the devices).
-If 1 is specified, 
+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
@@ -548,6 +637,90 @@ _EOM_
 
+ +

VM について About VM

+
ステータスパネル Status Panel
+
+ステータスパネル中央にあるパフォーマンスメータのアイコンは +高速モードの状態を表示しています。 +ダブルクリックすると高速/等速モードの指定を切り替えることができます。 +The performance meter's icon at the center of the status panel +shows the VM speed status. +You can switch full speed / syncronized mode by double-clicking on this icon. + + +
+ +… + +マークなしの場合、ユーザが等速モードを指定していて、等速モードで実行中です。 +When no icons are displayed, +the user has specified syncronized mode and +the VM is running in synchronized mode. +
+ +… + +三角2つの場合、ユーザが高速モードを指定していて、等速モードで実行中です。 +キー入力中(後述)または VM がアイドル状態(m68k の STOP 命令)などで起きます。 +When an icon (two triangles) is displayed, +the user has specified full speed mode and +the VM is running in synchronized mode. +This will happen during keystrokes or when the VM is idle +(STOP instruction on m68k). + +
+ +… + +三角3つの場合、ユーザが高速モードを指定していて、高速モードで実行中です。 +When an icon (three triangles) is displayed, +the user has specified full speed mode and +the VM is running in full speed mode. +
+
+ +
キー入力 Key input
+
+LUNA では、キーボードがハードウェア側でキーリピートを行わず、 +ソフトウェア(OS など)がキーリピートの処理を行います。 +そのため、キーリピートを実装していない LUNA の PROM や +NetBSD/luna68k のブートローダではキーリピートは起きず、 +キーリピートを実装している NetBSD/luna68k カーネルではキーリピートが起こせます。 +ソフトウェアでキーリピートを起こす間隔を測定しているということは、 +VM が高速動作するとキーリピートもそれに合わせて発生することになり、 +これをホスト側から防ぐ手段はありません。 +そこで nono ではキー入力が発生している間 +(キーが一つでも押されてからキーが全て離されるまでの間)、 +高速モードが指示されていても VM を一時的に等速モードに落として実行します。 +上記のアイコンがそれを区別しているのはこのためです。 +そのため、何らかの理由でキーが入りっぱなしになった場合 +(ALT + TAB やアクセラレータキーでメニューを開くと起きがちです) +高速モードが抑制されたままということが起きえます。 +その場合はソフトウェアキーボードからキー入力を解除するなどしてください。 + +On LUNA, +key repeat is done by software(OS), not by the keyboard hardware. +For this reason, +key repeat doesn't occur on LUNA's PROM or NetBSD/luna68k's bootloader +that don't implement it, and +key repeat occurs on NetBSD/luna68k kernel that implements it. +Since the timing of key repeat is measured by software, +if the VM is running faster than the real, +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. +That is why the above-mentioned icon distinguishes them. +For this reason, +if keys continue to be pressed for some reason, +the VM also continues to run syncronized mode. +In this case, you can resolve it by using the software keyboard window. + +
+ + +

実行してみる Try it

つついさんが NetBSD/luna68k 9.0 の liveimage を用意してくださっています @@ -559,19 +732,19 @@ _EOM_
  • どこかに nono 用のディレクトリを用意し(例えば ~/nono/)、 その中に VM ディレクトリを用意します (例えば ~/nono/luna/)。 Create a directory somewhere for nono (for example ~/nono/), -and create subdirectory for individual VMs in it (for example ~/nono/luna). +and create subdirectories for individual VMs in it (for example ~/nono/luna/).
  • 以下のリンクからイメージファイルをダウンロードして展開し、 VM ディレクトリ ~/nono/luna/ に置きます。 Download imagefile from the following link, -extract it and place it in the VM directory, ~/nono/luna. +extract it and place it in the VM directory, ~/nono/luna/.
    http://teokurebsd.org/netbsd/liveimage/20200518-luna68k/
  • 同じく VM ディレクトリに設定ファイル nono.cfg を以下の内容で用意します。 -Create a configuration file nono.cfg in the same VM directory, ~/nono/luna, +Create a configuration file nono.cfg in the VM directory, ~/nono/luna/, with following contents:
     vmtype = luna
    @@ -596,7 +769,7 @@ g
     x
     
    この内容は NVRAM.DAT に記録されているので次回以降は直接 NetBSD が起動します。 -The information you have just entered is recorded in NVRAM, +The information you have just entered is recorded in the NVRAM, so next time it boots NetBSD automatically.

    @@ -605,6 +778,7 @@ so next time it boots NetBSD automatical

  • +

    ネットワーク設定 Setup network

    設定ファイル nono.cfg に以下の行を追加します。 @@ -696,12 +870,14 @@ It's OK if you can see "NetDriver: BSD t
    +

    変更履歴 Changes

    See changes.html.
    +

    ライセンス License

    See nono-license.txt.