きまぐれblog
謎の吸出しミス
無双OROCHIを吸い出してみたところ、謎の吸出しミスが発生していました
最終セクタでなく、途中数カ所が数セクタ分破損している状態でした
しかも吸出すたびに場所、破損範囲が異なっている状態です
現在原因を調査中ですので、しばらくお待ちください
ISO9660フォーマット
高速化については何倍も速くなるわけでは無いので、とりあえず今後の課題としてみる
パッチ機能を追加するにあたり、EBOOT.BINの場所特定をかなりいい加減にやっていたので、まじめに位置を取得するようにしてみます
※今の状態だと、アップデート用のEBOOT.BINを認識してしまう可能性があります
追記
というわけで”PSP_GAME/SYSDIR/EBOOT.BIN”を渡すと、対応するセクタ番号を返す関数を作成中
ISOファイルに対するツールを作っているのでして、対策の回避策そのものを作成しているわけではありませんのでご注意をお願いします
高速化
もう少し速くする(CPUを遊ばせない)方法を思いついたのですが、変換部分を再作成し直しなので躊躇しています
iso_tool test 017
・CSO変換時のバグを修正
・UMD->CSO / ISO->CSO変換を新方式に変更
・CSO変換時の処理セクタを選択できるように変更
※速度確認用です、UMD->CSOは512 / ISO->CSOは2048が一番速度が出るようです
続いてCSO->ISO変換処理と、パッチ関係の処理の追加を行う予定です
注記:バッファを大幅に変更した際にEBOOT.BIN変換部分にバグを作ってしまったようです。すでに対策はしていますが、test 017では正常動作しないので注意してください
吸出し不具合
一部の方が吸出しが出来ない状態になっているようですが、他の方はどうでしょうか?
うまくできない方はメモステのフォーマット、空容量確認等を試してみていただけないでしょうか?
また、CFWのバージョン、プラグインの状況等も報告していただけると助かります
こちらの環境は、PSP-2000・CFW5.50GEN-D3、UMDキャッシュあり、この状態で吸出し確認しています
また、CSO吸出しはバグありのままなので、1GB以上のソフトですと不具合が起こります、次回の更新時に修正予定です
iso_tool test016
今までのテスト版を元に吸出/変換ルーチンを再調整していたので、更新があまり出来ませんでした。
今回、UMD->ISOルーチンを大幅に見直し、限界まで速度を上げてみました。
(CSO変換は以前のままなので、速度は遅いままです)
遅延読込と遅延書込を利用しているので、UMDの読取り時間=吸出し時間になっていると思います
読込みセクタ数を64/128/512/1024/2048/4096の6種類設定しましたので、一番速かった設定をコメントしていただけると助かります
(手持ちのUMDでの結果は512が一番高速だったので、一番上に設定しています)
また、他の吸出しとの速度比較結果もコメントしていただけるとありがたいです
追加機能としては×ボタン長押しで吸出しのキャンセルが出来るようになりました。
・iso_tool_test_016 (1756)
※完了後のメッセージが「CSO」となっていますが、細かいことなので気にしないでください
CSO->ISO変換
現在、CSO->ISO変換を実装中です。いろいろ検討したのですが、特に制限等はかけない方向で進んでいます。
コメントにあった1G上限のは計算ミスによりバッファが足りないことが原因です、現在対策中です
gpSPについては個人的にプレイしたいソフトはある程度動いたので、モチベーションの低下もあり、保留中です。スンマセン<(_ _)>
UPDATE用のファイル群について
削除してしまうと各ファイルの記録位置が異なってしまい、ソフトによっては動作に支障が出てしまう可能性があります。
CSO専用になってしまいますが、ファイルの中身を圧縮の聞きやすいようにすべて0で埋めてしまう方法が有効だと思います
現在はファイルの場所やファイル長の認識をめちゃくちゃ手抜きしているので、そちらも修正が必要になります
追加機能について
コメントありがとうございます
・CSOからISOに変換
これは次に実装を予定していたのですが、いろいろ意見が分かれているようですね。再吸出し時間>ISOへの変換時間であれば、有効な機能とはなりますが。実UMDを入れている場合のみ変換可能にすることも出来ますが、利便性としてはどうでしょうか?
・ISO/CSOの容量と、MSの残容量表示(UMDの容量表示も含めて)
・吸出し・変換時に経過時間を表示と、推定残り時間表示
こちらは実装予定とさせていただきます
・CSOに変換するのをもう少し高速化
これについてはもう少しチューニングしてみたいと思います
・ISO/CSOの書換機能
こちらはパッチ機能として実装予定です(エディタでは無く、パッチファイルを利用しての書換です)
・吸出しや変換が終了したときのサウンドを変更可能
これは当初例のレベルアップ音を入れたかったのですが、著作権的に問題があるので取りやめました(音声ファイルまでは準備したのですが…)
外部ファイルとして各自準備することで対応できればいいなと思っています(基本機能では無いので順番的には後回しになってしまいそうですが)
そのほかの予定として、変換等の一時中断と復旧、ソフト内でのオンラインアップデート、MSに余計な容量を必要としないISO/CSO変換等を検討しています
(ISO->CSO時に空容量が無くても変換可能、CSO->ISO時には増える分の容量があれば変換可能を予定していますが、うまくできるかは不明)
・PSPのバッテリー残量とか時間表示
・解凍/移動機能
・XMBでの表示順変更
これらについてはコメントにもありましたが、このツールの範囲外となりますので、今のところは対応予定はありません
追加機能
ファイルの削除機能を追加しようとしています。そのほかに必要な機能がありましたら、コメントお願いします。
必要と思われれば出来る限り追加したいと思います
ISO吸出し
さくっとISO吸出しも出来たので連続公開
CSO変換も高速化してみましたがどうでしょうか?時間を比べでコメントしていただけると参考になります
CSO変換にバグがあった様です。現在修正中です
修正しました
iso_tool test 13
以下を修正しました
・CSO変換時のフリーズを修正
・圧縮レベルを9に設定
原因判明
sceIoGetstat()ではなく、メモリ不足でした
現在、圧縮レベル9で変換テストを行っていますので、もうしばらくお待ちください
さすがに高圧縮はめちゃくちゃ時間かかりますね
test 012について
・ISOからの変換時にフリーズしてしまう場合があります、sceIoGetstat()がエラーになっているようなので原因調査中です
・圧縮レベルをテスト用に「0」(無圧縮)にしていたのを忘れていました、次には修正します
CSO変換実装
圧縮率等の調整は出来ませんが、CSO変換を実装しました。
空容量のチェックは行っていないので、注意してください。
・CSOの変換を実装/UMDからの直接変換も可能
今のところ、UMDからの吸出しは「[UMD DRIVE].CSO」で保存されますが、今後調整予定です
・メニューのキャンセルを実装
「×」で手前に戻るようにしました、最終確認も追加しました
・UMD_ID.TXTを修正
oki氏の指摘により誤字等を修正。
またファイル名が58文字以上になるとXMBで認識しないので、そちらも調整
・UMDの情報取得を実装
UMDの読取りを実装したので、こちらの機能も同時に有効になりました(吸出しは未実装です)
UMD_ID.TXTの修正をしていたら、なぜか「THE」がゲシュタルト崩壊しました
- Search
- Feeds
- Meta