HP(゚∀゚) > KAIZO(´∀`) > KAISEKI(^w^)

DB変換
CWC変換
POPS(アーカイブス)変換
PCの鶴での入力注意事項
ARMAXUIバグ一覧
ARMAXDB対応ツール一覧
ARMAXDBの構造
ARMAXDBチェックサム計算(PAPARXは不明)

#DB変換
AR変換
DATEL 公式からDBをダウンロードする。
AR変換
tempar(CFW用アクションリプレイ互換チートプラグイン,v1.63以前)の中のpspar.exeにDLしたDBをドラッグアンドドロップする
AR変換
一瞬でtxt形式に変換されます。pspar.exe他(下記参照)でも出来ますが、TXT化するなら一番早いです。
AR変換
リネーム用のバッチファイルをつくる
AR変換
code.ar(自分で足したいコード)と変換したdbを同じ場所においてa.batを実行する,codeM.arができる
AR変換
pspulityを起動しPSPARCODEMANGERを選択,loadCheatsをクリック。 プレイアーツ製のほうでもできますがバグがあり正常なBINができないことありますのであんまり推奨してません。 コードを足しているとアーツ製で作ったDBはAR.EXEではTXTに戻せないDBがでてくるはず。 >アーツばぐ追記;のNULLCODEとGAMEID文字列10たらずが主な原因っぽい原因, あと鶴自体のバグでコード数が255あっても無理、こーどが300あるとすると(300-255)コードしか表示されない
AR変換
codeM.arを選択する。AR専用の.bin形式でも直接読めます。
AR変換
コードが読まれる。
AR変換
savecheatsを選択してa を入力して保存する。拡張子を省略すると自動的に.bin形式になりますがTXT形式で保存したい場合は(db名).dbにしてください。
AR変換
a.binをリネームするためa.batを再度実行する。
AR変換
codelist.binがMAX2/ツールバッテリー用,pspar_code9.binがツールバッテリー版のアップデートファイルになります。
AR変換
あとはメモリースティックのMAX2のフォルダにコピーして完成、ツールバッテリー版の場合は/PSPAR/フォルダです。pspar_code9.binを使う場合は/PSP/common/フォルダです。
AR変換
あとはアクションリプレイを起動してちゃんとコードが読めていたら成功です

#CWCコード変換
AR変換
cwcwikiからキーボードのCTRL+Aで全部選択,CTRT+Cでコピーする
AR変換
余計なスペースが混ざっていることがあるので拙作REMOVERで消去する、上のフォームでCTRL+V(貼りつけ) converボタンを押す,下のフォームをCTRL+A(全選択)→CTRL+C(コピー)。 wikiには_C0 がたまに抜けているやつがあり前の_C0にコードが統合されてしまうので注意してください。くわしくはwikiのQ&A参照
_C0に日本語名が混ざっている場合はkakasiを使ってください。cheat.dbが変換される前のtxtファイル,cheat1.dbが変換後のtxtファイル。
AR変換
PMETAN(IEブラウザ必要)の中に入ってるコード変換をつかいACTIONREPLARYように変換する。
AR変換
あとは変換したコードをcode.arに追加するだけです。ARMAX2ではコード名(_C)の後ARコード(_M)が1つもないとフリーズするようなのでダミーの_M 0xCFをかならずたしてください またゲーム名が同じものが入っているとフリーズするので絶対にやらないでください。 1コードあたりのコード行数が117(ARのメニューで075)こえるとDBがおかしくなる可能性があるので100行ぐらいにかならず分解してください。 くわしくはUI入力バグ参照,a href="#BIN">BIN構造参照
//フリーズ修正
_S ここが10文字ぴったりじゃない奴,9文字以下でも11文字以上でもダメ,TEMPARの鶴使うなら自動修正されるので不要,アーツ鶴を使う場合修正必須

_S 10MOJIPITA

_C0 ABC _Cが連続しているNULLCODE※例外あり
_C0 DFG
_M 0xC0DEC0DE 0xC0DEC0DE

_C0 ABC
_M 0xCF000000 0x00000000
_C0 DFG
_M 0xC0DEC0DE 0xC0DEC0DE

_C0 ABC _AR未変換のcwccheat(_L)が混ざっている,_M以外は無視されるのでコード無しになる
_L 0xCCCCCCCC 0xCCCCCCCC
_C0 DFG
_M 0xC0DEC0DE 0xC0DEC0DE

_C0 ABC
_M 0x(AR変換済コード) 0x(AR変換済コード)
_C0 DFG
_M 0xC0DEC0DE 0xC0DEC0DE

_S ULJS-00374
_G CHIKYUU BOUEIGUN 2 PORTABLE
_S ULJS-00374
_G CHIKYUU BOUEIGUN 2 PORTABLE

_S ULJS-00374
_G CHIKYUU BOUEIGUN 2 PORTABLE
_S ULJS-00374
_G CHIKYUU BOUEIGUN 2 PORTABLE_1

※例外,下のようにCF~1になっているものは一括コメントとして処理されるため修正は不要です。直さなくてもフリーズしません
CF~0やCF~2の場合当然フリーズします。
_C0 コメントCF~1 2は_Mより下の_Cの個数
_M 0xCF000001 0x00000002
_C0 BBBB
_C0 CCCC

#POPS(ゲームアーカイブス)変換
TEMPARのやり方とほぼ同じです、BLOGにもまとめてありますがだいた_C0たすぐらいしかやることはないです。

//ARMAX2UIの入力バグ一欄、これらの操作をやるとDBが破壊される可能性有り

名前を目一杯入力し、コード行を075(118行)以上にして保存する。次回起動時DBがおかしくなる。下のDB構造が名前+コード内容が1バイトで表現しきれなくなるのが原因。外人がMAX2リリース初期に報告済みだが未だに改善されることなく、ぶっこわれる。
公式配信のサモンナイト3の"ブキ x99"でも発生したらしい。

L+下でなぜか128行以降スクロールでき、ABCDEFのとこできーをガチャガチャするとフリーズしてします。

地域アメリカ/ヨーロッパにして新規ゲーム"ア"追加するとフリーズ

地域;アメリカにして"1"で追加するとアメリカDBと日本dbが2重になって表示される

//AR.BIN対応状況 ◎はPAPARX(on/offとかのフラグ情報)対応

bin読み込みbin保存BINをtxt化PAPARX01(コードフラグ)対応
ACTIONREPLAYTOOLBATTERY(PSP)X
ACTIONREPLAYMAX(PSP)XXX
ACTIONREPLAYMAX2(PSP)X
PLAYARTS CODEMANAGER(java)XXX
DATEL'S CODE SITE(javascript)XXX
raing3's tempar(PSP)XX
raing3's psputilities(java)X
raing3's pspar generator(PHP)XXX
raing3's ar.exe(C)XX
raing3's PSPARconver(PSP)XX
CDEMOD(VB.net) △(実行フラグのみ対応)

#おまけARバイナリ構成,VB用NETA対応SRC

//バイナリヘッダ部
ファイルヘッダ、28byte固定役割構成
4bytePAPARXの各ブロック長の2倍32bitリトルエンディアン
8bytePSPARC01の文字ASCIIX8
4byte0xC~0x1Bまで※ハッシュ32bitリトルエンディアン
4byteコードブロック全体(0x1C~コード最後まで)のハッシュ※32bitリトルエンディアン
4byteコードブロック全体のサイズ=ファイル全体-2832bitリトルエンディアン
4bytePAPARX01の各ブロックのハッシュの合計(HASH_HIDDEN+HASH_TOGGLE+HASH_FOLDER)32bitリトルエンディアン
//コードブロック構成

コードヘッダ役割構成
可変長(=コード行数*8)アドレス/値のセットが行数分続く32bitリトルエンディアンX?
2byte次のコードブロックへのオフセット1/4,最後の場合016bitリトルエンディアン
2byte前のコードブロックへのオフセット1/416bitリトルエンディアン
1byteコードヘッダ開始箇所からコード名ヘッダへのオフセット8bit
2byteブロック内のコード数,プレイアーツではなぜか1byteになってるので255以上表示できない16bitリトルエンディアン
10byteゲームIDASCIIX10
1byteNULLNULL
可変長ゲーム名ASCIIX?
可変長(1~4byte)ゲーム名のNULLバイトアラインNULLX?
1byteコード名ヘッダ開始,コード行数8bit
1byteコード名の長さ+18bit
1byteコード内容のへのオフセット1/48bit
1byte次コード名ヘッダのへのオフセット1/4、最後の場合08bit
可変長コード名ASCII*コード名の長さ
可変長(1~4byte)コード名のNULLバイトアラインNULLX?
※コード行数の構造上限界は コード名の長さ4の倍数化(※1)+ヘッダ長4+8Xコード行数<=1020
コード行数<=(1016-コード名の長さ4の倍数化)÷8

もしくは
コード名1~7文字の場合(ア,アイ、アイウ,アイウエ,アイウエオ,アイウエオカ,アイウエオカキ)
126行
コード名8k~8k+7文字の場合(0<=k<=7,最大半角58なので)
126-k行
AR入力制限
8X許容コード行数+4+(コード名の長さ+1)<=4X255(1BYTEの最大の数)

許容コード行数<=127-(コード名の長さ+1)÷8

サモンナイト3の"ブキ x99"は7なので4の倍数化すると8なのでコード行は126行以下にしないとだめだということになる
※1;コード名の長さ自体が4の倍数の場合は+4します

PAPARX01フラグ
Image Hosted by ImageShack.us
Image Hosted by ImageShack.us
Image Hosted by ImageShack.us
PAPAR01ヘッダ内容構成
8bytePAPARX01の署名ASCIIX8
4byteNULL!?NULL
4bytePAPARX01各フラグの長さ(以下paplen),ARMAX2のみ新規コード追加用にダミーが1byte追加されている32bitリトルエンディアン
paplen隠し状態のフラグ,bool =1 でON,bool=0 でOFFbyte*paplen
paplen_2コード実行状態のフラグ,bool =1 でOFF,bool=0 でONbyte*paplen
paplen_3隠しフォルダのフラグ,bool =1 でON,bool=0 でOFFbyte*paplen
アーマードコアの例だと
8BIT(0xFF);11111111
2bit~8bitまでONだから最初の1bit以外消えて
8BIT(0x01);00000001

同じように次の8個のコードが0xFFから2bit目の0x2がなくなって0xFD
※ARMAX2だと水色の新規コードダミーが余計に追加されているが、TOOLBATTERY版では存在しないので ARMAX2とTOOLBATTERYのフラグPAPARX01の互換性がない

※チェックサムハッシュ計算式


二種類ありますがどちらでも結果はかわらないです、バイナリの数値加算後,
PLAYARTS鶴:合計値が奇数なら+0x20000000しその後右に1bitシフト,特定範囲でこれをくりかえす。最後に合計値と0x17072008の排他的論理和を計算する
REALASM;1bitシフトし合計値が奇数ならさらに0x10000000との論理和を計算する,特定範囲でこれをくりかえす。最後に合計値と0x17072008の排他的論理和を計算する
//例 範囲4BYTE,バイナリの数値が下の場合
01 02 03 04
00 + 01 =0x00000001 最初のバイナリ加算、最初の合計値
0x00000001 >>1 =0x00000000 合計値奇数なので論理和
0x00000000 | 0x1000000=0x10000000
0x10000000 + 02 = 0x10000002 2つめのバイナリ加算、2つめの合計値
0x10000002 >>1 =0x08000001 合計値偶数なのでそのまま
0x08000001 + 03 = 0x08000004 3つめのバイナリ加算、3つめの合計値
0x08000004 >>1 = 0x04000002 合計値偶数なのでそのまま
0x04000002 + 04 = 0x04000006 4つめのバイナリ加算、4つめの合計値
0x04000006 >>1 = 0x02000003 合計値偶数なのでそのまま,最後の合計値
0x02000003 $ 0x17072008 = 0x1507200B ひっくり返してバイナリ並びが 0B 20 07 15

HP(゚∀゚) > KAIZO(´∀`) > KAISEKI(^w^)
  プロフィール  PR:無料HP  合宿免許 二輪  Webデザイン 学校  WPサスペンション  中古ホイール 沖縄  タイヤ エリシオン 新品  自動車整備 専門  IKD  特殊免許 取得  水晶  宮城 合宿免許  音楽 専門学校 福岡  タイヤ 取付 神戸市  中古マンションをリノベする