海外版パーフェクトダーク必須コード(PAR3用) PAR3用必須コードは長くて面倒ですが (Ver3.30専用が使えないので仕方が無いですが・・・) 一応、どんな流れなのかhtmlに書きます 02.06.02に某所の為に書いたhtmlです。 どのソフトでもアドレスが00000204から始まる様です 何のプログラムルーチンなのか分かりませんが ここのプログラムの流れを変えてやれば コードが使えるようになるみたいです 命令を書きますが 格納方法がビッグエンディアンなので リトル(PS.PS2など)に慣れてる人は分かりづらいかも・・・ まず、F1でプログラムを1回だけ書換えます 各命令の細かい説明はこちら F1000204 FFE427BD addiu sp,sp,$ffe4 F1000208 0014AFA8 sw t0,$0014(sp) F100020C 0018AFA9 sw t1,$0018(sp) F1000210 A05F3C1A lui k0,$a05f F1000214 AE00375A ori k0,k0,$ae00 F1000218 A07C3C08 lui t0,$a07c F100021C 5C003508 ori t0,t0,$5c00 F1000220 0040241B addiu k1,zero,$0040 F1000224 00008D09 lw t1,$0000(t0) F1000228 FFFF237B addi k1,k1,$ffff F100022C 0000AF49 sw t1,$0000(k0) F1000230 00042108 addi t0,t0,$0004 F1000234 FFFB1F60 bgtz k1,$80000224 F1000238 0004235A addi k0,k0,$0004 F100023C 00188FA9 lw t1,$0018(sp) F1000240 00148FA8 lw t0,$0014(sp) F1000244 001C27BD addiu sp,sp,$001c F1000248 A05F3C1A lui k0,$a05f F100024C AE00375A ori k0,k0,$ae00 F1000250 00080340 jr k0 F1000254 00000000 nop 大まかな流れは A07C5C00のアドレスから 1000バイト分の数値をt1レジスタにロードし A05FAE00のアドレスから 1000バイト先のアドレスまで そのロードした数値を書き込んでいます 簡単に言えば、アドレスA07C5C00から 1000バイト分をコピーしていると言う事です その後、00000250のアドレスの命令で プログラム処理をA05FAE00に飛ばしています 何故飛ばすのか理由は分かりません(汗) A07C5C00と同じ数値が書き込まれているから そこに飛ばしても良いような気もしますが それでは何か不具合があるんでしょうか・・・ そして、プログラムがある程度進んだら コードが使えるようになり 81000204 A05F3C1A lui k0,$a05f 81000208 AE00375A ori k0,k0,$ae00 8100020C 00080340 jr k0 81000210 00000000 nop のコードが反映されるようです あくまでも予想ですが 00000204からのプログラムは ゲーム中、常に通過していると思われます 通過するたびにA05FAE00からのプログラムを通過し コードが使用出来る状態にしている可能性があります 海外版ソフトの00000204のアドレスの数値と 同じ数値が存在する個所を日本版で探し 同じように命令を埋め込めば PAR3でも必須コードが作れるかも知れませんが 日本版でもA05FAE00やA07C5C00 のエリアが海外版を同じで無い場合は また解析が難しくなります。