|
|
||
毎年一回はこのタイトルでいけるね…(「8月の現状」とかとだいたい同じ意味で)
土日は PC どころじゃなかったしなあ、ということで今ごろ試してみました。
(付属のドキュメントから察するに)CPU 部分はエミュレーションのような気がするのですが、アプリ動かしたときの体感速度(というか画面まわりのレスポンスのキレ)がホンマモンの NTVDM より速いというすばらしさ。V-TEXT のサイズを画面バッファじゃなくて実際のウィンドウサイズに合わせてくれたらなあ…というのがささやかな個人的願いです。
おいおいあとひと月ぐらいで今年終わっちゃうじゃんか。どうなってんだ(俺の中の時間の流れ的な意味で…)。
そういや 2.4.2-jpfix のバイナリ、いちおう作ってはおいたんだけど上げたほうがいいんスかねえ…。
(正直、Win95+Cirrus の構成が 586+NoSMP でないと動かせなかったのでけっこう萎えている)。
いわゆる「澤」問題。よりくわしく言うと「getch でカーソルキーとか押すと 0xE0 のプレフィックスがついちゃって DBCS 入力にものすごくさしさわりがってゆうかこれじゃカーソルだか 2byte 文字だか判別しようがねーだろゴルァ」問題。(詳しいの?それって詳しいの?)。
ちなみにプレフィクスが 0xE0 になるのって実はマイクロソフトのランタイムだけっぽいのさ…そもそも <conio.h> の関数って dos 時代に作られた dos 特化のコンソール入出力関数なのに、この件に限って言えばマイクロソフトだけが dos 時代の Microsoft C/C++ と挙動が違うんですよ(dos 時代の _getch はカーソルキー押してもプレフィクスは 0xE0 にならない。0 のまま)。ちなみに Borland とかの他社製は dos 時代の仕様に合わせてたりする。テンキー統合のカーソルキーと独立のカーソルキーを別個に判別したいという需要があったのかもしれないけど、それならそれ相応の関数を別に作っても良かったじゃん…。
つまり何が言いたいかと申しますと、MS の _getch は DBCS 入力のことなんてなーんも考えておらんということです。ここで採りうるソリューション:
いちばん正しい道は 1. だと思うのですが、個人的な趣味により、もっとも変態的なアプローチを考えてみました。
彼女通信ってのはアレですよね、別々の経験を経たクローン同士が一堂に会して議論するというグレッグ・イーガン的世界の実現ですよね。日本人は未来に生きてるね!(注:もちろん私は DS など持っておりませぬ)。
少し前に人んちで XBox360 用のネクタリスをちょっとやらしてもらってから焼けぼっくいに火がついた感じでPC版のネクタリスが気になっていたのです。昔ダウンロードしたのをバックアップしておいた CD-R が最近ようやく発掘できました。ぶっちゃけ素直に Web Archive に頼ったほうが早かった気もしないでもありません。
しかしなにぶん昔のソフトなので、インストーラ (SETUP.EXE) が 16bit EXE なのですよ。Vista とかでインスコできるのかこれ。まあ深く考えずに Windows2000 上にインスコし、Program Files の下に展開された部分を適当に zip で固めて OS/2 起動後に HPFS 区画に unzip。んで pe Nec.exe。
結果を先に書きますと、(めずらしいことに)普通に動いた。
強いて言うなら MIDI の BGM が鳴らないのが問題ですが、個人的には鳴らしてると却ってうるさいので別にいい。
このゲーム、動作中は CPU 負荷 100% になっちゃうんだよね…(Windows上でもそうなる)。
まあふつうに遊べたので割とうれしい。
rem_link
winnec98.exe のインストール試してみました。
Vista x64 では、16bitで互換性がないと言われてインストールできない。
Vista x86 では、インストール出来て、ゲームも出来る。ただフルスクリーンだと問題が発生した。Windowモードだと問題ない。この辺はWindows 7ではXpモードでどうにか出来るのかもしれません。
x64で16bitアプリが動かないのはWindowsXp x64 でも同じだと思うのですが、確認できてません。32bit版のVistaとか7だと、16bit版でも問題ないと思います。
lukewarm
ありがとうございます。割と予想通りですね。そういえばフルスクリーンは試してなかったので今やってみたら、フルスクリーンからWindowに戻るときにゲーム自体が終了してしまいました(Windows2000SP4,DirectX9.0c)。このへんの出来はもともと胡乱なのかもしれません。
そうやってなんでも13日の金曜日のせいにすればいいさ…。
どうやら出たっぽいです。オフィシャルサイトでアナウンスされた時点では、ソースアーカイブやらバイナリパッケージやらの実ファイルがまだ落とせる状態になってなかった。昨日今日でようやく来た。
んでまあ早速つくってみようかと思ったんですが…。
というあんばい。上のふたつはともかく最後のは個人的に困った。どうしたもんですかねこれ。
とりあえずバイナリは保留にしてパッチだけ上げてみる:bochs-2.4.2-jpfix-20091113-diff.zip
最新環境(のエミュレーション)に追随しようとすると必然的にレガシーサポートが追いやられる罠。BIOS が肥大化しているので DOS だと UMB も取りづらい(VGABIOS でさえいつのまにか 32K オーバーになっちゃってるし)。ちなみに bochs も qemu も、基本的にエミュ本体と付属 BIOS で同じバージョンのものを使わないとうまく動作しません。違うバージョンの BIOS はまぜるな危険状態。
追記:VGA を cirrus じゃない vbe にしたら起動した。やれやれ、qemu に続いて bochs も cirrus が鬼門になってしまうのですか。ほんとにどうしてくれよう。
2009-11-15 追記その2:なんかいろいろ設定殺して MMX Pentium 相当にしたら cirrus でも Win95 動いた。えー…なんかめんどくせえ状態になってる?
最近のコメント
(間違ってたらすみません)
実は「int10h 私的リファレンス」にかなりお世話になりました。
あんなもんでもお役にたったのであれば、何よりです。