2018年4月9日月曜日

PC-98等のおもひでをふまえたMac上でのエミュレータ利用

最初にPC-98で動くのを見たゲームは『同級生2』とか『闘神都市II』だった。当時中学1年だったがこれらの印象は強烈であった。すぐに私は、当時所属していたクラブの工学的活動にではなくゲーム等のコンテンツそのものに執拗な興味を示すようになる。しかしその時点では他人のものをすげえなと眺めていただけだった。

その後おそらく1年ほどのうちに5インチFDDが2基搭載された激重のPC-286なんたらを先輩からもらったように覚えている。自分ではじめてプレイしたのは『サイバーイリュージョン』とか『VIPER-GTS』とか『鬼頭島女子刑務所』だった。このときおそらく中2ぐらい?今思えば、頭の弱そうな主人公達の出てくるエロゲーなんぞによく精出してまじめに取り組んでいたのか疑問が解けない。プロタゴニスト達の知性は当然ながらシナリオライターの技量という制約による、ということは当時はあまり理解していなかったようだ。

ここまでが前置き。さてそこで、今もあるそういったPC-98用のソフト資産を手にしてMac上で動かそうとするも素人には手段があまりないという話をしたいわけです。

ねこープロジェクトIIなるチームによるPC-98のエミュレータnp2はマウスが対応していないようでブランディッシュやルナティックドーンなどのいわゆるフルマウスオペレーションのものは操作不可能(F12で切り替えられるはずのマウス占有が効かないのでマウスが使えない)な上、ディスクイメージを新規に作ることができない。np2のX11用移植版であるxnp2はソースのみ配布してあるのでバイナリを得るには自分でビルドできないとならない。ビルドにはSDL2とかGTK+を揃えて ./configureは通ったがmakeには失敗し、これも選択肢にはならなさそうである(俺がよく理解していないのが原因かもしれないのでもっと調べる予定だが)。

(※4/11追記) make は通ってバイナリxnp2も得られたけども、こんどはNo support depth. とか言ったきり止まるという現象にでくわした(実行した環境が16ビットカラーでさえないという状態を示すらしい。そんなはずはないのでよくわからん)。もしかしてMacでもビルドできましたとかいう話は、MacPortsとかでgccとgtk+を入れるのではなくて、XcodeのgccとXQuartz用のgtk+をビルドせんならんかったんだろうか。

(※4/14追記) コンパイルできたのに動かないのはMacPortsでXサーバを入れてないからだろうか。しかしMacPortsで入れたgnuplotではターミナルをAquaTermからX11に切り替えるとちゃんとXQuartzでグラフが出てくる。ということはMacPortsからXサーバーとしてXQuartzを使ってるということよね?よくわからん。であればxnp2にだってそれを使わせられるのでは?

今のところ、Windows用のnp2とanex86をWine 3.3の上で動かしてそれぞれ部分的に活用することでPC-98のソフトを動作させることができている(BootcampのWindows上ではMac OSが動かないので選択肢にはならない)。エミュレータにエミュレータを重ねるというのはだいぶアホっぽいですが、それでもMac用バイナリが公開されているnp2sdl2(v0.86)よりはマシな点がある。たとえば新規にディスクイメージ(D88, HDI等)が作成できることはnp2でも(おそらくanex86でも)確認したし、anex86ではマウスも使えるようだ。ただしanex86ではフルスクリーン時もウィンドウ最大化時でも不具合が生じるので、マウスで使いたいときはanex86で640x400のウィンドウで使うしかない。ただしanex86はEpson機のエミュレータなのでPC-98用のMS-DOSは動かないとか、そもそもwineを通したnp2もanex86もキー入力のエコーが画面に現れないためこれらでディスク管理作業を行うのは不可能なようだ。したがって、これについてはどうしてもMac用バイナリのnp2sdl2上で行うことになる。このように、エミュレータを利用する上で個人的にまた技術的に解決すべき問題がまだまだある。

(※4/11追記) マウスも結局だめだな。anex86でマウスが使えてもwineを通すとフルスクリーンにできないので、まちがえてウィンドウの外をクリックする事態が頻発する。これではブランディッシュはできんですね。xnp2もコンパイルはできたが動かないので、今のところ万策尽きた感ある。
本邦のソフトウェア屋さんにもっとしっかりしてほしいと思うことがある。本人が事情あって今後メンテしないならソースコードを公開して製造物に対する社会的責任を行使してほしい。anex86の作者とかページ消してしまってるし。(仮に存命だったとしても、)個人でページを維持できないならgithubとかsourceforgeとかなんかあるわけでしょう。こういうのを見ると、みんなで協力してひとつのものをつくるといった作業が本邦の人は向いてないかそういった教育をまったく受けてないんだなということを思いますね。知らんけど。

0 件のコメント:

コメントを投稿