[2009/09/21yreeen]
input系の設計ミスった。
○　PSP→キーボード→パッド
×　PSP→パッド→キーボード
組みなおさなきゃ…

[2009/09/22yreeen]
描画系のプログラムはPSPSDKの関数じゃなくてDXP内部に持ってしまおうかと思う。intraFontとかも全部再構築しなきゃ…
それかPSPSDKの変数に直接アクセスしてしまう？それはあまり良いプログラムとは言えないね…

[2009/09/22yreeen]
PSPの座標系は右手系
本家は左手系座標系だと思う
gu関連の実装はDXPに取り込む。intrFontも踏み台にしてソースコードを纏める。
時間はかかるけど仕方ないね

[2009/09/24yreeen]
PSPSDKのGUから省く機能がいくつか
コールバック関数
シグナル
GEのDIRECTモード以外

[2009/09/24yreeen]
やっぱGUを組み込むのは無しだな。
ちょっと気に入らないけど、GUの変数に直接アクセスすることにしよう。最低限のラッピングは必要かな？いいや。現状で安定してるっぽいし
処理の流れとしては
sceGuStartではSendコマンドを主に使う。
描画パラメータに変更があったorバッファが足りなくなりそう→sceGuDrawArrayを実行
DrawArrayしたらとりあえずsceGuFinish。
sceGuFinishで帰ってきた値を記憶して、バッファが十分残っているなら残りの部分からsceGuStart
足りなさそうならSync
オーバーランしたらエラーメッセージを出して数秒後に強制終了

[2009/10/15]
なんだかんだでDXPPNGのバグ取りもひと段落したからDXPの開発に復帰するぜ
とりあえずグラフィックス関連を組む順番は次のとおり
頂点バッファ＆その他システム管理
テクスチャ読み込み＆管理
2D関数
2D図形関数
文字列描画
3Dデータ読み込み関数
3D関数
3D図形関数

gumは使わない。vfpuのコードはガリガリ使う
必要な設定データ一覧
頂点バッファの開始位置、残量
頂点プリミティブ形式
ディフューズ色


2Dtexで切り替わりうる項目
transflag
描画輝度
ブレンドモード

[2009/10/27]
DrawExtendGraphTEST関数をつくり、GEのキャッシュについて実験した。
Slice以上にGEのキャッシュへの最適化を行うことで
320x240の32bit画像で25％程の描画速度向上が確認できた
これは即採用の高速化方法かもしれない。もうすこし研究を重ねようと思う

65x33といういじわるな画像サイズにしてみた。遅くなるかと思ったらほとんど倍速の82％高速化になったので思わず吹いてしまった
あとは回転の処理とかが必要な時にどれだけ高速なのか検証せねば。
オラなんだかｗｋｔｋしてきだぞｗｗｗｗ

ところで、なんか0.4.14より描画あたり2000〜5000クロックほど無駄になってるっぽいんだが何故だ？
シャレにならないので原因をつきとめねば

[2009/10/28]
やばい。頂点バッファ使うと遅くなるｗ
GEとCPUとの並列度を上げるのにもseGuGetMemoryが一役買っていただなんてっ＞＜。

兎に角、管理系を仕様変更しなきゃ〜

[2009/11/4]
くるみ☆ぽんちお聞きながら開発
printf系関数の実装例を探してたら唖然。pspsdkに含まれてる奴は関数宣言が旧記法だったｗｗｗｗ
これ確かVC++だとサポート外なんだよねｗｗｗ流石gccだｗｗｗｗｗｗ

[2009/11/10]
SJISのだめ文字をコンパイラ自体が正しく扱えていないことが判明
SJIS対応vsnprintfは原理的につくれないｗ

[2009/11/16]
CPUクロックに関する研究を（今更）やった。
どうもバスクロックはCPUクロックの半分程度は必要になる模様
で、GPUまわりのクロックはバスクロックと同じっぽい。バスクロックを変えると動作電圧が若干変動するから間違いないと思う
バスクロックだけ上げても描画が速くなることも裏づけ…には弱いけれど、まあ間違いないだろう

[2009/11/18]
デバッグ文字列のデータが必要なときだけリンクされるように変更
画像表示程度なら80kbくらいの実行ファイルになった
STREAMDATA構造体を撤廃することが決定…？
それともDXPSTREAMDATAとか造っちゃう？スレッドセーフとファイル名とオープン方法とオフセットを追加とか

[2009/11/21]
VFPUを猛勉強中
DXPではVFPUレジスタのブロック0〜2を汎用用途（いつでも利用可能）に、ブロック4〜7を3D演算に使うことにしようかなと。

[2009/12/09]
いつのまにか2D関連の実装は完了
intraFontで苦戦。DXP内部では文字コードをUTF8で扱おうと思う。
printf関数がバグらないし、いろんな文字が使えるからね♪
DXPで文字を扱う場所
OSK（USC2相互変換）
font周り（各国コード→UCS2）
ファイル読み書き（各国コード→UCS2）

[2009/12/11]
どう考えてもファイルアクセスがShift-JISです。本当にありがとうございましたｗｗｗ
でも、なんでだろう？
今後のながれ

文字コード周りの整理
ファイルアクセスの強化（スレッドセーフ、サスペンド＆レジューム対策）、intraFontまわり
音楽再生

カーネルモードが必要な部分の実装

[2009/12/15]
2ch某所のカキコを頼りにやっとPSPのカーネルモードprxを使えるようになった
CPU使用率でちょっと苦戦。inflate関数がカーネルで使えることを知ってびっくり
PSP本体の情報どうやって取得するんだっけ・・・
intraFont関連を統合。今後のVerUpに備えて今回も強引にラッパー関数を使った
あとは音声関連を統合すればVer0.4.x世代の機能は網羅したことになる。

[2009/12/19]
音楽周りもだいたいできた
龍神録をビルドしてみたら問題がいろいろと浮上した。SetDrawBlendModeがSetDrawBlendmodeになってたりｗ

#define DrawFormatString
#define DrawFormatStringToHandle
#define Sleep
#define CreateFontToHandle(...)
#define ChangeWindowMode(...)

CPU使用率取得関数はつけないことにした。

[2009/12/20]
PSPSDKのmalloc/freeが全然スレッドセーフじゃないことが判明
ラップするのもアレなので、動的確保が必要な時はメインスレッドが確保するように改変する必要あり
あと、ファイル周りもスレッドセーフにしてリオープンの必要な時の処理も改善する必要がある
全部リオープンするのではなく、呼ばれたものだけリオープンすればそこはスレッドセーフにする必要は（たぶん）無い
ファイルのオープンとクローズの処理をスレッドセーフにする必要あり。

[2009/12/21]
malloc/freeを子スレッドから安全に呼ぶ方法を作った
ファイルアクセスがサスペンド/レジュームをまたいでも継続できるようにした
MP3再生で変な音が入ったり、フリーズするバグを修正した
…一気に色々な問題解決したなぁ

[2009/12/22]
文字列表示関連の整理とバグ取り
DrawModiGraphのVFPU化で数%の高速化
このあたりでリリースしようと思う

[2009/12/29@yreeen]
しばらくこれ書くの忘れてた・・・
音楽再生のストリーミングでないものは全部１スレッドで扱えるんじゃないかっていう気がするけどとりあえず保留
今日はDrawRotaGraphにDrawModiGraphを統合してみようと思う
→失敗
計算処理にかかる時間は減っているのに、なぜかトータルでは遅くなってしまった

[2010/01/01@yreeen]
サウンドまわりを色々と弄っている。
たぶんこれでバグは…無いと信じたいね