Profile

書いてる人:

たけ-ちーず
紹介文:
SkypeID:take-cheeze

Link

RSS Feed

Search

Calender

Latest Article

Category

Access Counter

Online Counter

Show All Article

どうでもいい独り言。 と、少しの開発日記。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【--/--/-- --:--】 | スポンサー広告 |
完成品をいきなり無に帰した。
今日、Linuxをインストールしてました。
いい加減cygwin+Windowsの遅さに耐えきれなくなってきたので。

でまあ、ディストリビューションは、Xubuntuにしました。
Ubuntu系は、Wubiが使えるのと、Xubuntuは軽いので。

これは別の話ですけど、Ecolinuxの方がやってみたかったんですが、やめました。
言語パッケージのところで固まるし、少し前のUbuntuがベースだったので。

善は急げ。
早速、Wubiを落としてきてインストールしましたが、結構重かったです。
700MB近くあるのは、驚きでした。
Ecolinuxは、300MBくらいなのに……。

でまあ、インストールが終わって、初期設定も終わったところで、psptoolchainを入れました。
正直、初期設定が紛らわしかったです。
ワンステップ増えてもいいから、インストールの時に一緒に済ませてほしかったです。
ユーザに操作権を与えるのは、すべての準備が整ってからにしてほしいです。

でまあ、psptoolchainですが、configureがありえないほど、早かったです。
cygwinの倍速以上でした。

その後、psplibrariesとlibiconvも入れたんですが、ついでに有名所も色々入れました。
OpenOffice.org、NetBeans、Wine……。

どれも、重いものですが、意外に苦にならなかったです。
なんというか、インストーラがものすごく優秀でした。

そいうえば、GoogleChromeの開発版みたいなの?も入れました。
わたしは、ネットはGoogle派なので。


そんな風に張り切って、入れたんですけど、さっきフォントの設定をミスってしまいました。
そして、フォントくらいと思っていたんですが、デスクトップが立ち上がらなくなりました。

軽く絶望しましたが、頑張って気を取り直して、データだけ移動してみました。
なんか、その過程で何故か、mountコマンドの使い方を覚えたりしました。

ところが色々、余計なことをしていたら、またミスって吸い出したデータを消してしまいました。
流石に、この時は絶望の深さ心臓の1センチ前くらいまで行きました。

いい加減、自分の天然うっかりさに呆れつつとりあえず、吸出し先を抜きました。
一応、まだリカバリできる段階だろうと思ったんで。

で、この前何処かのニュースサイトで紹介されていた復元ソフトでリカバリしました。
吸出し先が、USBフラッシュなのに、4GBもあったので時間がかかりましたけど……。


はあ。
今から、再インストールでも始めます。

気分は、ブルーです。


そんなこんなで、お休みなさい。
スポンサーサイト
【2009/08/31 23:26】 | 雑記 | トラックバック(0) | コメント(0) |
残ったものは、ジョーカーとクズカード
今日、選挙速報をワンセグで音声だけ聞いてました。
本当は、映像も見たかったのですが、画面が小さいせいで断念しました。


感想は、『うわ~~~~~~~~~~』だけです。
心境は、トランプでジョーカーとクズカードが残ってクズカードを出さなければならない状況です。

いくらなんでも、つい最近まで、過半数を取れなかった政党がいきなりですから。

何か、どうしようもなく不安になります。

他人を蹴落とすのが好きそうな、鳩山。
不正をしたくせに、まだ高い所で踏ん反り返ってる、小沢。というか、老害。


確かに、政権にも不安はありましたけど、それはまだ必然的なものだったはずです。
少なくとも、彼らは現実的に確実に、歩を進めていました。

少なくとも、一番国民の生活を脅かすようなことをしている野党よりは良かった。
違う土俵で勝手に張り合っているだけの人間に、負けて欲しくはなかった。


ま、そんな風にマジメに考えたりしていました。

本当は、何もできない自分が悔しいだけです。

お休みなさい。
【2009/08/30 23:59】 | 雑記 | トラックバック(0) | コメント(0) |
システムグラフィックから、ウィンドウとかカーソルを……。
今日、システムグラフィック関係を弄っていました。

本当は、イベント処理の方をやりたかったのですが、理由がありまして……。
イベント処理はまだ未知の領域で、実装が楽しみだったんですがね。

で、その理由ですが、『文章の表示』を一番最初に使えるようにしたかったのが最大ですね。
やっぱり、こういうのは『メッセージの表示』みたいなのが、最初にほしいものなので……。


本題のシスグラ関係ですが、Javaでつくった時の経験が役に立ちました。
本当は、経験じゃなくて、コードをコピペ出来れば、よかったんですけどね。

実装なんですが、面倒ですが、単純なものでした。
以下その手順でも。

1.壁紙を描画
2.角と辺を描画

見ての通り、たった二つの手順です。
ところが、ここで注意点があるんですよね。

システムグラフィックにあるオプションを実装しなければいけないんです。
そのオプションですが、『拡大して表示』は、別に楽だったりします。
単に、描画先のサイズを指定すればいいので。
問題は、『並べて表示』なんです。

『並べて表示』するには、面倒なループを回さなきゃいけないんですよ。
しかも、ウィンドウのサイズが、16で割り切れないときの処理も必要です。

これは、無駄に複雑になって面倒なんです。
マップチップ描画と時を思い出しました。

まあ、そんなこんなで今日も進めました。

では、お休みなさい。
【2009/08/29 23:56】 | RPG2k_Emu | トラックバック(0) | コメント(0) |
意外に、ディレクトリ関係の問題かもしれない
今日、ネットで実機で動かない原因をググってみました。
その中で、参考になりそうなだなと思ったページがいくつかりました。

以下、そういったページの列挙です。

SDLMain.m がなんとなく嫌 - a geek born in Tomakomai

PSP向けコンテンツの研究
PSP自作アプリケーションの研究

ブログなんだよもん - SDLforPSPな環境を構築
ブログなんだよもん - PSPでSDLアプリの動作成功

PSPプログラミング - 正しい main( ) 関数の書き方を ご紹介


上に挙げられたページを見れば分かると思いますが、大体二つのアプローチで検索しています。


一つ目のアプローチは、SDL自体の問題についてです。
これは、正直あるはずないよね、といった感じで調べました。
意外に収穫はありましたが。


今まで、知らなかったんですがSDLって、専用のmain関数がるあんですね。
SDL_mainっていうみたいですけど、まあ普通は気にしなくていい代物みたいです。

件のSDL_main関数なんですが、PSP専用のものがありました。
svn.pspdev.orgから落としてきたソースを探したらあったんです。

で、そのソースを見てみたら、なんとPSPプログラミングお約束のコールバックが実装してありました。
ということは、どうやらSDL_mainを使えば、コードがもっとコンパクトになるのでは、と使ってみました。

ところが、コンパイルしてみると、リンクプロセスで躓きました。
どうやら、ヘッダファイル関係のエラーみたいで、理解するのと通すのに時間がかかりました。

とりあえず、またまた記録に残しておきます。

変更したファイルは、

/usr/local/pspdev/psp/include/SDL/SDL_main.h


で、内容は無理矢理

#define main SDL_main


を通過するようにしたことです。

その変更内容は、

#if defined(WIN32) || defined(_WIN32) || \
(defined(__MWERKS__) && !defined(__BEOS__)) || \
defined(macintosh) || defined(__APPLE__) || \
defined(__SYMBIAN32__) || defined(QWS)


と、

#endif /* Need to redefine main()? */


をコメントアウトしただけです。

SDL_mainを使ったおかげで、少しだけ移植性の高いコードになりました。


それと、上のページを参考にMakefileも書き換えました。

PSP_DIR_NAME = RPG2k_Emu_PSP


という行を

PSP_EBOOT_TITLE = RPG2k Emulator for PSP


の後に書き加えました。

よく分かんないパラメータですけど、名前からディレクトリの設定っぽいのです。
Makefileのパラメータとか、よく分かんないものが多いので困ります。


少し話がかぶるんですが、二つ目のアプローチは、ディレクトリ関係です。
エミュレータでは、気にする必要がけど、実機では気にする必要大な問題です。

実際、何度か何処かで遭遇したことがある問題なので。
これは、実機でテストしてみないと分からないので、面倒で困ります。

今日、アップしたやつで、少しヒントがもらえればと思っています。


今日は、この辺で。
お休みなさい。
【2009/08/28 23:58】 | RPG2k_Emu | トラックバック(0) | コメント(0) |
Jpcsp
最近、試しにマップ画面だけを表示するプログラムをアップしました。

でも、テストしてくださった方によると全く動かないそうです。
昨日のエラーが発生しないようにしたやつでも、ダメでした。

今のところは、なんでうまく動かないのか、原因は全く分かりません。
なので、アップしたファイルは下げました。
このまま残しておくわけにも行かないので……。

はあ。
こういう時、実機がないのはきついです。
自分のやっていることが、机上の空論だとつくづく実感させられます。
誰かからボロくてもいいので、PSPを譲ってほしいです。



閑話休題。
泣き言、言ってても仕方がないですよね。

でも、おかげで、今後の目標みたいなのが決まりました。
兎に角、動かないことには意味がないので、まずは実機で動くようにします。

その手始めにJpcspのコンパイラを使ったエミュレーションで、動くようにします。
実は、Jpcspのコンパイラを使うと、途中で固まるんですよ。
そのコトと、実機で動かないことが関係あるかもしれません。

糸口は小さいですが、早く原因を見つけられるように頑張りたいです。


あと、今日少しだけ解析ツールのGUI版を作り始めました。

SwingとSqliteあたりを使うつもりです。
両方とも、使ってみたかったものだったりします。

Swingは、AWTとの使い方の違いに驚かされるばかりでした。
やっと、表示だけはできましたが……。

Sqliteは、それ以前の問題にぶち当たりました。
RDBMS自体、触ったことがなかったもので……。

少し前途多難ですが、いい経験になればいいです。


そんなこんなで、お休みなさい。
【2009/08/27 21:54】 | RPG2k_Emu | トラックバック(0) | コメント(0) |
変なエラーの原因が分かった。
変なエラーの原因が分かりました。

まず、そのエラメッセージは、大体

LW unaligned addr:アドレス pc:発生箇所のアドレス


こんな感じのものです。

意味は、『LW命令で指定されたアドレスが不正です』といった感じです。
それで、何が不正かというとアドレスが4の倍数じゃないことみたいです。

どうやら、4バイトの値を読み込む時、読込元のアドレスは4の倍数でなければいけないみたいです。
IA-32には、無い仕様でPSPのCPUにはある仕様っぽいです。
CPUの違いは、面倒です。

そして、このコトに気付いたのは、適当な場所で、メッセージ吐かせたみたときでした。
意外なことに、メッセージとエラーのタイミングをみれば、一目瞭然でした。
やっぱり、何事もヒントが必要ですね。

でまあ、そのエラーの発せ箇所は、sue445さん自前のメモリコピー関数でした。
その関数は、32bit(4バイト)ごとにコピーして、高速化していました。

でも、機種依存の××バイト境界なんてのは、流石に気にしてはいません。
関数は、4の倍数でないアドレスでも、ほいほい処理してしまうものでした。

とりあえず、そのメモリコピー関数を呼ばないようにしてmemcpyを代用しました。
関数を改造するという方法も考えましたが、オーバーヘッドが気になるのでやめました。
それに、ライブラリ関数というのは洗練されているものが多いですし。

そんなこんなで、コンパイルしてエミュレータで走らせたら見事、エラーは出なくなりました。

ふう。
やっと、付き合いの長いエラーとおさらばです。

それに、これで色んな問題が解消されると思います。

最近、遭遇した配列からデータが読み込めないこと。
PSPで画面真っ黒のまま終了すること。
Jpcspでコンパイラモードが使えなかったこと。

また一歩前へ。
【2009/08/26 19:00】 | 雑記 | トラックバック(0) | コメント(2) |
メモを手書きで。
最近、メモを取るようになりました。
頭の中がイロイロごっちゃごちゃなもので……。

なんか、溜まった印刷ミスの紙を消費できるのでエコですね。
昨今のエコブームにあやかっています。わたし。

たまに、落書きに熱中して酷いめに遭います。
『時間の無駄』という言葉がその都度、わたしを苦しめます。
『いい気分転換なんだ』と誤魔化しますが……。

でも、本来わたしが整理整頓をしっかりすれば、要りませんよね。メモ。
メモを無くすと折角の苦労を水の泡にするリスクがありますし。

というか、メモが必要ということは、処理能力を上回ることを処理しているということかもしれません。
仮想記憶のスラッシングみたいに……。

はあ。
無駄は必然かもしれませんが、もっと人生を見通しよくしないといけませんね。
処理能力を浪費している何かが、あるかもしれないですから。
【2009/08/25 23:58】 | 雑記 | トラックバック(0) | コメント(0) |
やり方が悪かった。
これ、貼り忘れました。

なんか、やり方を変えたら、できました。

マップ表示!!!!!!!!!!!!!

やりました。
【2009/08/25 00:41】 | RPG2k_Emu | トラックバック(0) | コメント(2) |
秋! 秋? 秋!! 秋!?
最近、そんなに暑くなくて快適です。

なんか、世界が少しだけ変わったような気がして、嬉しいです。
それに、わたしの家での生息地帯は暑い時大変なので、尚更嬉しいです。

秋は、暦だけでなく確実に環境も近付いているみたいですね。

そろそろ寝ます。
お休みなさい。
【2009/08/24 23:58】 | 雑記 | トラックバック(0) | コメント(0) |
わけ分かんない。
今日は、意外と進みました。

画像の読み込みバッファに実装ができました。
そして、マップチップの読み込みも実装しました。

とこらが、エミュレータでの実行がうまく行きませんでした。
しかも、うまく行かない原因は、さっぱりです。

メモリ不足でしょうか?
でも、用語の読み込みやらシステムの読み込みは正常にできます。

そういえば、二次元配列の読み込みがうまく行っていないような……。
確か、この前試しに二次元配列にある文字列を吐かせようとしたら空っぽでした。

でも、エミュレータがわけ分かんないエラー吐いたりしていましたし……。
メモリ関係みたいでしたが、意味が分からないんですよね。

う~ん。
実機でテストしてみたいです。

このまま、エミュレータで延々とテストしているよりは現実的ですし。
とはいっても、わたし実機持ってないんですよね。

はあ。
とりあえず、試して下さる方向けに下のアドレスにファイルを置いておきます。

http://takecheeze.web.fc2.com/download/RPG2k_Emu_PSP.lzh


ただし、イロイロなことは自己責任で、お願いします。
そこら辺は、すいません。

そんなこんなで、お休みなさい。
【2009/08/23 23:49】 | RPG2k_Emu | トラックバック(0) | コメント(0) |
砕けちゃどうしようもないでしょ。
今日、PSPRPGツクールエミュまとめをチェックしたんですが、少し驚かされるコメントがありました。

何ですか、これ。

当たって砕けろ! -- (名無しさん) 2009-08-22 19:21:17


応援してくださるのは、いいですけど、ね~?
『砕けちゃ意味がないでしょ』という、在り来たりなツッコミを入れそうになりますよ。

とりあえず、『果敢に頑張れ』という意味で受け取っておきます。

とまあ話は繋がって、コメントばかりが更新されるwikiのコトについてです。
まだ思いつきの段階なんですが、自分でwikiをつくってそこに移転しようかと思っています。

それだけです。

もう眠いです。
お休みなさい。
【2009/08/22 23:58】 | RPG2k_Emu | トラックバック(0) | コメント(0) |
C++って、何でこんな複雑なんでしょう?
今日は、sue445さんのSDKの拡張をしました。
流石に、マップツリーだけない状態を抜け出したかったもので……。

やってみて感想が、『C++が複雑すぎ……』という道具に文句をいうものでした。
なんというか、今ならC++が意外にマイナーな理由が分かるような気がします。

毎度ですが、後学のために反省や分かったことでも書きます。


まず、この記号"::"ですね。
Java出身者なわたしは、ずっと静的メンバ関数を"."で呼ぼうとして手こずってました。
気付いたときは、もう互換性維持という足枷を恨みました。

次に、thisの扱いです。
thisが、参照かポインタか分からなかったので調べるはめになりました。
とりあえず、wikipediaにてC++の予約語で見つかってポインタだってことが分かりました。

そして、それを記した項目に、参照でない理由が書いてありました。
なんと、参照がthisより後に言語仕様に取り込まれたのが原因らしいです。
道理で、参照が使いづらいわけですよ。

とにかく、またしても互換性維持という偽善者に殺意を抱きました。


愚痴をいえてすっきりしたので、そろそろ寝ます。
お休みなさい。
【2009/08/21 23:54】 | RPG2k_Emu | トラックバック(0) | コメント(0) |
XYZ形式のデコードと表示が出来た!
やっと、出来ましたよ。

ミスの連続でした。でも、出来ました。
強い敵を倒して、少しだけ経験値を落としてくださった心境です。
絶賛迷子中のRPGで、やっと次にすることが分かり、シナリオが進んだ感じです。

とりあえず、分かりにくいけどその証明写真は↓です。
XYZ形式の表示成功!
なんか、透明色の設定も成功していたりします。


閑話休題。
喜びにふけりましたが、そればかりではいけないので、反省でも書きます。

まず、圧縮されているデータは、全部展開してから使うべきでした。
今回は、パレットと画像データを分けてやって、失敗しました。

やっぱり、同じリソースを使っているので、一元的にやるほうが効率的です。
大体、わたしにそんな技術ないですし……。

次に、エラー判定で、例外処理にありがちなミスをしたことです。
基本的にこういう判定処理は、何度も慎重に確認するべきです。
判定処理の誤判定は、誤エラーの根源ですから。

ところが、アホなわたしは、判定の順番を間違えそれに気付くのも遅かったです。
ホントこんな基本的なところで、手こずったことは不本意でした。


とまあ、少し進んだ今日ですけど、次はシステムグラフィック関係になりそうです。
ここら辺のロジックは、一度Javaで実装したことがあるので、早く済みそうです。

おそらく、画像バッファも並行して実装すると思います。
これも、Javaが遅かったせいで、つくったことがあります。

当分は、楽できそうです。
その後の地獄は、予想したくないですが……。

セーブデータの解析……。
メニュー画面のレイアウト……。

珍しく早いですが、お休みなさい。
【2009/08/20 20:50】 | RPG2k_Emu | トラックバック(0) | コメント(0) |
……辛い。
今日は、気分が起きた時からすぐれませんでした。
眠いし、頭痛が辛かったです。

そんな中、身体を動かして調べものを中心にパソコン使用してました。
とりあえず、メモります。

SDL関係
・画像の色調は、SDL_SetGammaでガンマ値をいじればいい。
・画像の透明度は、SDL_SetAlphaで設定。なんか色々気遣うことがある。
・画像の透明色は、カラーキーと呼ばれるものをSDL_SetColorKeyで設定できる。

PSPエミュレータ関係
・何気にSamは速くて使える。でも、ログ機能がダメ。
・Jpcspが、今一番。まだ、未完成みたいだけど、何より開発中だから期待できる。
・開発環境は、JpcspがNetBeans、PSP_PlayerがVisualStudioみたい。

C言語でいい加減覚えなきゃいけないこと
・mallocは、sizeofを使って、戻り値をキャストして使う。
・memcpyは、第一引数がコピー先、第二引数がコピー元、第三引数が容量。

こんなところです。
お休みなさい。
【2009/08/19 23:40】 | メモ | トラックバック(0) | コメント(0) |
意外に簡単なことだった。
今日もやっていた、文字コード関係のコトですが、あっさり解決しました。

ホントに自分が嫌いになるくらい簡単な勘違いでした。
データを何回も上書きしていました。
きちんと別々のメモリ領域を使わないといけませんでした。

なんというか、ポインタが分からない初心者クラスの間違えですね。
なんか異常に虚しいです。

そして、うまく言った後に気付いたんですが、わざわざ文字列をUTF-8にする必要ないです。
というか、逆にメモリの無駄遣いです。

UTF-8は、ファイルを読み書きする時だけ、使えばいい話です。
フォントを使う時は、どちらかというとSHIFT-JISの方が扱いやすいですし。

というか、JpcspはUTF-8を認識しません。
全くの無駄骨でした。
今回の作業は、時間だけは浪費しましたね。

もう、軽く自棄ですから。

とりあえず、明日はシステムグラフィック関係でも弄ります。
ファイル名は、すべて半角文字にしてからやります。

軽く絶望してるのでそろそろ寝ます。
お休みなさい。
【2009/08/18 23:51】 | RPG2k_Emu | トラックバック(0) | コメント(0) |
ホーム ススム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。