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

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

スポンサーサイト 

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

UPDATE:system4.x用シナリオ逆アセンブラ+α_ver1.01 

・Alice soft製エンジンのsystem4.xのシナリオデータを読みやすくするツール

バージョン5のシナリオデータに対応して欲しいとの要望があったので対応してみた。
とは言っても、追加された命令の詳細は解析してないのでよくわからない。
何をする命令かわかった人は連絡してもらえるとありがたい。
他に追加されたデータも特に必要なものじゃないと思うので出力はしてません。
体験版が無かったので修正ファイルを解析したので製品版でも動くかと。
一応「だぶる先生らいふっ」と「超昂閃忍ハルカ」で動作確認済み。
system4.2になってるようなのでファイル名をちょこっと変えました。
AliceLogoも3になってるようです。
バージョンが上がるということは、前のバージョンには無かったものが追加されてるわけですが、追加されたものをすべて把握してない(できない)のでバージョン5以上だと未知のデータがある可能性があります。

音霧い寝る
[ 2009/02/19 03:57 ] 未分類 | TB(0) | CM(8)
No.581
七次元さん
「だぶる先生らいふっ」の製品版にてシナリオ展開できる事を確認しました。
対応本当にありがとうございました。
でもシナリオだけで7mbとは!!
これは移植するのに骨が折れそうです

[ 2009/02/19(木) 10:21 ] [ 編集 ]
No.582
文章の量は元のainファイルのサイズ以下ですが、バイナリで記述されてる情報をテキスト化してるので大分嵩増しされてます^^;
ハルカの場合はシナリオデータが圧縮されてるので、テキスト化すると18MBになりますw

テキスト化されたものをコンバータに使うならs40ain2txtで出力されたデータを使った方が良いかもしれません
拙作のツールは人間が読みやすいように作られてますので
[ 2009/02/19(木) 18:59 ] [ 編集 ]
No.583
管理者モードで書き込んだら名前表示されてねえw
ソース見たら酷い間違えが…
初心者プログラマーが作ってんのかよw
プログラマー増やしてシステムを強化したんじゃないんですか?FC2さん
[ 2009/02/19(木) 19:10 ] [ 編集 ]
No.587
七次元さん

コメレスありがとうございます。
おにぎりくんのシナリオってそんなにあるんですか!!
これではシステムの前にテキストサイズだけでPSPが落ちますね><
これを移植するならすとーむ様の互換性エンジンの完成待ちになりそうですね。でも自分はこの作品は難しすぎて移植は無理ですが>< 勉強しないとなぁ・・・
それとsystem4.0って移植が難しいですねorz
吉理とは違い、命令がイミフです。

と言うよりコムスメの移植が終わっていないのに
なにやってんだろ・・・・自分 orz
[ 2009/02/23(月) 00:30 ] [ 編集 ]
No.588
拙作のツールでテキスト化した場合の話ですので、実シナリオデータ(解凍したain)は6MBぐらいです。
デバッグ情報のせいで何倍にも膨れ上がってますが、PSPでも収まるサイズだと思います。
とはいっても、ONSだとエフェクト面の再現に問題があると思いますが^^;

前にどこかの記事で書いたかもしれませんが、system4.xはアセンブリ言語なシナリオデータなので、機械語の知識がないと難しいかも知れません。
自分も昔にMajiroのコンバータを書いたときに「PUSH?なんぞこれ」ってなりましたしw
しまいま。では、すべての命令を処理していたらきりが無いので、必要な命令の引数だけ処理しました。
pushの値を保管しておく必要があるので、perlなどの言語でコンバータを作らないと難しいかと思います。
詳しい説明を書いてませんでしたが、「▲背景(4,4);」などがあった場合、括弧の中の数字は引数の数です。
「W(1,2);」など、左右の数字が異なる場合がありますが、シナリオデータ上ではおそらく左の数値が引数の数です。
これらの命令(CALLFUNC)は、他の部分で定義されてるものなので、結果.txtで定義元を調べれば、どんな処理をする命令かわかります。
[ 2009/02/23(月) 01:41 ] [ 編集 ]
No.589
七次元さん
コメレスありがとうございます。
なるほど実際のシナリオサイズはそんなものなのですね。
でも6mb・・メモリー消費が激しそうですね。
とうことはだぶ先は2mbくらいなのかなぁ(そこまで調べていませんorz)

それとシナリオテキストを覗いた時に吉理とは全然違うと思いましたが、そういうことだったのですね・・・・・
機械用語は良く分からない為、シナリオを覗いてもイミフな
わけです。・・・・・orz
しかも相変わらずperl言語はあんまり良く分かりませんし・・orz
参考書を読むと睡魔が襲ってきますし
どうも自分にはsystem4.0の移植は難しいです
でも七次元さんアドバイスですこし突破口が開けました
とりあえずあがいてみます。

それとPUSHってMajiroでは選択肢に使われる命令でしたっけ? 最近Majiroはシナリオを読んでいると頭が痛くなるので詠んでないです・・・・orz
あれは頭をパンクさせる素晴らしいエンジンです。
その前にコンフィングの実装で頭が痛いです>_<



[ 2009/02/23(月) 02:17 ] [ 編集 ]
No.590
>機械用語は良く分からない為、シナリオを覗いてもイミフなわけです。・・・・・orz
機械語と機械用語は全く別ですよ^^;
機械語(マシン語)、アセンブリ言語をwikipediaで調べるとよく分かると思います。

言語は別にperlじゃなくてもいいですが、他の言語を使うならテキストよりバイナリの方が使いやすいと思うので、テキスト化する前のデータを使った方が良いです。
テキスト化したデータの一番左にある数値「@XX(YY)」はバイナリデータの位置を表してます。
確か、括弧の中身の数値がファイルの先頭からのオフセットで、@XXの方はシナリオ制御コードの先頭からのオフセットだったと思います。(最初はs40ain2txtと同じコードを出力するように組んでたので)

>それとPUSHってMajiroでは選択肢に使われる命令でしたっけ?
PUSHはアセンブリ言語でスタックに数値などを積む命令です(多分)
system4.xのシナリオにもCALLFUNCの前にPUSH 1000とか書いてあると思います。

>最近Majiroはシナリオを読んでいると頭が痛くなるので詠んでないです・・・・orz
>あれは頭をパンクさせる素晴らしいエンジンです。
Majiroとsystem4.xは大して変わりませんよ…
上でMajiroの話を出したのもsystem4.xと似た仕組みだったからです。
system4.xもCHIKAMA Masaki氏のツールでテキスト化すると、MajiroをPeter Jolly氏のツールでテキスト化したような感じになります。
[ 2009/02/23(月) 03:17 ] [ 編集 ]
No.591
またやってしまった。
本当におちょこちょいですね自分orz
それにしても一番左の文字列はバイトコードなんですね。
おしえていただきありがとうございます。
七次元さんのコメレスはいつも勉強になることばっかりで
本当にありがたいです。
どうかこれからも分からないことがあればまた教えてください。 色々と無知で面倒かけますがどうかよろしくお願いします。
[ 2009/02/23(月) 12:17 ] [ 編集 ]
コメントの投稿













管理者にだけ表示を許可する
プロフィール

七次元

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

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

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

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



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


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