Chiharu の日記

絵描き C/C++ プログラマーの日記です。

ARM MPCore

memcpy 〜ARM アセンブラは短いね

いきなりですが ARM アセンブラの話でも。 memcpy の亜種(戻り値なし、必ずコピー発生)を C 言語で、ARM が得意なコード サイズ重視の書き方で書くと、 void my_memcpy(void* dst, const void* src, size_t size) { uint8_t* dstC; const uint8_t* srcC; a…

PandaBoard 環境にポーティング完了 〜スクリーンショット

先日の日記の続き。 Ubuntu 11.04 on PandaBoard 上で自作ゲーム エンジン『Parallel force - パラレル・フォース』が動作しました。 とりあえず OMAP4 の ARM Cortex-A9 を 2 コアちゃんと叩いてくれているみたい。んー。純粋な C++ コードだと Intel Atom …

Linux 環境にポーティング完了 〜スクリーンショット

先日の日記の続き。 Ubuntu 11.04 (x86) (VMWare) 上で自作ゲーム エンジン『Parallel force - パラレル・フォース』が動作しました。 感無量です。ポーティング元の環境依存 API は Win32API(一部に XAudio)だけでしたが、ポーティング先は xlib、FreeTyp…

Linux 環境にポーティング 〜プログラミングメモ

先日の日記の続き。 『Parallel force - パラレル・フォース』を X-Window 環境へ移植しています。子供の相手をしながらなので休日の割に歩みが遅いですが、ぼちぼちやってます。 タイマー処理 やりたいことは ms 精度のスリープと、ms 精度の時間カウンタ取…

X-Window でマルチスレッド 〜X11 API (xlib) プログラミング メモ

『Parallel force - パラレル・フォース』のウィンドウ処理とバックバッファの転送処理を X-Window 環境に移植したのですが、X11 API (xlib) のマルチスレッドでどハマリして、解決に結構時間を使いました。以下、解決メモです。 X11 API (xlib) のスレッド…

ポーティング 〜GCC 対応の続き

先日の日記の続き。 GCC 対応をさらに進めるために VMWare Player で Ubuntu 11 をセットアップ。それぞれのソフトウェアのダウンロードから、セットアップ完了まで 1h 未満。光回線、11n の無線 LAN、論理 8 コアの CPU、8GB のメモリ、良い時代になったも…

マルチ プラットフォーム対応 〜Win32 から Linux まで

先日の日記の続き。 パラレル・フォースをマルチ プラットフォーム (主に PandaBoard) 対応すべく、Windows 固有 API 利用箇所を徐々に修正していっています。 機能 Windows Linux 補足 Sound XAudio2 ??? 検討がついてません。というか Windows 版の実装を…

ファイル I/O 〜Win32 から C++ 標準ライブラリへ

先日の日記の続き。 GCC ビルド環境のファイル I/O を Win32 から C++ 標準ライブラリの ifstream 等に変更しました。この辺は標準ライブラリだけあって、つつがなく移行が完了しました。 ただ、相変わらず getFileSize 的な API がなかったり、エラーハンド…

WaitForMuitipleObjects 〜POSIX スレッドでは?

先日の日記の続き。 Win32API のイベント処理に対応する POSIX スレッドの API は下記のようです。 Win32API POSIX 概要 CreateEvent pthread_cond_init 同期オブジェクトの初期化 CloseHandle pthread_cond_destroy 同期オブジェクトの解放 SetEvent pthrea…

Parallel force - パラレル・フォース 〜GCC4 対応を完了

先日の日記の続き。 PandaBoard が届くまで、まだしばらくかかるので、パラレル・フォースの GCC4 向けの移植作業を進めていました。もともと Windows 向けに作っていたので、まず手始めに Cygwin 環境でのビルドに対応しました。C++0x 万歳的なコードですの…

こんちくしょー 〜PandaBoard 発注先変更

先日の日記の続きで、国内の販売代理店に PandaBoard を発注したのですが、んー。1 週間、何の音沙汰もなし、て。『ご注文を承りました』くらい返信できないものだろうか…。もー、なんだか痺れを切らす格好で、解約メールを投げて、PandBoard サイトからリン…

趣味でも組み込み? 〜PandaBoard を触ることに

勤務先の会社内で有志が集まって PandaBoard をいじりたおす運びとなりました。業務じゃないのでフランクな感じで。ちょうど NGP の半分くらいのスペックで面白そうだなぁと感じてます。 で、会社でボードを共用するだけでは物足りないなぁと思って、個人で…