『PCエンジン温泉』 管理:ソフト開発グループ「Finath(ファイナス)」

現在までに、7026人の方が、この書き込みをご覧になっています。

08/03/27(木)01:25 ちゃり
Ootake開発環境について

まずは、とても素晴らしいPCエンジンエミュレータ
の製作、そして公開、本当にありがとうございました。

古いソフトを引き出しては、こちらで楽しませて頂いて
おります。本当に出来が良く感動致しました。
今後のリリースも楽しみにしております。

1点、ご質問があります。

同時にインストールされるソースコードより、自分で
ビルドしようと試みたのですが、ビルドは問題なく
出来るものの、実行すると
  CD-ROM2SYSTEM
 PUSH RUN BOTTUN(点滅)
の所10秒程度の経過で msvcrt.dll が悪さをしているのか
ハングアップしてしまいます。

当方、XP環境で最新の MinGW-5.1.3 をダウンロードし、Readme
にも記載されていた directx-devel.tar.tar の include を使用
して、ご提供頂いている makefile でビルドしています。

インストールされている Ootake.exe は問題なく動作しており、
その実行ファイルのサイズを比較した所、
 インストールされた  Ootake.exe = 813k
 当方環境でビルドされたOotake.exe = 877k
と、制作者様と環境が異なることで、上記のような不具合が
起こっているのかと推測しております。

もし差し支えなければ、制作者様の開発環境を教えて頂けません
でしょうか?

お忙しいところ、誠に恐縮ですが、宜しくお願い致します。


08/03/29(土)22:58 Ootake作者
Re)Ootake開発環境について(MinGW)

こんにちは。

うちの環境は
MinGW-3.1.0

で久しくバージョンアップを行ってなかったのですが、先ほどMinGW-5.1.3
にアップデートしてみたところ、うちの環境でも同様のハングアップ症状が
確認できました。

MinGW-5.1.3での解決方法は、
Ootakeソースの「makefile」の上から2行目を

CFLAGS = -Wall -fomit-frame-pointer -DUSE_INLINE_ASM

に変更("-O2"(最適化)をカットする)するとOKです。
(必ずしもコンパイラは最新のバージョンが安定とは限らないようですね)

これだと最適化をカットしたコンパイルなので、低いバージョンのMinGWでコン
パイルしたものよりも実行スピードが多少遅くなってしまっているので、その
辺の解決策も近いうちに練ってみます。

MinGW-5.1.3で実行速度を保ったままコンパイルできそうにない場合、次の
Ootakeのバージョンから、MinGW-3.1.0(またはMinGW-4.x.xもテスト予定です)
を使うようにReadme.txtに記載しようと思います。


08/03/30(日)02:48 ちゃり
検証頂き、誠にありがとうございました

検証頂き、誠にありがとうございました。
MinGW-4.0.0 でもチェックしてみましたが、MinGW-5.1.3 と同様に
ハングアップ致しました。 現在でも、MinGW-3.1.0-1.exe はDL
できるようなので、これから、そちらをインストールして制作者様
と同じ環境にてコンパイルしてみます。

ver5.1.3 での修正ポイント報告、大変助かります。
最適化で問題が出ているというのも困った問題ですよね…
心情、お察しします。

色々と大変かと思いますが、これからのバージョンアップも
楽しみにしておりますので、ご自分のペースで無理をなさらず、
楽しんで制作していって頂ければと思っております。

私もソースコードを解析しながら、何かご協力できるように
がんばっていきます。

ありがとうございました。
それでは失礼いたします。


09/01/23(金)11:51 ニボシ好き
Re)Ootake開発環境について

横から失礼。もしかしたら、
-O2で有効になる"-fstrict-aliasing"が悪さしてるかもしれないですね。
ということで、"-fno-strict-aliasing"を指定すると動くかも。

以下の参考資料によると、gcc 3.xで動いていたのもたまたまかも。危い危い。

"strict aliasing rule"(http://www.radiumsoftware.com/0304.html)
"type punning と strict aliasing"(http://d.hatena.ne.jp/yupo5656/20040614/p1)


メッセージ一覧へ戻る

Copyright(C)1997-2007 Kitao Nakamura.