PC6001VX Ver.2.0 Alpha を、MacOSX (Lion)でビルドしてみました。

P6エミュレータの、PC6001VX を、MacOSで、ビルドしてみました。

環境は、Lion (10.7.5) Xcode 4.6.2 です。


★ Qt5のインストール

  1. Qt5 が入ってないときは、Qt のサイトを開く
  2. Qt 5.0.2 for Mac (404 MB)を落とす。(Qt5 の最新版)(qt-mac-opensource-5.0.2-clang-offline.dmg
  3. DMGファイルを開いて、インストールする。
  4. ライブラリや実行ファイルが~/Qt5.0.2 に、展開されている。
  5. 上記の 中にある、bin ディレクトリにパスを通す。

Qt4.8のとき、qmakeは、/usr/bin に入っていたような気がしますので、何もしなくて良かったのですが、5.0からは、ホームディレクトリの下に移動したようです。


どうやら、色々調べてみると、PATHを通すと、使えるようになるようです。~/.profile を開いて、PATH に、bin のパスを、追加して、Terminal.appを開き直します。
何故こうなったのかは、不思議ですが。。もしかすると、バージョンダウンしやすいように、でしょうか?


例: export PATH=$HOME/Qt5.0.2/5.0.2/clang_64/bin:$PATH


(既に、Qt4.x が入っていた場合は、Qt5のパスは一番前にする必要がありそうです。)


ところで、PC6001VX Ver.1.0 のときは、メインの処理がSDL 1.2で書かれており、GUIのみ、Qt4でかかれていました。

Ver2.0からは、JOYSTICKを除く処理は、全て、Qt5で書き直されているそうです。
JOYSTICKの処理だけは、SDL2.0が必要です。
逆に言えば、JOYSTICKの処理を無効化すれば、SDL 2.0は入れなくても良くなります。


SDLだと、色んな問題がありますからね。。

  • GUIがない。 メニューもない。→今までは、プラットフォームごとにGUIをゴリゴリ書いていた。
  • 画面の拡大縮小が苦手 → 使用環境の解像度が上がる度に、ウインドウが小さくなって行っていた。

SDL2.0 を入れるのが面倒だったこともあり、とりあえず、なしで入れてみました。

★ PC6001VXのビルド

  1. PC6001VXの サイトを開きます
  2. Ver.2.0のソースリスト(PC6001VX_2.0a_src.tar.gz)を落として、展開します。
  3. Terminal.appを開いて、上記のソースリストのあるディレクトリに移動します。
  4. PC6001VX.proファイルを開いて、最初の方にある、DEFINES += NOJOYSTICK の行の先頭の#を消します。
  5. qmake を実行する。 → MAKEFILEができます。
  6. make を実行する。  → pc6001vx.app ができれば、完了です。


ただし、現状は、まだ問題が多いようですね。

  • ウインドウの中のエミュレータの画面が見切れている。
  • 色がおかしい。
  • メニューが上手く動作しない。
  • 固まるときがある。

こんな画面になります。




でも、Ver1.0 と比べると、かなり軽くなっているようです。(^^;
あと、右クリックで、ポップアップメニューが出るのですが、メニューのないところで、左クリックすると、ポップアップメニューが閉じますね。。(^^;


Ver 1.0のときは、ダメだったので、すごく改善しています。Qt5で、メインループを回すようにしたからでしょう。


ちなみに、Ver.1.0のとき、どうやって、メニューを閉じていたかというと、たとえば、バージョン情報などを表示していました。



とはいえ、やはりというか、Qt5 for Mac は、ぼろぼろらしいですね。。まともな動作は、もうすこし、待たないと行けないようです。。

しかし、JOYSTICK以外は、Qt5で書かれているようですね。。
一度書けば、マルチプラットフォームになってしまうのはすごい。。C++なところが、ネックだが。。


ただ、今回のQt5 for Macで、個人的に残念だったのは、4.8 では、Xcodeのプロジェクトファイルだったのに、5.0では、ただのMAKEFILEになっていたことでしょうか。。汗
たしかに、ビルドは出来ますけど、これでは、デバッグできません。(´・ω・`)
早く、Xcodeのプロジェクトファイルにも対応して欲しいですね。。


噂によると、Qt5は、AndroidiOS にも対応するとか??
GUIどうやっているんだろう?


[追記]

どうやら、設定ファイルに新たに項目が追加されているようで、その項目がないと、誤動作をしてしまうようです。
一旦、設定ファイルを消してから、再度実行したら、画面も色も、普通になりました。。(^^;


ただし、メニューがおかしいのは、そのままですが。。