裏CHUNSOFT > ゲーム解析入門 > 4.様々なアドレスの指定方法
4.様々なアドレスの指定方法
メモリの値をアドレスを見なして、そのアドレスの値を読み込むという命令が沢山あります。 少しややこしいですが、()は括弧内のアドレスの値を2バイト読み込み、[]は3バイト読み込むと覚えて下さい。
例えば、特殊地形の出現率では次の命令が出て来ました。
035594 B1 A9 LDA ($A9)+"Y" ; "A" = {{A9}(2バイト読み込み)+"Y"}
これは、アドレス「$A9〜$AAの値に"Y"を加えたもの」の値を読み込むということです。 先に$A9〜$AAには特殊地形の出現率のアドレスを入れておき、"Y"に00〜7Fの乱数を入れて、出現率の表から地形を選択するようになっているのです。
続いて、店の出現率では次の命令が出て来ました。
0393DF 7C 25 94 JMP ($9425+"X") ; {9425+"X"} にジャンプ
これは、アドレス「$039425+"X"」の値のアドレスにジャンプするということです。 $039425〜$03942Cにはアドレス表が入っていて、"X"には00,02,04,06のいずれかが入ります。 つまり、4つのアドレス表の中から1つを選択するということです。
2010年8月8日更新