Brain Wiki
編集の要約なし
タグ: ソースの編集
777shuang (トーク | 投稿記録)
編集の要約なし
タグ: ソースの編集
1行目: 1行目:
Brain 用 の PC/AT 機エミュレータには [[QEMU]] がありますが、Windows 3.x は保護違反、9x は BSoD となるなど、Windows が軒並み動きません。Windows CE 用に移植された '''Bochs''' を用いれば、'''Windows を動作させることができます'''。
+
Brain 用 の PC/AT 機エミュレータには [[QEMU]] がありますが、Windows 3.x は保護違反、9x は BSoD となるなど、'''Windows が軒並み動きません'''。Windows CE 用に移植された '''Bochs''' を用いれば、'''Windows を動作させることができます'''。
   
 
== Bochs とは ==
 
== Bochs とは ==
28行目: 28行目:
 
!Windows 3.1
 
!Windows 3.1
 
|2分
 
|2分
|少しいですが、実用に耐えます。Brain 上で動かすには十分です。
+
|少しいですが、実用に耐えます。Brain 上で動かすには十分です。
|2-3時間
+
|2~3時間
 
|-
 
|-
 
!Windows 95 OSR2.1
 
!Windows 95 OSR2.1
 
|5分
 
|5分
|いですが、慣れれば実用に耐えます。RTM 版はより軽いと思われます。
+
|いですが、慣れれば実用に耐えます。RTM 版はより軽いと思われます。
 
|不明 (推定10時間)
 
|不明 (推定10時間)
 
|-
 
|-
44行目: 44行目:
 
|30分
 
|30分
 
|とても重いです。スタートメニューの表示に20秒、マイコンピューターを開くのに5分かかります。
 
|とても重いです。スタートメニューの表示に20秒、マイコンピューターを開くのに5分かかります。
|連続60時間
+
|60時間
 
|}
 
|}
   

2022年6月21日 (火) 09:40時点における版

Brain 用 の PC/AT 機エミュレータには QEMU がありますが、Windows 3.x は保護違反、9x は BSoD となるなど、Windows が軒並み動きません。Windows CE 用に移植された Bochs を用いれば、Windows を動作させることができます

Bochs とは

ダウンロード

オープンソースの移植性に優れた PC/AT 機のエミュレータです。Windows CE に移植された Bochs 2.3.5 for WinCE を使います。

実行速度

Bochs-Win95

Bochs 上の Windows 95

Bochs-Win98

Bochs 上の Windows 98

CPU のエミュレーション自体は QEMU より高速だと思われます。ただし、ディスクのアクセス速度が遅いです。ステータスバーに表示される情報によると平均して 500,000 IPS[1] ほどで動作しているので、386 命令に対応した 8086 といった速度です。クロック周波数で表現すると、約 2-3 MHz 程度でしょう。

実際に Windows をインストールしてみたところ、下表の結果となりました。試すなら Windows 3.1 がオススメです。Windows 95 や Windows 98 は PC 上の Bochs で利用しましょう。

OS 起動 速度 インストール
MS-DOS 6.22 30秒 英語版は QEMU とあまり変わりません。日本語版はなぜか重いです。 30分
Windows 3.1 2分 少し重いですが、実用に耐えます。Brain 上で動かすには十分です。 2~3時間
Windows 95 OSR2.1 5分 重いですが、慣れれば実用に耐えます。RTM 版はより軽いと思われます。 不明 (推定10時間)
Windows NT 3.51 10分 動作速度は Windows 95 とあまり変わりません。 15時間
Windows 98 SE 30分 とても重いです。スタートメニューの表示に20秒、マイコンピューターを開くのに5分かかります。 60時間

HDD イメージを作成する

"Bochs" フォルダの中の "PC" フォルダに "bximage.exe" があるので、Windows PC で実行して HDD イメージを作成します。その際、プロンプトでは以下のように操作します。

Please type hd or fd. [hd]
そのまま Enter を押します。
Please type flat, sparse or growing. [flat]
そのまま Enter を押します。
Enter the hard disk size in megabytes, between 1 and 129023 [10]
HDD イメージの大きさです。Windows 3.1 なら 64 MB、Windows 95 なら 128 MB、Windows 98 は 384 MB ほどあれば十分に動きます。
What should I name the image? [c.img]
HDD イメージのファイル名です。保存先が分からなくなることを防ぐため、D:\win98.img のようにフルパスで入力することを推奨します。入力して Enter を押すと、作成が始まります。終わるとコンソールに以下のようなログが出力されます。
ata0-master: type=disk, path="[ファイルパス]", mode=flat, cylinders=XXX, heads=16, spt=63
このうち、bochsrc.txt で使う XXX の部分の数値をメモしておきます

bochsrc.txt

Bochs フォルダの中に Bochs の設定ファイルである bochsrc.txt があります。これをルートディリクトリ (My Device 直下)に置くことで Bochs が読み込んでくれます。設定項目は概ね Windows PC 用の Bochs 2.3.5 と同じですが、ここでも軽く説明します。

megs: [MB]
仮想マシンに割り当てるメモリサイズです。通常 16 MB 以上あれば問題ありません。Brain のメモリ容量は小さいので、大きすぎる値を指定しないよう注意します。
boot: [floppy/disk]
ブートするドライブです。floppy を指定すれば FD から、disk を指定すれば HDD から起動します。
floppya: 1_44="[イメージのパス]", status=inserted
FD ドライブのイメージを選択します。QEMU とは違い仮想マシンの起動中にも入れ替えられます。同様に「floppyb:」も設定すると B ドライブも使えます。
ata0: enabled=1
IDE コントローラーを有効化します。
ata0-master: type=disk, path="[HDD イメージのパス]", mode=flat, cylinders=[HDD イメージ作成時の数値], heads=16, spt=63
IDE のマスターとして HDD を設定します。[HDD イメージ作成時の数値]は、「HDD イメージ作成」の最後に表示された数値 XXX です。間違っているとエラーが出ます。
ata0-slave: type=cdrom, path="[ISO イメージのパス]", status=inserted
IDE のスレーブとして CD/DVD を設定しています。CD/DVD を使わないなら消します。
vga_update_interval: [数値]
画面の更新間隔です。4000 くらいを推奨します。動作速度よりも滑らかなカーソル移動を優先するなら 3000 に、DOS しか使わないならば 5000 くらいにするといいでしょう。

起動のポイント

起動にあたって、いくつかポイントがあります。

まず、ceOpener は閉じます。ceOpener はスペースキーをフックするため、Bochs 上でスペースキーが使えなくなります。タスク管理は Task Switcher がおすすめです。次に、辞書アプリも閉じます。メモリ不足の原因になります。また、Bochs 本体は NAND3 に、イメージ等は microSD (Storage Card) に置くと安定します[2]。同梱の「WindowMove.exe」(Bochs ウィンドウの移動)と「jotkbd.exe」(スクリーンキーボード)は先に起動しておくと便利です。

Bochs の起動には引数「-q」が必要です。「\NAND3\Bochs\bochs.exe」となっている場合は同梱のショートカット (Start BOCHS) が機能しますが、それ以外の場合は自分で「"\xxx\bochs.exe" -q」というショートカットを作ったり、DOS窓Open で「bochs -q」と実行したりして対応してください。

エラーが発生した場合は、Bochsrc.txt の設定を見直すと改善する可能性が高いです。また、何も表示されない場合、DOS窓Open 上で実行するとエラーが出力されるかもしれません。

Bochs の操作

ウィンドウの移動

Bochs は起動するとウィンドウが表示されます。ウィンドウが大きくて下部が画面からはみ出ていますが、そこに HDD/FDD のアクセス表示があります。見えるようにするために先ほど実行した「WindowMove.exe」を使います。まず、WindowMove のウィンドウ内の左上にあるボタン (㊉のようなもの) を押し、凹んだら Bochs のウィンドウ内をタップします。そして WindowMove の矢印ボタンで Bochs のウィンドウ位置を調整します。

マウス操作・全画面表示

「jotkbd.exe」というスクリーンキーボードを使います。まず jotkbd の「File」メニューから一番上の「Show Function Keys」を押してファンクションキーを表示させます (ついでに「Show Numeric Keys」をオフにすることを推奨)。そして Bochs のウィンドウをアクティブにし、その状態で jotkbd の F5 キーを押すと全画面化、F12 キーを押すとマウスが有効になります。マウスの状態はステータスバーに表示されます。なお、マウスを有効化すると Enter キーが左クリックに、矢印キーがカーソル移動 (タップでも可能) になるため、仮想マシン上で該当のキーを使いたい場合はもう一度 F12 を押してマウスを無効化してください。

フロッピーディスクの入れ替え

QEMU と比べた Bochs の利点は、FD を入れ替えられることです。ツールバーの FD アイコンを押すと入れ替えのためのダイアログが出ますが、フォルダ参照の「...」ボタンを押してもファイル選択ダイアログが一瞬で消えてしまいます。横の入力欄にフルパスを入力してください。また、特に DOS において、FD を入れ替えてもしばらく認識しないことがあります。入れ替えたら A: のアクセスランプが消えるのを待ってからアクセスしましょう。

Ctrl + Alt + Delete を押す

再起動の時はツールバーの「Reset」を押せばいいのですが、NT 系の Windows では起動時に Ctrl + Alt + Delete の入力を求められます。ツールバーの「USER」と書かれたキーボードのアイコンをタップし、ダイアログに「ctrl-alt-del」と入力することで可能です。

  1. Instructions Per Second (1秒当たりの実行命令数)
  2. 本体メモリーの方が読み書き速度が速いため