ウィンビー国際的アイドル化計画 とりあえずテスト配付。BeOS用のWin32実行環境です。 (スレッド毎にメッセージキューを分離しました。痕の動作が安定したと 思います。) (INIファイルの処理を追加したため、一部のゲームでインストール 方法が変わっていますので注意して下さい。) ・動作状況 遊べるもの: 「雫」「痕」「ONE」「MOON Renewal」「To Heart」「初音のないしょ」 ある程度遊べるもの: 「とらいあんぐるハート」 (これはdynamic relocationによって動いています。ってことで、いつ 落ちるかわかったものではありません(^^;;)。 動きそう: 「CherryWorks」「盛夏の杜」「まじかる☆アンティーク」「Kanon」「Air」 「とらいあんぐるハート2」 なんかしらのダイアログがでる: 大部分のWin32ソフト。 ・実装状況 KERNEL32.DLL、ADVAPI32.DLL、USER32.DLL、GDI32.DLL、WINMM.DLL, SHELL32.DLL, IMM32.DLL, COMCTL32.DLL, WSOCK32.DLL, OLE32.DLL, COMDLG32.DLL, DDRAW.DLL, DSOUND.DLL あたりはリンクに成功します。が未実装は多いです。ゲームとかはひょっとしたら 上記以外のものも動くかもしれません。また、BeOSではWindowsとメモリマップが 違うために、アプリケーションが要求するアドレスとBeOSのkernelメモリが ぶつかってしまうという問題があったのですが、現在dynamic relocation がかなりの確率で巧く動いてくれているので、ある程度は問題を回避できます。 リソースの実装をはじめた関係で、メニューやダイアログも表示されます。 コントーロールは一部反応しますが、メニューはかざりです。 ・使い方 win32_serverってのを実行した状況でEXEをダブルクリックすれば おっけー。常駐させるならwin32_server &ってやって下さい (どちらもterminalからお願いします)。win32_serverを BootScript等で起動させるようにしたい場合には、lib以下にある *.soを~/config/libへ、win32_server を~/config/bin へ移動させると良いと思います。 またwtraceってのがありますが、これは...一応秘密にしときますか。 sample以下に簡単なexeが入ってるので試してみて下さい。もちろん 本物のWindowsでも実行できます。 ・ファイルアクセス Windowsは大文字・小文字を区別しません。Windows側からのファイルアクセス の際には、まず大文字・小文字を考慮してファイルの存在を確認。存在しなければ 大文字・小文字の区別をせずにファイルを探します。 ・ドライブ Windows上のドライブに対して、BeOS上のドライブをマップするルールは 次の通りです。 A: rootfsをまるごと割り当てています。つまり、「/」以下がそのまま A:\という名前で見えます。 B: 秘密です(笑 C:〜Z: BeOS上にマウントされてるドライブをデバイス順に割り当てます。 ・システムパス Windows上のシステムパスは以下のように割り当てています。 Windowsディレクトリ: /boot/home/config/windows Systemディレクトリ: /boot/home/config/windows/system32 テンポラリディレクトリ: /tmp 自己解凍ソフトなどは、/tmpや、/boot/home/config/windows以下、あるいは /boot/home/config/windows/temp以下に一時ファイルを作成します。 現在不完全動作のために、これらの場所にファイルが残る場合があります。 定期的に不要なファイルを消してやって下さい。 ・レジストリ bfsにマップしています。/boot/home/config/windows/registry 以下にHKEY_CLASS_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE といった感じに割り当てられます。 ・いくつかのゲーム実行について注意点 現在はCD-DA再生のかわりに、EXEと同ディレクトリに存在する、 track%02d.mp3というファイルを再生します。ってことで、track02.mp3、 track03.mp3、...、なんてファイルを作っておくと幸せかも。 あ、あと、これからは実行時にCD-ROMがきちんと要求されますので(笑) (回避方法は...過去の日記やこのドキュメントにヒントがあったり...)。 「雫」:/boot/home/config/windows/sizuku.ini が必要です。 Windows上では「C:\Windows\sizuku.ini」や「C:\winnt\sizuku.ini」 などとして存在しているはずです。またこのファイル内の「SizukuDir=」 の行に、SIZUKU.EXE、MAX_DATA.PAK、MAX_00.SAV、MAX_01.SAV、MAX_02.SAV が含まれるフォルダをWindowsの流儀で記述しておく必要があります (面倒なら「SizukuDir=B:\」としておいて下さい)。 「痕」:/boot/home/config/windows/kizuato.ini が必要です。 あとは雫同様です。 ・dynamic relocation 再配置不能な実行ファイルを、要求されるアドレスにロードできなかった場合 dynamic relocationという独自技術を使用します。これは、とりあえず 要求とは異なるアドレスにマップしてしまい、強引にプログラムを実行。 本来の配置されているはずのアドレスに対してプログラムからアクセスが あった時点でsigsegvが発生(いわゆる「落ちる」状態)。これをトラップして sigsegvが発生した周辺のコードを解析。現在マップしているアドレスで 不都合の無いようにコードやレジスタの値を改竄。そして再度強制実行。 というプロセスで構成されています。 この技術は、ある程度統計的な傾向に頼るしかなく、確実に再配置できる わけではありません。また、sigsegvは秒間数百〜数千のオーダーで発生しているため、 例え99.9%成功しても1秒後には落ちる可能性があります(うへ。 (一応現在は小数点以下に9が数個並ぶとこまでは来ているみたいですが...。) ・今後の予定 メニューの応答処理。 OLE周りの実装。 DirectXの実装。 MMU直接操作の可能性の調査。 とか、とか。 Psend kept free because of these great sponsors.a..

Other Sponsors

electrical connectors, Mangosteen Juice, real estate short sale, Jupiter FL real estate,

Furniture Markdown

Great Deals on furniture - Free Shipping!
Discount Furniture
Daybeds
Metal Beds
Platform Beds
Futons

Y-Net Wireless Internet

Denver area high speed wireless privider.
Colorado High Speed Internet, Wireless Internet Denver, VOIP Denver CO, T1 provider Denver, Denver Wireless ISP , Denver Internet Access,

Dog House Technologies

Doghouse Techonologies is located in Tampa Bay FL and offer professional web design, ecommerce development and custom application design for the internet.
Tampa Bay Web Design, E-Commerce Web Design, Tampa Bay Search Engine Marketing, Tampa Web Hosting, Florida Web Design, Custom Application Development, Search Engine Optimization,