THE PSP攻略+α ~SONYへの挑戦状~

PSP関連ブログ?いいえ、ただのゆとりブログです

スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --/--/-- --:-- ] スポンサー広告 | トラックバック(-) | コメント(-)

ONS解の補足とか 

持病が悪化したため、説明が遅くなってしまって申し訳ない。
付属のreadmeを読めば大体のことがわかるが、詳しい使い方を書いてなかったので少し補足。

[Index]
cpu、getcpu、getmem命令
oggファイルのストリーミング再生
DEBUGMODE
WIDEMODE
bltjpg、bltcls命令

cpu、getcpu、getmem命令
それぞれ、CPUクロック値を設定、CPUクロック値を取得、空きRAMを取得
単位はMHz、byte
例)
;====================
getcpu %0
getmem %1
現在のCPU は%0MHz です
現在の空きメモリは%1byteです\
cpu 333
getcpu %2
CPU を%2MHz に変更しました\
cpu %0
CPU を%0MHz に戻しました\
;====================
getmemはデバッグ用ですね。
右クリックで文字列スプライトとして表示するようにすれば、プレイヤーが空きを確認したりする機能を付けたりもできます。
cpuはスプライトを動かしたり、連番画像の疑似動画を表示する前にクロックアップしたりするのに使えます。
getcpuはスクリプトでクロック値を変える前に取得しておいて、各種動作が終わった後に元の数値に戻すために使います。
今までは処理後にcpu 222を実行するのが主流でしたが、ons.iniで設定した値に戻すことができます。
対応していないバージョン対策に
mov %0,222
getcpu %0;対応してない場合は%0の値がそのまま
cpu %0
とするのが良いと思います。

oggファイルのストリーミング再生
dwave系(dwave、dwaveloop、dwaveload、dwaveplay、dwaveplayloop)命令でoggファイルを再生した場合、ストリーミング再生するようになってます。
今までは読み込み時に全部デコードしていたので、BGMレベルの効果音などは再生できませんでしたがストリーミングにより、ほぼoggファイルサイズ分のメモリで再生できるようになります。
また、随時デコードするため再生までのラグも一気に減るので体感速度も速くなります。
確認はしてませんがデコード時にコンバートするようにしたので、44100Hz以外のoggを再生しても倍速になったり低速になったりしないと思います。
すべての命令で何度かテストしましたがメモリリークなどは無いと思います。
本家では2chにすると省メモリになりますが、1chのままでも良いです。
2chだとコンバートの必要がありませんが、ファイルサイズやデコード量が増えて負荷が多くなるかも。
1chはコンバートが必要だけど多分2chより軽い。

DEBUGMODE
ons.iniにてONにすると左上に空きRAMとCPUクロック値が表示されます。
例) DEBUGMODE=ON
使わない時は丸ごと消すかDEBUGMODE=OFFとかにしてください。
正直デバッグモードにしては物足りない^^;

WIDEMODE
最近増えてきた16:9サイズのゲーム用に追加したモード。
今まではRESOLUTION=480 SCREENSIZE=FULLで疑似ワイドにしてましたが、これだと縦に引き伸ばした画像を使う必要があり、使用メモリもファイルサイズも肥大化します。
内部での画面サイズも大きく、ソフトウェアサーフェイスなのでパフォーマンスも低く、画像が縦に縮小されるので画質が落ちてしまいます。
色々と勿体無いですね…
ということで16:9サイズの画面モードを追加しました。
ons.iniにWIDEMODE=ONを追加すれば有効になります。
例)
RESOLUTION=480
SCREENSIZE=ORIGINAL
WIDEMODE=ON
↑だと480x270サイズで画面を初期化します。
SCREENSIZEをORIGINALにするだけです。
FULLでも動きますが、パフォーマンスが低下するかも。
RESOLUTION=320にすれば320x180で初期化できると思います。
この状態でSCREENSIZE=FULLにすれば画面いっぱいに拡大表示できます。
4:3サイズのゲームでいう、RESOLUTION=320 SCREENSIZE=NORMALみたいなことができます。
画像を縦に引き伸ばす必要がないので、ファイルサイズも小さくなりますし、(oggのストリーミング効果も含めて)使用メモリも少なくなるのでPSP-1000でも16:9のゲームを動かす余裕があるかもしれません。
私は16:9のゲームを持ってないのでよくわかりませんが^^;

bltjpg、bltcls命令
※CFW、32bpp専用命令です。GAME4XXフォルダとかに入れて、SCREENBPP=32で使用してください。
bltjpgはjpeg画像を画面に高速に描画する命令です。
ONSの設定にかかわらず、PSPの画面の左上を基準にした位置を設定します。
例) bltjpg "file.jpg",0,1; (0,1)を左上にして表示
480x270なら(0,1) 360x270なら(60,1)にすれば画面の中心に表示されます。
VRAMに直接表示するので、bltjpgを使った後は非常に不安定です。
ONSの描画領域外に表示した場合はそのまま残ってしまいます。
使用後はbltclsコマンドを使って画面をクリアしてください。
例)
bltjpg "file.jpg",0,1
click
bltcls:bg black,1
主に連番画像の疑似動画で効果を発揮します。
btndef+blt命令の部分をbltjpgに、ofscpyをbltclsに置き換えれば良いと思います。
30fpsは出るので本当の動画みたいになりますw


大体のことは書いたと思うけど、分からないことがあれば遠慮なくコメントにでも書いてくださいまし
[ 2009/04/05 23:25 ] 未分類 | TB(3) | CM(14)
No.644
励みになります。

トラックバックさせていただきました。
http://nagasawaotu.blog35.fc2.com/
まだまだ未熟なブログですがよろしくお願いします。
七次元さん応援しています。
[ 2009/04/23(木) 18:59 ] [ 編集 ]
No.693
七次元さん

ONScripter for PSP v1.01の機能であるbltjpg
を使用させて頂きました

効果は絶大で連番ムービーがまるで本物の動画のようです
しかし問題が有り、動画再生中に右側が緑色の線が入ります
詳しくは下記の添付を見ていただければ分かります

<a href="http://blog-imgs-31.fc2.com/f/u/t/futawagoto/090626_200420.jpg" target="_blank"><img src="http://blog-imgs-31.fc2.com/f/u/t/futawagoto/090626_200420.jpg" alt="090626_200420.jpg" border="0" width="400" height="240" /></a>

使用方法はTMPGEnc-2.525.64.184-JAにて下記の様に設定いたしました

;;;;;;;;;;;;;;;;;;;;;;;;;;;;試したPSP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

PSP2000 CFW4.01


シークレットゲーム-killer queen-depth edtion

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;




;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;動画設定;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


op0.mpg
op1.mpg

動画URL
ttp://mirror.fuzzy2.com/egg/modules/mymirrors/singlefile.php?cid=3371&lid=8935

サイズ

360×270

アスペクト

11(VGA)

fps

29.97


ビデオの詳細設定

映像ソースの種類

インタレース

フィールドオーダー

(ボトムフィールドが先に表示される)


ソースアスペクト

11(VGA)

画面配置方法

画面全体に表示

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

これで試すと上記のような緑色の縦線が入ります
一度 試して頂けないでしょうか?
[ 2009/06/26(金) 20:31 ] [ 編集 ]
No.694
すいません画像のアドレスが間違ったみたいです
正しくは下記です



http://blog-imgs-31.fc2.com/f/u/t/futawagoto/090626_200420.jpg
[ 2009/06/26(金) 20:36 ] [ 編集 ]
No.695
自分の環境では緑色ではなく、端の色を横に引き伸ばした感じになりました。
画面をキャプって調べるとよくわかりますが、幅が360を超えて表示されてます。
つまり、元画像に問題があるのではなく、デコーダー側の仕様です。
よく見ると、高さが270なので上下に1ドットの黒いラインが入るはずなのに、下の部分には色が付いてるかと思います。
当方では480x270でしかテストしてなかったので、気づいていませんでした^^;
横幅を16の倍数にすることで、防ぐことが出来ます。
高さも272にしておいた方が無難ですね。多分内部では高さが足りないのでエラー状態になってるかも^^;
上下に1ピクセル分の黒帯を入れ、右側に8ピクセル分の黒帯を入れて、368x272で出力し、(60,0)を左上として描画したところ、綺麗に表示されました。
jpgの描画後にソフト側で周りを黒くすれば良いのですが、CPUを使って周りを黒くするのは非効率ですし、別にメモリを確保して展開したものをコピーするのもコストがかかって、描画速度の低下に繋がります。
SDLとGUを同時に使う方法がわかればクリッピングして転送できるのですが…
どっちにしてもjpgを連続で画面に表示する場合は、GUを使うよりVRAMに直接デコードした方が早いので、画像側で対応してください。

あと、コメントを修正できるように、パスワードを設定しておいた方が良いかもしれません。
[ 2009/06/27(土) 01:25 ] [ 編集 ]
No.696
七次元さん

返信ありがとうございます

言われてみると確かに360を越えて表示されています
気づかなかった・・・・orz

七次元さんが教えてくれた部分で自分が出来る範囲の事を
してみました
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
・368×272

.bitjpg "",60,0

自分では不可能な事

右側に8ピクセルの黒帯・・出来ませんですorz

上下に1ピクセルの黒帯・・出来ないでありますorz
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

上記のように設定してみた所
まだ緑が残っていたのでサイズを
370×272にすると無事表示されました
とりあえず解決いたしました!!
検証して頂いてありがとうございます
これからはこちらをメインに使用させて頂くので
大変助かりました
SCREENBPP=32+連番bitjpgは最高に良いですね
この画質の良さはやみつきになります
このようなONSを作成して頂いてありがとうございました


それとコメントのパスワードの件はもうしわけ有りません
これからは気をつけますね

[ 2009/06/27(土) 04:29 ] [ 編集 ]
No.697
使用してるPSPのモデル(基盤)によって挙動が変わってくるのかもしれません。
当方はPSP-1000の初期基盤なんですが、緑色にはなりませんね…
370は8の倍数ですらないのになぜ上手くいくのだろうか…
16の倍数で駄目なら32の倍数にすれば確実かと思いますが、再現できないのでよくわかりません。

黒帯についてですが、当方ではAviUtlと黒ベタ追加プラグインを利用しています。
AviUtlでプラグインを使って縮小したり、黒ベタを追加したプロジェクトをファイルに保存して、TMPGEncに読み込ませて連番JPGを出力しました。
VFPluginの機能により、TMPGEncでAviUtlのプロジェクトファイルを読み込むことが可能です。

自分で公開しておいてなんですが、私のビルドしたONSは公式なものではないので、依存しすぎると注意が必要です。
WIDEMODE機能なんて、かなり公式からぶっ飛んでますので^^;
一応このまま公開は続けるつもりですが、本家とずれてるのでコンバータ製作者、使用者共に管理が困難です。
[ 2009/06/27(土) 15:30 ] [ 編集 ]
No.698
基盤の件ですが本当に1000と2000 or 3000
では表示方法に違いがありました
それらを下記に纏めてみました

::::::::::::1000の場合::::::::::::::::::::

画面の右側が360の範囲を越えて表示
しかし気にならないレベル

緑色の縦線は見当たらない

:::::::::::::::::::::::::::::::::::::

:::::::::::2000 or 3000::::::::::::::

画面の右側が360の範囲を越えて表示

緑色の縦線が右側に表示される
:::::::::::::::::::::::::::::::::::::

このように完璧に1000と2000では
違いました。
まさか基板で表示方法がちがうとは知りませんでした
それと黒帯の件 教えていただいてありがとうございます
これからすこしやってみますね

七次元さんのビルドした物は
本当にすごいのです
ストリーミング機能のお陰で音声などがラグ無しで
再生できますし bitjpgはすごい機能です
公開していただいて感謝しています
[ 2009/06/27(土) 17:45 ] [ 編集 ]
No.699
やはり基盤によって変わりましたか。
コストの削減か、機能の最適化か、小さくなって機能が増えた分の物理的なチップの縮小か何かで違うチップを使ってるのかと思います。
本当はGUで転送して使うので、問題は無いのだと思いますが。

黒帯をくっつけて384x272サイズにすれば、2000以降でも多分余分なものがくっつかないはず…
PSP内臓の関数に関してはよくわかりませんからねぇ…
ハードウェアを使ってMP4を再生するコードを取り込めばこんな苦労もなく、ファイルサイズも小さいのに綺麗な動画が再生できるのですがw
[ 2009/06/28(日) 02:15 ] [ 編集 ]
No.775
連番画像、音声ファイルも用意したのですが、
ムービーとどう置き換えれば良いのか解りません。
当方、bltjpgを「うみねこEp4」でやってみたいんですが・・・
可能なんですかね?
[ 2009/07/15(水) 22:16 ] [ 編集 ]
No.776
基本的にムービーを連番jpg化できるなら可能です。
相互リンクである、ひとつもりさんのブログ「PSPDEONS」にて、連番jpgでの動画スクリプトがあるので、これを改変すれば良いです。
上のコメントにあるような仕様があるので、生成するjpgのサイズと、描画位置に気をつけてください。

こちらでもサンプルスクリプトを公開した方が良いかもしれませんね。
[ 2009/07/16(木) 01:28 ] [ 編集 ]
No.777
七次元さん
返信ありがとうございます

ぜひ、サンプルをお願いします。
ONS解の機能が非常に魅力的で、使いこなして
みたいのですが、あまり知識がないもので・・・

ひとつもりさんのブログを参考に自分でも挑戦してみます。
が、音声ファイルはどうすれば・・・?
とか、色々ありまして・・・

ずうずうしくて申し訳ないです。


[ 2009/07/16(木) 09:48 ] [ 編集 ]
No.778
上の人と同じでうみねこなんですが、どう置き換えるのか解からないです。
すとーむさんの方も記事がきえてるし・・・
ひとつもりさんの方もスクリプト組んでもどこへ
置けば良いの・・・?
[ 2009/07/17(金) 00:45 ] [ 編集 ]
No.779
>>inoさん
ひとつもりさんのスクリプトを説明通りに置き換えるだけなので、大したものでは無いです。
サウンドファイルはBGMとして再生するので、動画から吸い出してoggなりに変換すれば良いです。


>>1000さん
サブルーチンはgameと*startの間にでもコピペして、サブルーチンの定義(defsub)をdefine節に書き、ムービー命令を置き換えれば良いです。
ここらへんはNスクの話になってくるので、詳しくはNスクのリファレンスを読んでください。


スクリプトの書き換えに関しては記事の最後の方に書いてあります。
[ 2009/07/17(金) 01:55 ] [ 編集 ]
No.957
七次元さん

アドバイスをありがとうございます
遅れましたが、記事を修正しました。
遅れて申し訳ありませんorz

それとまたトラックバックを送りました
[ 2009/12/02(水) 21:35 ] [ 編集 ]
コメントの投稿













管理者にだけ表示を許可する
この記事のトラックバックURL
http://nanajigen.blog74.fc2.com/tb.php/67-1aa7a2d6

七次元さんのブログにて ONScripter for PSP解(以後ONS解)が公開されました。
七次元さんにPSP2000で動画関係に問題があると 報告してから数ヶ月・・・・・・・ 折角対策を教えて頂いていたのに何もしてませんでしたorz い...
[2009/10/29 23:59] fuの戯言日記
前回の作成記事にて七次元さんのONSに 対応した連番動画作成法を記事にしました。 うれしい事に七次元さんも見たようでその際、 またあり難...
[2009/12/02 21:28] fuの戯言日記
プロフィール

七次元

Author:七次元
永遠の18才
夢を追い求める学生
プログラミング初心者(笑)
愛用言語はHSP(スイーツ)
プログラマーを目指すものの「C言語?読むだけ^^」「C++?知らんがな。クラスって何?おいしいの?」
というゆとりっぷり。
Delphi入れたりVC++2008入れたり迷走中。
夢はコミケで何かやりたい。一般参加すらしたこと無いけど。
PSP-1000(CFW)持ち。PSP-4000マダー?
よく難波周辺のゲーセンに出没するらしい。
STGも格げーも初心者。
ろ、ロリコンちゃうわ!!!

連絡先:homepage_touroku[a]yahoo.co.jp
(メールはほとんど確認してません。掲示板に書き込むのが確実です)

関連リンク
そふとうぇあこうかいじょ
公開したファイルが置いてあります。

掲示板
連絡やら雑談やら適当にどうぞ。
カウンター



現在の閲覧者数:
ブロとも申請フォーム


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。