DOS | OS/2 memo このページをアンテナに追加 RSSフィード

ありがちカテゴリ:DOS OS/2 bochs qemu
 |  

2009-12-01 しわっすー

毎年一回はこのタイトルでいけるね…(「8月の現状」とかとだいたい同じ意味で)

[] VTDOS  VTDOS - DOS | OS/2 memo を含むブックマーク はてなブックマーク -  VTDOS - DOS | OS/2 memo  VTDOS - DOS | OS/2 memo のブックマークコメント

土日は PC どころじゃなかったしなあ、ということで今ごろ試してみました。

(付属のドキュメントから察するに)CPU 部分はエミュレーションのような気がするのですが、アプリ動かしたときの体感速度(というか画面まわりのレスポンスのキレ)がホンマモンの NTVDM より速いというすばらしさ。V-TEXT のサイズを画面バッファじゃなくて実際のウィンドウサイズに合わせてくれたらなあ…というのがささやかな個人的願いです。

10#10# 2009/12/11 00:36 作者です。VTDOSが取り上げられてるなあ、と思ったらひょっとしてLP-Projectの方ではないですか?
(間違ってたらすみません)
実は「int10h 私的リファレンス」にかなりお世話になりました。

lukewarmlukewarm 2009/12/11 17:13 一応そんな感じの人間です。
あんなもんでもお役にたったのであれば、何よりです。

2009-11-26 今年の汚れ、今年もウチに

おいおいあとひと月ぐらいで今年終わっちゃうじゃんか。どうなってんだ(俺の中の時間の流れ的な意味で…)。

[] んー  んー - DOS | OS/2 memo を含むブックマーク はてなブックマーク -  んー - DOS | OS/2 memo  んー - DOS | OS/2 memo のブックマークコメント

そういや 2.4.2-jpfix のバイナリ、いちおう作ってはおいたんだけど上げたほうがいいんスかねえ…。
(正直、Win95+Cirrus の構成が 586+NoSMP でないと動かせなかったのでけっこう萎えている)。

俺と Win32 コンソール(2):半分冗談で msvc/mingw32 用のオレオレ getch を模索してみた  俺と Win32 コンソール(2):半分冗談で msvc/mingw32 用のオレオレ getch を模索してみた - DOS | OS/2 memo を含むブックマーク はてなブックマーク -  俺と Win32 コンソール(2):半分冗談で msvc/mingw32 用のオレオレ getch を模索してみた - DOS | OS/2 memo  俺と Win32 コンソール(2):半分冗談で msvc/mingw32 用のオレオレ getch を模索してみた - DOS | OS/2 memo のブックマークコメント

いわゆる「澤」問題。よりくわしく言うと「getch でカーソルキーとか押すと 0xE0 のプレフィックスがついちゃって DBCS 入力にものすごくさしさわりがってゆうかこれじゃカーソルだか 2byte 文字だか判別しようがねーだろゴルァ」問題。(詳しいの?それって詳しいの?)。

ちなみにプレフィクスが 0xE0 になるのって実はマイクロソフトのランタイムだけっぽいのさ…そもそも <conio.h> の関数って dos 時代に作られた dos 特化のコンソール入出力関数なのに、この件に限って言えばマイクロソフトだけが dos 時代の Microsoft C/C++ と挙動が違うんですよ(dos 時代の _getch はカーソルキー押してもプレフィクスは 0xE0 にならない。0 のまま)。ちなみに Borland とかの他社製は dos 時代の仕様に合わせてたりする。テンキー統合のカーソルキーと独立のカーソルキーを別個に判別したいという需要があったのかもしれないけど、それならそれ相応の関数を別に作っても良かったじゃん…。

つまり何が言いたいかと申しますと、MS の _getch は DBCS 入力のことなんてなーんも考えておらんということです。ここで採りうるソリューション:

  1. _getch をあきらめる。Win32 のコンソールAPI を自前で使う(_getch 代替関数の作成も含めて)
  2. Microsoft や mingw をあきらめる。Borland, DigitalMars, OpenWatcom の検討
  3. DBCS をあきらめる(その1)。コンソールで日本語なんて入力しませんよJK
  4. DBCS をあきらめる(その2)。_getwch で Unicode 受け(さようなら Win9x)。

いちばん正しい道は 1. だと思うのですが、個人的な趣味により、もっとも変態的なアプローチを考えてみました。

続きを読む

2009-11-19 レマン湖

はラムサール条約と関係なかったか。あれはレじゃないほうの漫湖だったか…。

俺と Win32 コンソール(1):オレオレ wcwidth  俺と Win32 コンソール(1):オレオレ wcwidth - DOS | OS/2 memo を含むブックマーク はてなブックマーク -  俺と Win32 コンソール(1):オレオレ wcwidth - DOS | OS/2 memo  俺と Win32 コンソール(1):オレオレ wcwidth - DOS | OS/2 memo のブックマークコメント

最近なんとなく Win32 のコンソール API をごにょごにょしたくなる気分だったのです。なんか微妙に説明不足感が漂うんですよね、このへんって…。

ということで(どういうことなんだろう)、コンソールに表示する文字の幅を調べる wcwidth 的なやつ。素直に WideCharToMultiByte とかでやりゃいい気もしますが、せっかくだからコンソールに直接訊いてみたりなんかして。

ということでそれらしいソース。

続きを読む

microSD8G踏んで割っ太郎microSD8G踏んで割っ太郎 2009/11/22 06:06 昔、ラジオ番組で沖縄の沼地までロケに行って湖沼の名前を連呼してるのがあったな。後で怒られたらしいけど、致命的ではなかったらしい。

2009-11-18 現実世界からのディアスポラ

彼女通信ってのはアレですよね、別々の経験を経たクローン同士が一堂に会して議論するというグレッグ・イーガン的世界の実現ですよね。日本人は未来に生きてるね!(注:もちろん私は DS など持っておりませぬ)。

[] きょうの Odin  きょうの Odin - DOS | OS/2 memo を含むブックマーク はてなブックマーク -  きょうの Odin - DOS | OS/2 memo  きょうの Odin - DOS | OS/2 memo のブックマークコメント

少し前に人んちで 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_linkrem_link 2009/11/19 22:34 winnec98.exe のインストール試してみました。
Vista x64 では、16bitで互換性がないと言われてインストールできない。
Vista x86 では、インストール出来て、ゲームも出来る。ただフルスクリーンだと問題が発生した。Windowモードだと問題ない。この辺はWindows 7ではXpモードでどうにか出来るのかもしれません。

x64で16bitアプリが動かないのはWindowsXp x64 でも同じだと思うのですが、確認できてません。32bit版のVistaとか7だと、16bit版でも問題ないと思います。

lukewarmlukewarm 2009/11/20 01:32 ありがとうございます。割と予想通りですね。そういえばフルスクリーンは試してなかったので今やってみたら、フルスクリーンからWindowに戻るときにゲーム自体が終了してしまいました(Windows2000SP4,DirectX9.0c)。このへんの出来はもともと胡乱なのかもしれません。

2009-11-13 そういう日だから

そうやってなんでも13日の金曜日のせいにすればいいさ…。

[] 2.4.2  2.4.2 - DOS | OS/2 memo を含むブックマーク はてなブックマーク -  2.4.2 - DOS | OS/2 memo  2.4.2 - DOS | OS/2 memo のブックマークコメント

どうやら出たっぽいです。オフィシャルサイトでアナウンスされた時点では、ソースアーカイブやらバイナリパッケージやらの実ファイルがまだ落とせる状態になってなかった。昨日今日でようやく来た。

んでまあ早速つくってみようかと思ったんですが…。

  • configure のオプション名称が前のバージョンから微妙に変更されてるのがいくつかあった。(単語の最後に s がつくかつかないか、とかそういう微妙なレベル)
  • CPU まわりの細かい設定のオプションに、撤廃されたもの多数。
  • Win95 が Safe モード以外でcirrus+5446専用ドライバだと起動しなくなった。(オフィシャルの Win32 版バイナリでもダメだった)

というあんばい。上のふたつはともかく最後のは個人的に困った。どうしたもんですかねこれ。

とりあえずバイナリは保留にしてパッチだけ上げてみる: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 動いた。えー…なんかめんどくせえ状態になってる?

 |  

最近のコメント

1. 01/22 ninetailfoxsoftware
2. 01/22 Xeon3065と映画館でAKBコンサ太郎
3. 01/22 rem_link
4. 12/31 nika
5. 12/31 lukewarm
6. 12/31 nika
7. 12/31 7Ultimateと1THDD太郎
8. 12/12 裸族の2THDD太郎
9. 12/01 lukewarm
10. 12/01 10#
1999 | 01 |
2000 | 01 |
2001 | 01 |
2002 | 01 |
2003 | 01 | 02 | 03 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 |
LP-Project
分所 (isweb)
チラシの裏

ページビュー
228068