Virtual PC
Webをブラウズしていたら、面白い記事を見つけました。
VirtualPC for Windows が出たというのです。
Macでは有名なこのソフトは、今動いているOS上で、PCハード環境をエミュレーションするソフトなんです。例えば、Mac OS にこのソフトをインストールすると、そこにPC互換の仮想マシンが出来上がる...
そこで、Windows をインストールすると、Mac OS の中でWindwos が動いてしまいます。
あくまで、生のハードウェアをエミュレートするので、純粋なWindows でも BeOS でも Linux でも動くはずです。
で、通常 Windowsが動作するマシンは、PC互換のマシンですから、Windows ユーザにとってなにが面白いかと言いますと、過去の遺産ソフトが使えるんです。
僕の場合は、NEXTSTEPとOPENSTEPが使えるというわけです。もちろん、パーティションを切ってマルチブートにすれば、今でも OPENSTEP などは動作する事はするんですけど、最近のハードに対応する各種のドライバがないので、特にグラフィックでは VGA モードでしか動かないんです。
仮に最新マシンにして、動作は速いとしてもVGAではちょっと.....いじる気になれません。
...と、考えていた時に、この VirtualPC の仮想グラフィックボードは、S3 Trio32/64 というちょっと古めのボードをエミュレートするということなので、これならOPENSTEP用のドライバがありそうだと思ったんです。
自分の動作している Windows上で OPENSTEP が動作する....
考えただけでもわくわくしてしまうではありませんか。(考えただけでも、遅そうな気もしますが...)
で、入れてみました、VirtualPC。
さあ、そこで単純にOPENSTEPをインストールできるかと思ったら案の定、動かない(;_;)
NEXTSTEPにしろ、OPENSTEPにしろインストールの仕方は全く同じで、フロッピーで起動し、HDとCD-ROMが認識できるドライバを指定するだけで、あとは勝手にスカスカ、インストールされるはずなんですが、Mach モニタ で rootドライブを聞いてくる?
あれ変だな.. インストール先のドライブかな?
hd0a だったよなぁなどと
指定してみても、Panic が出てしまう。

VirtualPCの開発元であるConnectixの Web を調べると、Linux のインストールでは、「Virtual ディスクウィザードでハードディスクサイズを固定するように」とありました。
多分、同じOPENSTEPもUNIX系なので、2G程ディスクをイメージを固定して再度挑戦してみましたが、やはりPanic です。
あせります、せっかくの高い買い物ですから、WindowsにWindowsを入れても僕としては面白くありません。OPENSTEPを動かせないなら意味ないのです。
「root ドライブってのは、やっぱりデータを入れる元側だよなぁ...」
などといろいろ試しているうちに原因が判りました。
CD-ROMの設定で「ドライブをセカンダリIDEコントローラに接続」のチェックをはずす。
だけですみました。
なつかしのインストール画面です。何年振りでしょうか?
で、問題の S3 グラフィックドライバですが、OPENSTEP 標準のドライバだとやはり VGA モード以外で動作しませんでした。
当然、この辺りのドライバはネットに転がっているだろうと思って探しましたら、既にサポート対象外のOSですし、NEXT社 は APPLE社 に吸収されてしまいましたから、NextAnswer が無くなってるんです。
これには泣いた、泣いた。
殆どあきらめかけたんですが、やっと見つけました。結局 Apple 社のページにありました。さすがです。
NEXTSTEP のドライバはここで、OPENSTEP のドライバはここです。
たぶん、VirtualPC for MacOS X が来年くらいにでも出るでしょうから、もしS3のグラフィックカードをエミュレーションしてるなら、このドライバは有効なはずです。

さて、無事インストールが完了したものの、どの位の体感速度が出るのか楽しみでした。
NEXTSTEP から OPENSTEP にOSを変更した時、やたらと遅くなった記憶があるので、今のCPUとメモリで当時よりどの位早くなっているか、エミュレータをかましているとは言え、多少なりとも早くなっているだろうと期待しました。
最初、会社で使用しているマシンに入れてみたのですが、その時のスペックは、
CPU celeron 800MHz
メモリ 128Mbyte
ホストOS Windows 2000 SP2
ゲストOS OPENSTEP 4.2J
ゲストOSには、ホスト環境の約半分のメモリしか割当てられないので、目一杯の69Mbyete
ロードアベレージを見ると、メモリは、一定していますが、CPU稼働率は、100%使い切ってます。
そして、OPENSTEPは....遅い。 (;_;)(;_;)(;_;)(;_;)
うーんとても、実用したいと思う状況ではありません。

じゃぁっというわけで、会社のマシンで使用するのはあきらめて、家のマシンに入れることにしました。
家のメイン・マシンのスペックは。
CPU pentiam3 450 MHz Dual Processor
メモリ 512 Mbyte
ホストOS Windoっず 2000 SP2(このためにSP2をダウンロードするのに2時間近く掛かった)
ゲスト環境メモリ 129 Mbyte
ロードアベレージは、1つのCPUは、ほぼ100%使い切ってますが、もう一つのCPUはさほど上がっていません。 VirtualPC は、自分自身とゲストOSの為、1つのCPUを握って離さないようです。
そして、肝心のOPENSTEPは、まだ遅いがとりあえず我慢して使える環境と言った感じです。
使っているとまだ、ゲストOSのためにメモリが足りない旨のメッセージが出ますので、もっと多くのメモリを与えると十分な使い勝手になるのですかねぇ。
まぁ、それにしても、OPENSTEPは昔からメモリ喰いのOSでしたから、単純に使う分には、NEXTSTEPの方がサクサク動きそうです。(今から使おうなんて人はいないかなぁ)
さて、なぜ今ごろOPENSTEPなぞを動かす必要があるのかと言いますと、もちろん過去に自分で作成したのソースと、開発ドキュメントが見たかったのです。
だからなぜそんなものを今更見て嬉しいのかと言いますと、Mac OS X の CoCoa の開発環境は OPENSTEP とほぼ同じなのです。
pbファイルと nib ファイルはどうやら互換性が無いようですので、IB で手作業する必要があるかもしれませんが、古いソースは、そのまま使えるはずです。
31 Oct 2001
実は、最初 VirtualPC を使っていると、メモリ不十分のアラートがバシバシ出て、使い物にならないと思っていたんですけど、何度かアップグレートが施されてそんなに気にならなくなりました。
そこで、ここでは、インストールの方法をまとめます。
注意。アップグレードする前は、必ずゲストOSが「実行していません」という状態にしておく事!!!実は、これで1回失敗してしまいました。(-_-;)
VirtualPCのゲストOSとしてOPENSTEPをインストールする手順
1. | ハードディスクイメージの作成 |
・ | Virtualディスクウィザードで、固定サイズのディスクイメージを作成する。 |
(これから新規に、OPENSTEPで何か作成するのでなければ700M〜800Mもあれば十分) | |
2. | CD-ROMの設定 |
・ | 設定ボタンで設定ダイアログを表示させ、「ドライブをセカンダリIDEコントローラに接続」のチェックをはずす。 |
3. | OPENSTEPのインストール |
・ | インストールFDをセットし、ゲストマシンをリセットする。 |
(あとは、指示に従ってインストールする。ドライバはもちろんEIDE+ATAPIを選ぶ) | |
(root になるには、me にパスワードを入れる) | |
4. | S3ディスプレイドライバの設定 |
・ | ダウンロードしたドライバをインストールする。 |
・ | コンフィギアで、S3Generic PCIDisplayDriverをしていする。(V4.03になっているはず) |
・ | Display modeは768*1024 75Hz RGB 256/8 または、864*1152 60Hz RGB 256/8 または 1024 *1280 60Hz RGB 256/8 を指定する。 |
5. | DEVELOPER環境のインストール |
6. | 日本語環境のインストール |
・ | JapaneseUser.pkgを最初にインストールする。 |
(HeiseiFontsEmulationFor3J.pkgは通常使わない) | |
7. | 日本語環境のパッチを当てる(4.2Jの場合) |
(この後リブートした方がいいかもしれない) | |
8. | me を日本語環境で使えるようにする。 |
・ | /usr/nje/bin/setMyLanguageJapanese.sh をダブルクリック。 |
(ターミナルのタイトルバーに Dead Terminal表示されればOK。この後リブート) |
★★余談★★
ここは、VirtualPCの話ではなくてOPENSTEPの方の話なんですけど、昔 4.1J で作ったアプリのコンパイルが 今回入れた4.2Jではスカッとできなかったんです。プロジェクトビルダで文句が出てしまう。それで VirtualPCに 4.1J をゲストOSにしてやってみたら、今度は問題なくコンパイルできました。この作業の為に、何度もインストールし直したんで、その手順をまとめてみたというわけです。
17 Apr 2002
★★その後★★
VirtualPC 2004で、OPENSTEPは動作しましたが、Virtual PC 2007では動かないようです。
16 Feb 2009