フラグ付きアイテムのおすそわけ

フラグ付きアイテムのおすそわけ

アダン
Created 2y ago • Updated 8mo ago

1,動的RAM始点特定

ふしぎなカードの領域は、動的RAMと呼ばれる領域に含まれていて、リセットする毎にアドレスの位置が変化してしまう領域である

今回は正確な位置にデータを書き込む必要があるので、以下のコードを実行して動的RAMの始点を特定する

電卓リミッター解除

124,286,369×1,250,149,543

動的RAM始点特定コード

15425,05156,9946,6247

17536,11389,5283,0983

21082,69860,1843,9175

20913,81361,5824,0775

17367,22774,4780,2887

16325,77033,0957,4151

14469,63147,3411,6869

ボックス表示

2,201,724,518,571

適当なポケモンにマーキング→決定

これでマーキングしたポケモンの親ID

動的RAM始点の下位2バイトが10進数で表示される

この画像の例では、動的RAM始点の下位2バイトは0x19E4(6628)となる

動的RAM始点の上位2バイトは表示されないが、こちらは0x0227で固定されているので

表示された親IDを16進数に直し、そこに0x02270000を加算したものが動的RAMの始点アドレスとなる

この始点アドレスにさらに0x0214を加算したものが“ベースアドレス”というものであり、以降は”P“と表記する

(上の画像の例では、ベースアドレスは0x022719E4+0x0214=0x02271BF8となる)

2,データ書き込み

HGSS用はこちら

ベースアドレス(“P”)を特定した後、以下のデータを書き込む(要電卓リミッター解除)

電卓コードは【0x2XXYYYYYYYY0007】という形になり、それを10進数に直して入力する

(XXには“データ”の値を、YYYYYYYYには“書き込む位置”を代入)

書き込む位置

データ

P+0x0048

0x01

P+0xA7F0

0x20

P+0xA7F1

0x83

P+0xA7F2

0xB8

P+0xA7F3

0xED

P+0xB01C

下記おくりものリスト参照

P+0xB169

0xFF

P+0xB16C

任意の1バイトの値(同じROMに複数の贈り物を贈る場合、贈り物ごとに0x01、0x02、0x03…と別の値にする必要がある)

P+0xB16E

0x1D

P+0xB364

0xFF

・おくりものリスト

データ

アイテム

0x07

マナフィのタマゴ

0x08

メンバーズカード

0x09

オーキドのてがみ

0x0A

てんかいのふえ

このリストに載っているデータ以外の値を入力すると、配達員から受け取る際にフリーズするようになるので注意

その場合、該当のふしぎなカードを処分することでフリーズを回避できる

入力後、パルパークから帰還してレポートを書く

3,おすそわけ

レポート後リセットして「ふしぎなおくりもの」を選択すると、「カードをみる」という項目が追加されている

(カードを見ると、色々表記がバグってしまっているが特に悪影響はない)

カードの欄から「おすそわけ」を選択し、もう一つのROMで「ともだちからうけとる」を選択

Win

任意アイテム入手(フラグ無し)

書き込む位置

データ

P+0x0048

0x01

P+0xA7F0

0x20

P+0xA7F1

0x83

P+0xA7F2

0xB8

P+0xA7F3

0xED

P+0xB01C

0x03

P+0xB020

アイテム番号の下位1バイト

P+0xB021

アイテム番号の上位1バイト

P+0xB169

0xFF

P+0xB16C

任意の1バイトの値(同じROMに複数の贈り物を贈る場合、贈り物ごとに0x01、0x02、0x03…と別の値にする必要がある)

P+0xB16E

0x1D

P+0xB364

0xFF

What's your name?
Share your name to let the document owner know who's joining in.
Are you a Craft user? Log in
React
Comment
Copy