探検
PS1 改造コード総合
2011/03/26(土) 12:01:18.42ID:PKtKa1C6
今更ですが、一応携帯で出来るようになったので…。
2017/03/11(土) 20:22:32.62ID:miuDGmSY
PSのチートの改造で使われているPARコードの仕組みについて
より詳しいことが知り焚けば「PARコード 解説」で検索してみるといいよ
30コードってのは1バイト=8ビット(最大FF=255まで)の領域の数値を改造するもので
よってコードのアドレスに付け足された数値は常に「00FF」とか前二桁の部分はゼロになってるはず
30コードだとアドレスは1バイトずつ並んでても隣のアドレス値と重ならない事になる
たとえばこういう30コードがあったとすると
> 30122108 0063
これの後ろ側の二桁(1バイト=8ビット)分の「63」の部分だけが30コードにおいては有効となる
前の二桁についてはあくまで無効なので気にせず完全スルーしてしまって構わない
80コードってのは2バイト=16ビット(最大FFFF=65535まで)の領域の数値を改造するもので
よってコードのアドレスに付け足された数値は4桁で最大FFFFまで改造可能
だがこれだと1バイトずつアドレスをズラしてだと前二桁分が前のアドレスの数値部分と重なってしまい
バグや誤作動の原因になるので、この場合は必ず各コードのアドレス値の間を必ず2バイト以上ずつズラしてやらないと駄目
より詳しいことが知り焚けば「PARコード 解説」で検索してみるといいよ
30コードってのは1バイト=8ビット(最大FF=255まで)の領域の数値を改造するもので
よってコードのアドレスに付け足された数値は常に「00FF」とか前二桁の部分はゼロになってるはず
30コードだとアドレスは1バイトずつ並んでても隣のアドレス値と重ならない事になる
たとえばこういう30コードがあったとすると
> 30122108 0063
これの後ろ側の二桁(1バイト=8ビット)分の「63」の部分だけが30コードにおいては有効となる
前の二桁についてはあくまで無効なので気にせず完全スルーしてしまって構わない
80コードってのは2バイト=16ビット(最大FFFF=65535まで)の領域の数値を改造するもので
よってコードのアドレスに付け足された数値は4桁で最大FFFFまで改造可能
だがこれだと1バイトずつアドレスをズラしてだと前二桁分が前のアドレスの数値部分と重なってしまい
バグや誤作動の原因になるので、この場合は必ず各コードのアドレス値の間を必ず2バイト以上ずつズラしてやらないと駄目
2017/03/11(土) 20:29:21.13ID:+YKb3vJe
ただし「80コード」までだと2バイト(16ビット分)で最大FFFFまでという事で
10進数換算だと最大「65535」までしか改造できなくなってしまう
そこで応用を働かせてやって、2バイト分アドレスをズラして、2コードを連続して続けてやることで
FFFF+FFFFという風にやることで疑似的に32ビット最大「FFFFFFFF」=4294967295まで改造してやることが可能となる
つづき
たとえば「資金のコード」なんかでゴールドのMAX値が9999万9999とかの場合
コードが必ず2バイトずつで連続で続いているのはこれを利用して、
2バイト分の範囲しか改造できない80コードを連続で繋げてやることで
32ビットの範囲(FFFF+FFFF)を「疑似的に数値固定してやる」仕組みになっているわけだ
>>323のこのコードとかはこのパターンに当てはまる
"GP (MAX_9999999=98967F)"
80122028 967F
8012202A 0098
まぁこれの場合は3バイト=24ビット分の範囲しか改造しないので
2バイト(80コード)+1バイト(30コード)ということで
80122028 967F
3012202A 0098
こうして繋げてやってもいいと思うけどね
これの応用で例えば>>328のコードでこういうコードがあるけど
> ■敵 技出せない
> 8008C7E0 FFFF
> 8008C7E2 FFFF
> 8008C7E4 FFFF
> 8008C7E6 FFFF
> 8008C7E8 FFFF
この場合には2バイト(16ビット)分のコードを5つ連続させ並べてやることで
5バイト=16ビット×5=80ビットということで、合計80ビット分の範囲の数値を
疑似的に1つのコードとして改造していることになる
他にもD0コードとか色々な種類の命令パターンがあったりするけど、
まぁ一般レベルっていうか大方の人は小難しく考えずとも
PARコヒードにおける80コードと30コードの命令パターンの違いだけ頭に入れておけば大抵は大丈夫だと思う
10進数換算だと最大「65535」までしか改造できなくなってしまう
そこで応用を働かせてやって、2バイト分アドレスをズラして、2コードを連続して続けてやることで
FFFF+FFFFという風にやることで疑似的に32ビット最大「FFFFFFFF」=4294967295まで改造してやることが可能となる
つづき
たとえば「資金のコード」なんかでゴールドのMAX値が9999万9999とかの場合
コードが必ず2バイトずつで連続で続いているのはこれを利用して、
2バイト分の範囲しか改造できない80コードを連続で繋げてやることで
32ビットの範囲(FFFF+FFFF)を「疑似的に数値固定してやる」仕組みになっているわけだ
>>323のこのコードとかはこのパターンに当てはまる
"GP (MAX_9999999=98967F)"
80122028 967F
8012202A 0098
まぁこれの場合は3バイト=24ビット分の範囲しか改造しないので
2バイト(80コード)+1バイト(30コード)ということで
80122028 967F
3012202A 0098
こうして繋げてやってもいいと思うけどね
これの応用で例えば>>328のコードでこういうコードがあるけど
> ■敵 技出せない
> 8008C7E0 FFFF
> 8008C7E2 FFFF
> 8008C7E4 FFFF
> 8008C7E6 FFFF
> 8008C7E8 FFFF
この場合には2バイト(16ビット)分のコードを5つ連続させ並べてやることで
5バイト=16ビット×5=80ビットということで、合計80ビット分の範囲の数値を
疑似的に1つのコードとして改造していることになる
他にもD0コードとか色々な種類の命令パターンがあったりするけど、
まぁ一般レベルっていうか大方の人は小難しく考えずとも
PARコヒードにおける80コードと30コードの命令パターンの違いだけ頭に入れておけば大抵は大丈夫だと思う
レスを投稿する
ニュース
- 次期戦闘機に「烈風」検討 防衛省、旧海軍の名称使用 | 共同通信 [少考さん★]
- 【芸能】『不倫疑惑』 永野芽郁がアンバサダーを務める世界的ブランド・プラダがコメント 「事実確認中です」 [冬月記者★]
- 「水道水が飲める国」は、世界でたった9か国だった [お断り★]
- 【競馬】日本の3冠牝馬・リバティアイランド、予後不良で安楽死… 遠征先の香港G1で悲劇 レース中に左前脚を故障★2 [冬月記者★]
- 【名古屋】男風呂の脱衣所で…7歳女の子の裸を撮影した現行犯で32歳会社員の男逮捕 父親が発見し従業員と取り押さえる [シャチ★]
- 【芸能】のん 今夜21時、11年ぶり民放ドラマ出演! 日曜劇場『キャスター』に登場 ファン「この日を待ってた」「おかえりなさい」 [冬月記者★]
- 【実況】博衣こよりのえちえちロックマンX12🧪
- お前らを一撃で倒せるようになりたい
- 彼女出来るやつって凄いな
- ▶ホロライブ
- 【悲報】日本人の98.6%、ケロッグコーンフロスティのトラみたいなキャラの名前を答えられない [731544683]
- 【GW暇な奴来い】安価で指定されたものを全力で探してうpするスレ