Archive for the ‘Develop’ category

Xcode 4.3 で openMSX をコンパイル

2月 27th, 2012

 openMSXのSVNが更新される度にダウンロードしてコンパイルしていたんですが、Xcode を4.2(?)にアップデートした頃から何故かコンパイルに失敗するようになってしまいました。
出てきたエラーを見ると、

No working C++ compiler was found.
Please install a C++ compiler, such as GCC's g++.
If you have a C++ compiler installed and openMSX did not detect it, please set the environment variable CXX to the name of your C++ compiler.
After you have corrected the situation, rerun "configure".

 どうやらC++コンパイラーへのリンクがおかしくなっているようです。
しかしまあ、しばらくしたら修正されるだろうと思っていたんですが openMSX 0.8.2 がリリースされても修正はされず、そのまま放置状態。何だかなぁ… Macでソースからコンパイルしている人は誰も居ないのか? 仕方無いので何とか自分で修正してみました。

/build/platform-darwin.mk を開く

38行目 の SDK_PATH を編集
SDK_PATH:=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk

50行目 の CXX パスを編集
CXX:=llvm-g++-4.2

 Xcode 4.3 からXcode.appのパッケージ内にDeveloperフォルダを置く様な仕様になったので、SDKとコンパイラのパスを変更してみました。

書き換えたら platform-darwin.mk を保存して ./configure を実行

build/main.mk:383: Unsupported compiler: llvm-g++-4.2, please update Makefile

「build/main.mk:383: サポートされていないコンパイラ: llvm-g++-4.2」と出ますが、一応これでコンパイルできるようになります。

uCON64 をコンパイル

2月 8th, 2012

 メガドライブ用の .smd 形式ファイルを .bin 形式に変換しようと思ったんですが、どのツールも古くて最近のIntel Macでは使えないものばかり… 古いPower Macを使えばいいんですけど、できれば最新のMacで変換したい。 で、いろいろ検索してみたところuCON64というツールのソースを発見! 試しにコンパイルしてみたら、何とかx86_64バイナリでコンパイルできました。これで正常にコンバートできるのかは分かりませんが、一応 .bin 形式に変換したゲームはちゃんと動作しました。
 GUIなしのコマンドラインツールですけど、今のところ Intel Macで使えるツールはこれだけですかね。

Link 【uCON64 – The backup tool and wonderful emulator’s Swiss Army knife program】

MednafenのSNESが50フレームしか出てない

10月 18th, 2011


 
 この前の投稿でMednafenのSNESエミュレータが重くて使い物にならないと書きましたが、フレーム数を表示してみると50フレームしか出ていませんでした。設定がPALモードになっているのか?よく分かりませんが configにそれらしい設定が見当たらないんですよね、サウンドも少しバリバリするのが気になります。

 ランチャーの方はToolbar付きの環境設定ウインドウが完成。設定を変更するアクションはまだ未完成。

Xcode 4 でプログラミング

10月 10th, 2011

 NekoLauncher Mednafen を Xcode 4 でリメイク。まだ Xcode 4 に慣れてないのでサブクラスを作るのにも一苦労、これまで使っていた Xcode 2 からいきなり4へ移行したもんだから何がなんだかサッパリですよ。
 取り敢えず mednafen を起動するまでは完成、あとはランチャーの環境設定に mednafen の設定を追加していくだけです。

Link 【Xcode 4 移行ガイド

複数のTableViewの選択変更を検知する

7月 9th, 2011

 TableViewの選択が変更されたのを検知するには、TableViewをデリゲートに接続してそのオブジェクトの「tableViewSelectionDidChange」から検知することができる。しかしTableViewが複数ある場合どのTableViewから変更されたのかを調べるにはどうすれば良いのだろうか?
 ネットで調べてみたところ「NSNotificationCenter」の object: に TableViewの変数を登録しておけばいいみたいですね。
 
Link :【そういう説もある。programing

NSArrayControllerを使ったテーブルリストの作成

6月 30th, 2011

 XMLで作成したデータファイルをNSArrayControllerに読み込ませ、TableViewとバインディングするだけで簡単にテーブルリストができた。簡単なリストならCoreDataは必要ないですね。

MAMEのビルドはOSX10.5以降が必要?

4月 16th, 2011

 MAME 0.142 をOSX10.4(Tiger)でコンパイルすると src/osd/sdl/sdlmain.c でエラー発生、CarbonCoreやらCoreServicesなどで ct_font が見つからないとか言われます。ここの所、と言うか MAME 0.139 以来(0.138はOK)OSX10.4上でMAMEがコンパイルできない状態が続いています。GCCのバージョンを4.2.1にアップデートしてもダメでした。
 

 仕方なく OSX10.5(Leopard)でコンパイルしてみたところ、何のエラーもなく普通にコンパイルできました。もう OSX10.4上では無理なんでしょうかね?
 

Joystickの自動接続

2月 16th, 2011


 
 openMSX 0.8.1 がもうそろそろ出そうです、新しいドキュメントや C-BIOS 0.25 も既に実装済み。ver 0.8.1では「ジョイスティックの自動接続」という機能が新たに追加されたんですが… これがランチャーと相性が悪くて困ってます。どういう機能かというと「Macにジョイスティックが接続された状態でopenMSXを起動すると、エミュレータ上でもジョイスティックが接続された状態で起動する」というもの。一見便利そうな機能ですが、Macにジョイスティックを接続したままエミュレータ上ではジョイスティックを接続せずに起動するといったことや、1本目のジョイスティックを使わずに2本目のジョイスティックをポートAで使用するといったやり方ができなくなってしまいました。
 これはランチャーの方にもMacにジョイスティックが接続されているかどうか一々チェックする必要があるということで、凄く面倒です。この機能はいらんですわ。