※このページに書かれている情報は旧版のものです。最新版ではデータの書き込み場所などが変わっております。
参考資料
ポケモン金銀にバイナリエディタを移植したお話 - flag3833753(リンク切れ)
ポケモンクリスタルにおけるバイナリエディタ - flag3833753(リンク切れ)
ポケットモンスター
金・銀 バイナリエディタ - flag3
ポケットモンスター
クリスタル バイナリエディタ - flag3
2023/12/11更新!コードの見直しにより修正用メールが1通になりました。
最後に読んだメールからの任意コード実行を可能にした状態で、ボックスの名前を下記のものに書き換える。
(金銀は図鑑モード06hを利用してCF40hへ、クリスタルは図鑑モード0ChでD021hに飛ぶことを想定する)
ボックス1の「がヲ」とボックス2の「ぜナ」の部分が簡易型バイナリエディタの開始位置(この場合はAA94h)となる。
これはSRAM03hのオープンと合わせることで、バイナリエディタの本体をボックス9に書き込むものとなる。
追記:簡易型バイナリエディタの書き込み開始位置は03h:AFDEh(ボックス9の後ろの未使用領域)にした方がいいかもしれません。
具体的にはボックス1の「ヲ」を「ョ」(AFh)、ボックス2の「ナ」を「ん」(DEh)にします。
入力不可能な文字がある(「わたし」も1文字)ため、下記メールで修正を行う。
文末の「だっ」は「てパま」(jp CF40)を使用する場合に対応するもの。
入力不可能な文字がある(「ばん どうろ」も1文字)ため、下記メールで修正を行う。
ボックスの入力が終わったら、下記のメールを読んでコードを実行すると、簡易型バイナリエディタが起動する。
2023/12/11更新!バグ図鑑モード・分類違いわざマシンの両方に対応しました。
左4桁にアドレスが表示され、右2桁が数値となる。
専用のフォントを呼び出せていない関係で、ABCの3文字が文字化けしている。
起動のたびにメールを読み直す必要がある点に注意。
| 数値(文字) | バッグ | 図鑑 |
|---|---|---|
| A | ■ | g |
| B | ▲ | 青色の線 |
| C | 携帯マーク | 携帯マーク |
| キー | 操作 |
|---|---|
| A | 指すアドレスを+01h |
| B | 指すアドレスを-01h |
| 下 | 指しているアドレスの内容を+01h |
| 上 | 指しているアドレスの内容を-01h |
| 左 | 指しているアドレスの内容を+10h |
| 右 | 指しているアドレスの内容を-10h |
| START | 簡易型バイナリエディタを終了 |
この簡易型バイナリエディタを使って、ボックス9の中にバイナリエディタのコードを打ち込んでいく。
開始地点であるAA94hから書き込むと預け数が異常な数になってしまうため、
を入れ、AAB4から書き込み始めるとよさそう。
AA95~AAB2は、00hで埋めておくと見た目は誰もいないのにボックスがいっぱいという状況になるが、ボックス整理で無理やり上限突破をすることもできてしまうため、不安なら01h(フシギダネ)やFDh(タマゴ)などで埋めておくのが無難。一応、344バイトのデータはポケモン11匹分で収まるようになっている。
紹介するのはこちら。
入力ミスがあった場合、ボックス7~9のデータが消し飛ぶ可能性がある(逆にボックス1~6が被害にあう可能性もなくはないけれど…)ため、余裕があるならボックス6にバイナリエディタのデータを退避させておくとリカバリーが容易になる。
現在ボックスの番号が金銀ではD8AFh、クリスタルではDB65hに記録されており、ここを書き換えてからレポートを書くことでボックスをコピーすることができる。
具体的には以下の手順となる。
以下旧版。こちらはバイナリエディタの記述部分を一時領域経由でコピーするコードになる。
SRAMバンクが違うため、コピーはWRAMを経由してメール2通に分ける。
実行時に使うものと一時コピー先は同じなので、退避終了後に金銀では「てぬわ」、クリスタルでは「てあめ」でコードを実行してテストしてしまうのもいいだろう。
※flag3式バイナリエディタ(金銀版)の場合はアドレスDCC6hから始めているので、アドレスの指定を「にわ」にすることを推奨。
参考資料(最新版の情報あり)
簡単!?バイナリエディタ導入!
ポケモン第二世代任意コード実行講座 Part.08【VOICEROID紲星あかり】
本体のコードは長くなるので最後に記載。なお、簡易型バイナリエディタは上記の動画とはプロセスの違うものである点に注意。
SRAM内にあるままだと実行時に不便なため、WRAM内の適当なアドレスに内容をコピーして使用する。
コピー先として使用するDCC7h(金銀)、D2B1h(クリスタル)は戦闘時に敵パーティの中身が入る領域。非戦闘時には自由に利用できる。
※AAB4hからのコピーなので、AA94hからコピーする場合は「ガヲぜえ」の「え」を「ナ」にする。
AFDEhからコピーする場合は「がヲぜえ」を「がョぜん」にする。(「ョ」は小文字)
メールでの実行が確認出来たら簡易型バイナリエディタは不要になるので、ボックスからの実行にするといちいちメールを読む必要がなくなり、他のメール使用コードを持ち運びやすくなる…かも。
※AFDEhからコピーする場合はボックス1の「がヲぜえ」を「がョぜん」にする。(「ョ」は小文字)
金銀版の場合は以下のニョロボンを作って手持ち3匹目に置くと、わざマシン17から一発でバイナリエディタに飛べる。
経験値や努力値にコードを書きこんでいる関係上、戦闘で経験値が入ると崩壊することに注意。
※AFDEhからコピーする場合はIDの部分をDE
AF(57007)にする。
| 内容 | 数値 | ニモニック | |
|---|---|---|---|
| 種族 | ニョロボン | 3E | ld a,03 |
| 持ち物 | ひかりのこな | 03 | |
| 技1 | ころがる | CD | call 309D |
| 技2 | いわなだれ | 9D | |
| 技3 | ちょうおんぱ | 30 | |
| 技4 | たいあたり | 21 | ld hl,AAB4 |
| ID | 46250 | B4 | |
| AA | |||
| 経験値 | 90113 (Lv.46) |
01 | ld bc,0160 |
| 60 | |||
| 01 | |||
| H努力値 | 4551 (H152) |
11 | ld de,DCC7 |
| C7 | |||
| A努力値 | 56525 (A121) |
DC | |
| CD | call 30D6 | ||
| B努力値 | 54832 (B125) |
D6 | |
| 30 | |||
| S努力値 | 52653 (S107) |
CD | call 30AD |
| AD | |||
| C努力値 | 12483 (C93/D111) |
30 | |
| C3 | jp DCC7 | ||
| AB個体値 | A12/B7 | C7 | |
| SC個体値 | S13/C12 | DC |
クリスタル版の場合は分類違いわざマシンの実行位置に以下のコードを書き込むのも有効。(21バイト)
※AFDEhからコピーする場合は「B4
AA」を「DE AF」にする。
3E 03 CD 9D 2F 21B4 AA11 B1 D2 01 60 01 D5 CD F2 2F C3 AD
2F
; ld a,03→call 2F9D→ld hl,AAB4→ld
de,D2B1→ld bc,0160→push de→call 2FF2→jp 2FAD
追記:クリスタル版にて以下の内容のメールを作成することにより、読むだけでバイナリエディタを起動可能になる。
メールのデータ構造も参考に、バイナリエディタでデータを書き換えるといい。
メール表示の仕様上、差出人の1文字目は50hに上書きされてしまう点に注意。
※AFDEhからコピーする場合は「B4
AA」を「DE AF」にする。
4F 15 08 05 C9 00 3E 03 CD 9D 2F
21B4 AA01 60 01
11 B1 D2 CD F2 2F CD AD 2F CD 8A 05 CD B1 D2 37
50 11 34 01 C9
| 1行目 | 数値 | ニモニック | 2行目 | 数値 | ニモニック | 差出人名 | 数値 | ニモニック |
|---|---|---|---|---|---|---|---|---|
| 1文字目 | 4F | 17文字目 | 11 | ld de,D2B1 | 1文字目 | 50 | ld d,b | |
| 2文字目 | 15 | モバイル制御 | 18文字目 | B1 | 2文字目 | 11 | ld de,0134 | |
| 3文字目 | 08 | 数値出力 | 19文字目 | D2 | 3文字目 | 34 | ||
| 4文字目 | 05 | 5桁表示 | 20文字目 | CD | call 2FF2 | 4文字目 | 01 | |
| 5文字目 | C9 | 21文字目 | F2 | 5文字目 | C9 | ret | ||
| 6文字目 | 00 | (CD46~実行) | 22文字目 | 2F | ||||
| 7文字目 | 3E | ld a,03 | 23文字目 | CD | call 2FAD | |||
| 8文字目 | 03 | 24文字目 | AD | |||||
| 9文字目 | CD | call 2F9D | 25文字目 | 2F | ||||
| 10文字目 | 9D | 26文字目 | CD | call 058A | ||||
| 11文字目 | 2F | 27文字目 | 8A | |||||
| 12文字目 | 21 | ld hl,AAB4 | 28文字目 | 05 | ||||
| 13文字目 | B4 | 29文字目 | CD | call D2B1 | ||||
| 14文字目 | AA | 30文字目 | B1 | |||||
| 15文字目 | 01 | ld bc,0160 | 31文字目 | D2 | ||||
| 16文字目 | 60 | 32文字目 | 37 | scf | ||||
| (改行部) | 01 |
4F 15 08 05 C9の一連の流れでCD46~の数値がE6 C5 05 C9(and a,C5→dec
b→ret)となるため、モバイルスクリプト00(CD46hを実行)はすぐに戻ってきて以後の文字列をコードとして実行しだす。
37(scf:キャリーフラグを立てる)及び11 34 01(ld
de,0134:deレジスタで示すアドレス内の数値が50hになるようにする)は起動したバイナリエディタを正常に終了させてメール画面(一応)に戻るために必要なものとなる。
参考:ポケットモンスター クリスタル IDくじ調整(0x1500制御コード任意コード実行) - flag3
左から順に、
| キー | 操作 |
|---|---|
| 上 | アドレスを-01h |
| 下 | アドレスを+01h |
| 左 | アドレスを-10h |
| 右 | アドレスを+10h |
| SELECT+上 | アドレスを+100h |
| SELECT+下 | アドレスを-100h |
| SELECT+左 | アドレスを-1000h |
| SELECT+右 | アドレスを+1000h |
| START+上 | バンクを+01h |
| START+下 | バンクを-01h |
| START+左 | バンクを-10h |
| START+右 | バンクを+10h |
| A | 書き込みモードに移行 |
| B | バイナリエディタを終了 |
| START+A | カーソル位置のプログラム実行 |
| キー | 操作 |
|---|---|
| 上 | 数値を+01h |
| 下 | 数値を-01h |
| 左 | 数値を-10h |
| 右 | 数値を+10h |
| SELECT | 数値を00hにする |
| A | 数値を書き込む |
| B | 書き込みをキャンセル |
簡易型バイナリエディタでは1バイトずつしかアドレスを表示できなかったが、豪華版では画面全体を使って16バイト分のアドレスを表示できるようになっている。
他にも桁ごとの増減、ROMバンク切り替え、プログラムの実行などの高度な機能が実装されている。
ちなみにvRAMおよびwRAMのバンク切り替え機能は付いていないが、これはどちらも必要になる状況が非常に限られている上、実装に非常に手間と容量がかかるためである。
このバイナリエディタには開始アドレスとROMバンクの情報を記録する機能があるが、この情報は「おかあさん」の名前データ(未使用)に書き込まれている。(金銀ではD1BBh~、クリスタルではD494h~)
これで不具合が起こるのは意図的に文字列49h(通常なら「おかあさん」と表示される)を表示したときぐらいである。
仕様上、sRAM内のデータを弄ろうとすると書き込みモード開始時に初期値が現在値と関係なくFFhになってしまうことに(最初は書き込み前の値が表示されることを含めて)注意。
cd a8 34 11 b2 4e 21 00 90 01 23 3e cd 76 0e cd
b4 0e cd 87 0d cd 95 0d cd b8 33 f0 9f f5 21 bb
d1 2a 47 2a 4f 56 3e ed ea e2 c3 c5 7a cd 9d 30
d7 21 a0 c3 cd 26 dd d5 11 14 00 19 d1 1e 10 78
cd 26 dd 79 cd 26 dd 23 0a cd 26 dd 03 d5 11 0d
00 19 d1 1d 20 e9 c1 cd ad 30 cd 37 dd 18 cc c5
0e 02 47 cb 30 3e 0f a0 c6 f6 22 0d 20 f5 c1 c9
c5 cd f4 36 c1 67 f0 aa cb 5f 20 1e cb 57 20 30
cb 7c 20 3e cb 74 20 3c cb 6c 20 3a cb 64 20 3b
cb 4c 20 3e cb 44 20 6c 18 d6 cb 7c 20 4b cb 74
20 49 cb 6c 20 47 cb 64 20 47 cb 44 20 30 18 e0
cb 7c 20 42 cb 74 20 40 cb 6c 20 3e cb 64 20 3f
18 ce 03 c9 0b c9 21 f0 ff 18 03 21 10 00 09 44
4d c9 21 bb d1 78 22 79 22 72 f1 f1 d7 c9 c5 d5
7a 21 02 00 09 cf d1 c1 c9 15 c9 14 c9 3e f0 18
02 3e 10 82 57 c9 05 c9 04 c9 21 00 f0 18 cf 21
00 10 18 ca 03 03 0a 5f 21 e2 c3 3e ec 77 c5 cd
f4 36 c1 cb 7f 20 1a cb 77 20 19 cb 6f 20 19 cb
67 20 19 cb 57 20 1a cb 4f 20 27 cb 47 20 1a 18
dd 1d 18 01 1c 7b 18 0b 3e f0 18 02 3e 10 83 18
01 af 5f 23 cd 26 dd 18 bf 7a cd 9d 30 7b 02 cd
ad 30 3e ed 77 0b 0b c9cd c5 32 11 c0 4d 21 00 90 01 22 3e cd c6 0d cd
c5 0f cd 3b 0e cd 49 0e cd cc 31 f0 9d f5 21 94
d4 2a 47 2a 4f 56 3e ed ea e2 c4 c5 7a cd 9d 2f
d7 21 a0 c4 cd 10 d3 d5 11 14 00 19 d1 1e 10 78
cd 10 d3 79 cd 10 d3 23 0a cd 10 d3 03 d5 11 0d
00 19 d1 1d 20 e9 c1 cd ad 2f cd 21 d3 18 cc c5
0e 02 47 cb 30 3e 0f a0 c6 f6 22 0d 20 f5 c1 c9
c5 cd 1b 35 c1 67 f0 a9 cb 5f 20 1e cb 57 20 30
cb 7c 20 3e cb 74 20 3c cb 6c 20 3a cb 64 20 3b
cb 4c 20 3e cb 44 20 6c 18 d6 cb 7c 20 4b cb 74
20 49 cb 6c 20 47 cb 64 20 47 cb 44 20 30 18 e0
cb 7c 20 42 cb 74 20 40 cb 6c 20 3e cb 64 20 3f
18 ce 03 c9 0b c9 21 f0 ff 18 03 21 10 00 09 44
4d c9 21 94 d4 78 22 79 22 72 f1 f1 d7 c9 c5 d5
7a 21 02 00 09 cf d1 c1 c9 15 c9 14 c9 3e f0 18
02 3e 10 82 57 c9 05 c9 04 c9 21 00 f0 18 cf 21
00 10 18 ca 03 03 0a 5f 21 e2 c4 3e ec 77 c5 cd
1e 35 c1 cb 7f 20 1a cb 77 20 19 cb 6f 20 19 cb
67 20 19 cb 57 20 1a cb 4f 20 27 cb 47 20 1a 18
dd 1d 18 01 1c 7b 18 0b 3e f0 18 02 3e 10 83 18
01 af 5f 23 cd 10 d3 18 bf 7a cd 9d 2f 7b 02 cd
ad 2f 3e ed 77 0b 0b c9表形式でまとめたものは別ページへ。
※このページに書かれているのは旧版のものです。最新版はデータの書き込み場所などが大幅に変わっています。
2023/10/4更新:ROMバンク切り替え機能が追加されました。
こちらは初代のバイナリエディタを金銀に移植する形で作られたもので、操作感覚は初代のものに近い。(十字キーの長押し対応とsRAMバンクの切り替え機能が付いたぐらい)
サイズはTeraman式の半分程度で、手軽に導入できるのが利点。
開始位置の保存機能やROMバンクの切り替え機能はついていない。ROMバンクを切り替えたいときはaレジスタにバンク番号を入れてrst
10を実行することになる。(例:3E xx D7 C9)
ROM及びsRAMバンクナンバーはおかあさんの名前の「あ」の部分に保存するようになっている。(そのため、初期値はB1となる)バグ図鑑モードからの起動だと10h、分類違いわざマシンでの起動だと03hで始まる。
SRAM内にあるままだと実行時に不便なため、WRAM内の適当なアドレスに内容をコピーして使用する。
コピー先として使用するDCC6h~(金銀、DD7Fhまで使用)、D2B1h~(クリスタル、D36Ahまで使用)は戦闘時に敵パーティの中身が入る領域。非戦闘時には自由に利用できる。
金銀版の開始位置がTeraman式と異なることに注意。
※AAB4hからのコピーなので、AA94hからコピーする場合は「ガヲぜえ」の「え」を「ナ」にする。
AFDEhからコピーする場合は「がヲぜえ」を「がョぜん」にする。(「ョ」は小文字)
メールでの実行が確認出来たら簡易型バイナリエディタは不要になるので、ボックスからの実行にするといちいちメールを読む必要がなくなり、他のメール使用コードを持ち運びやすくなる…かも。
※AFDEhからコピーする場合はボックス1の「がヲぜえ」を「がョぜん」にする。(「ョ」は小文字)
金銀版の場合は以下のニョロボンを作って手持ち3匹目に置くと、わざマシン17から一発でバイナリエディタに飛べる。
経験値や努力値にコードを書きこんでいる関係上、戦闘で経験値が入ると崩壊することに注意。
※AFDEhからコピーする場合はIDの部分をDE
AF(57007)にする。
| 内容 | 数値 | ニモニック | |
|---|---|---|---|
| 種族 | ニョロボン | 3E | ld a,03 |
| 持ち物 | ひかりのこな | 03 | |
| 技1 | ころがる | CD | call 309D |
| 技2 | いわなだれ | 9D | |
| 技3 | ちょうおんぱ | 30 | |
| 技4 | たいあたり | 21 | ld hl,AAB4 |
| ID | 46250 | B4 | |
| AA | |||
| 経験値 | 112896 (Lv.49) |
01 | ld bc,00B9 |
| B9 | |||
| 00 | |||
| H努力値 | 4550 (H157) |
11 | ld de,DCC6 |
| C6 | |||
| A努力値 | 56525 (A128) |
DC | |
| CD | call 30D6 | ||
| B努力値 | 54832 (B132) |
D6 | |
| 30 | |||
| S努力値 | 52653 (S114) |
CD | call 30AD |
| AD | |||
| C努力値 | 12483 (C99/D118) |
30 | |
| C3 | jp DCC6 | ||
| AB個体値 | A12/B6 | C6 | |
| SC個体値 | S13/C12 | DC |
クリスタル版の場合は分類違いわざマシンの実行位置に以下のコードを書き込むのも有効。(21バイト)
※AFDEhからコピーする場合は「B4
AA」を「DE AF」にする。
3E 03 CD 9D 2F 21 B4 AA 11 B1 D2 01 B9 00 D5 CD F2 2F C3 AD
2F
; ld a,03→call 2F9D→ld hl,AAB4→ld
de,D2B1→ld bc,00B9→push de→call 2FF2→call 2FAD
左から順に、
| キー | 操作 |
|---|---|
| 上 | アドレスを-01h |
| 下 | アドレスを+01h |
| 左 | アドレスを-10h |
| 右 | アドレスを+10h |
| B+上 | アドレスを-100h |
| B+下 | アドレスを+100h |
| B+左 | アドレスを-1000h |
| B+右 | アドレスを+1000h |
| SELECT+上 | バンクを+01h |
| SELECT+下 | バンクを-01h |
| SELECT+左 | バンクを-10h |
| SELECT+右 | バンクを+10h |
| SELECT+A | カーソル位置のプログラム実行 |
| A+下 | 数値を+01h |
| A+上 | 数値を-01h |
| A+左 | 数値を-10h |
| A+右 | 数値を+10h |
| START | バイナリエディタを終了 |
(金銀)
DCC6:
CD A8 34 11 B2 4E 21 00 90 01
23 3E CD 76 0E CD 87 0D CD 95 0D AF 3C E0 D6 F0
9F F5 21 00 D0 CD 24 DD E5 11 F8 FF 19 E5 D1 21
A9 C3 F0 9F D7 CD 9D 30 CD 72 DD 01 0C 00 36 7C
23 7A CD 72 DD 7B CD 72 DD 36 7F 23 1A CD 72 DD
13 36 7C 09 7C FE C5 20 E5 CD AD 30 3E ED EA 4B
C4 E1 18 C1 CD F4 36 F0 AB 5F 01 01 00 07 38 14
0B 0B 07 38 0F 0E F0 07 38 0A 01 10 00 07 38 04
48 07 38 09 CB 53 28 0F CB 43 28 05 E9 E1 F1 D7
C9 F0 9F 81 E0 9F C9 79 CB 43 20 06 CB 4B 20 0F
09 C9 F5 F0 9F CD 9D 30 F1 86 77 CD AD 30 C9 84
67 C9 F5 CB 37 CD 79 DD F1 E6 0F C6 F6 22 C9(クリスタル)
D2B1:
CD C5 32 11 C0 4D 21 00 90 01 22 3E CD C6 0D
CD 3B 0E CD 49 0E AF 3C E0 D4 F0 9D F5 21 00 D0
CD 0F D3 E5 11 F8 FF 19 E5 D1 21 A9 C4 F0 9D D7
CD 9D 2F CD 5D D3 01 0C 00 36 7C 23 7A CD 5D D3
7B CD 5D D3 36 7F 23 1A CD 5D D3 13 36 7C 09 7C
FE C6 20 E5 CD AD 2F 3E ED EA 4B C5 E1 18 C1 CD
1B 35 F0 A9 5F 01 01 00 07 38 14 0B 0B 07 38 0F
0E F0 07 38 0A 01 10 00 07 38 04 48 07 38 09 CB
53 28 0F CB 43 28 05 E9 E1 F1 D7 C9 F0 9D 81 E0
9D C9 79 CB 43 20 06 CB 4B 20 0F 09 C9 F5 F0 9D
CD 9D 2F F1 86 77 CD AD 2F C9 84 67 C9 F5 CB 37
CD 64 D3 F1 E6 0F C6 F6 22 C9表形式でまとめたものは別ページへ。
参考資料(最新版の情報あり)
簡単!?バイナリエディタ導入!
ポケモン第二世代任意コード実行講座 Part.08【VOICEROID紲星あかり】
動画で解説している方法についての補足。事前にメールとボックス両方からコードを実行できるようにしておく必要がある点に注意。
特にクリスタルは図鑑モード42hから実行しており、図鑑モード0Chには対応していない。図鑑モード42hのセットアップは以下の動画を参考に。
ポケモン第二世代任意コード実行講座 Part.04【VOICEROID紲星あかり】 - YouTube
まずは、以下の内容をボックスに書き込む。これは直接実行するためのものではなく、育て屋と虫取り大会の領域にコピーして使うものとなる。
※には適当な文字を入れておく。
ボックス入力後、以下のメールでコードを実行する。
ぼブグヅえりデの
これにより、※の部分が「わたし」に書き換わる。
ぼヒグヅルろひでデの
これにより、※の部分が「ばん どうろ」に書き換わる。
ボックスの入力が終わったら、今度はこのコードをコピーするメールを作成して実行する。
ボックス1~9の名前を(終端文字を抜いて)育て屋や虫取り大会の領域にコピーするコード
コピーが終わったら、今度はバイナリエディタのメインループ部分を作成する。
ボックス2の末尾は空白でも何も入力しなくてもいい。
ボックス3の末尾は空白でも何も入力しなくてもいい。
バッグからの実行の場合、「へなづ」は不要?
不整合を防ぐために空白で埋めておくべきか。
ボックスの入力が終わったら、以下のメールを読んでからボックス実行する。
ボックスだけでは足りない画面表示部のルーチンを最後に読んだメールに仕込むためのコード。
文頭に「の」が付いているため、メール実行では何も起こらない。
ここまで正しくできていれば、このメールを読んでボックスからの実行を行うことで簡易型バイナリエディタが起動するはず。
指すアドレスの初期位置は金銀だとDCC7h、クリスタルではD2B1hからになる。
| 数値(文字) | バッグ | 図鑑 |
|---|---|---|
| A | ■ | g |
| B | ▲ | 青色の線 |
| C | 携帯マーク | 携帯マーク |
| キー | 操作 |
|---|---|
| 上 | アドレスを-01h |
| 下 | アドレスを+01h |
| 左 | 数値を-10h |
| 右 | 数値を-01h |
| B | 数値を+10h |
| A | 数値を-01h |
| START SERECT |
簡易型バイナリエディタを終了 |
簡易型バイナリエディタが起動出来たら、wRAM内にバイナリエディタ本体のコードを書き込み、金銀では「てぬわ」、クリスタルでは「てあめ」でコードを実行することでバイナリエディタを起動できる。
…が、先に下記のメールを用意しておいた方がいいだろう。(入力中は戦闘を行わないこと!)
Teraman式での入力はwRAM内に直接書き込むが、書いている領域がクリスタルだとセーブされないという事情もあり、完成した時や入力を中断したいときはセーブデータ内に退避させておく必要がある。
そこで、wRAM→ボックス9へのコピー及びその逆を行うコードを用意しておく。動画では03h:AA94hから書き込んでいるが、預け数が異常になってまともに見られなくなるので(他との記述を統一するためにも)03h:AAB4hから書き込み始めることにしておく。
預け数を30匹にしておきたい場合(AAB3hにFFhも入れておく)
今この方法をとる必要はない、旧時代の資料
以下のメールを準備。
がりぜクごぺぽじごぺなむじごデざ
ョべづぜクどたじじどの空空空だっ
どうぐポケット1番目の個数をアドレス下位、2番目の個数をアドレス上位とし、3番目の個数をそのアドレスに書き込むコード。
書き込み後、道具ポケット3番目の個数を255個にし、次のアドレスを指すようにしているため連続で入力できる。
なお、最初に道具ポケット1~3番目の個数を255個にするには以下のコードを使用する。実行前に適当なアイテムを並べておくこと。
がりぜショべづざづざづの空空空空
空空空空空空空空空空空空空空だっ
上記のコードを用いて以下のコードを書き込む。(長いので最後に)
「育て屋爺さんが預かっているポケモン」「育て屋婆さんが預かっているポケモン」「育て屋が預かっているタマゴの中身」「虫取り大会で捕まえたポケモン」
の領域に書き込んでいることに注意。特に育て屋の婆さんに関しては「話しかけたことがあるフラグ」の領域も使用しているため話しかけることすらしてはいけない。虫取り大会も参加するだけでアウト。
書き込み終わったら以下のコードで実行?(ボックス、メールどちらでもおk)
がわひしョオぜマ
ひすまてサん
左から順に、
一度に1バイトずつしか表示されないのは上述のflag3式同様。
| キー | 操作 |
|---|---|
| 上 | アドレスを-01h |
| 下 | アドレスを+01h |
| 左 | アドレスを-10h |
| 右 | アドレスを+10h |
| START | sRAMバンクを+01h |
| SERECT | sRAMバンクを-01h |
| A | 書き込みモードに移行 |
| B | バイナリエディタを終了 |
| キー | 操作 |
|---|---|
| 上 | 数値を+01h |
| 下 | 数値を-01h |
| 左 | 数値を-10h |
| 右 | 数値を+10h |
| SERECT | 数値を00hにする |
| A | 数値を書き込む |
| B | 書き込みをキャンセル |
以降はこれを利用して上述の豪華版バイナリエディタをD2B1hから書き込む。
ちなみにこの簡易型バイナリエディタも最新版では導入方法が変わり、ボックスからデータをコピーする形で作成するようになった。
| 1番目個数 | 2番目個数 | 3番目個数 | アドレス | 値 |
|---|---|---|---|---|
| 138 | 222 | 205 | DE8A | CD |
| 139 | 222 | 178 | DE8B | B2 |
| 140 | 222 | 15 | DE8C | 0F |
| 141 | 222 | 6 | DE8D | 06 |
| 142 | 222 | 208 | DE8E | D0 |
| 143 | 222 | 87 | DE8F | 57 |
| 144 | 222 | 33 | DE90 | 21 |
| 145 | 222 | 70 | DE91 | 46 |
| 146 | 222 | 197 | DE92 | C5 |
| 147 | 222 | 122 | DE93 | 7A |
| 148 | 222 | 205 | DE94 | CD |
| 149 | 222 | 157 | DE95 | 9D |
| 150 | 222 | 47 | DE96 | 2F |
| 151 | 222 | 205 | DE97 | CD |
| 152 | 222 | 73 | DE98 | 49 |
| 153 | 222 | 222 | DE99 | DE |
| 154 | 222 | 35 | DE9A | 23 |
| 155 | 222 | 120 | DE9B | 78 |
| 156 | 222 | 205 | DE9C | CD |
| 157 | 222 | 173 | DE9D | AD |
| 158 | 222 | 222 | DE9E | DE |
| 159 | 222 | 121 | DE9F | 79 |
| 160 | 222 | 205 | DEA0 | CD |
| 161 | 222 | 173 | DEA1 | AD |
| 162 | 222 | 222 | DEA2 | DE |
| 163 | 222 | 35 | DEA3 | 23 |
| 164 | 222 | 10 | DEA4 | 0A |
| 165 | 222 | 205 | DEA5 | CD |
| 166 | 222 | 173 | DEA6 | AD |
| 167 | 222 | 222 | DEA7 | DE |
| 168 | 222 | 205 | DEA8 | CD |
| 169 | 222 | 198 | DEA9 | C6 |
| 170 | 222 | 222 | DEAA | DE |
| 171 | 222 | 24 | DEAB | 18 |
| 172 | 222 | 227 | DEAC | E3 |
| 173 | 222 | 197 | DEAD | C5 |
| 174 | 222 | 14 | DEAE | 0E |
| 175 | 222 | 2 | DEAF | 02 |
| 176 | 222 | 71 | DEB0 | 47 |
| 177 | 222 | 203 | DEB1 | CB |
| 178 | 222 | 48 | DEB2 | 30 |
| 179 | 222 | 62 | DEB3 | 3E |
| 180 | 222 | 15 | DEB4 | 0F |
| 181 | 222 | 24 | DEB5 | 18 |
| 182 | 222 | 2 | DEB6 | 02 |
| 1番目個数 | 2番目個数 | 3番目個数 | アドレス | 値 |
| 185 | 222 | 160 | DEB9 | A0 |
| 186 | 222 | 198 | DEBA | C6 |
| 187 | 222 | 246 | DEBB | F6 |
| 188 | 222 | 48 | DEBC | 30 |
| 189 | 222 | 2 | DEBD | 02 |
| 190 | 222 | 214 | DEBE | D6 |
| 191 | 222 | 160 | DEBF | A0 |
| 192 | 222 | 34 | DEC0 | 22 |
| 193 | 222 | 13 | DEC1 | 0D |
| 194 | 222 | 32 | DEC2 | 20 |
| 195 | 222 | 237 | DEC3 | ED |
| 196 | 222 | 193 | DEC4 | C1 |
| 197 | 222 | 201 | DEC5 | C9 |
| 198 | 222 | 197 | DEC6 | C5 |
| 199 | 222 | 205 | DEC7 | CD |
| 200 | 222 | 27 | DEC8 | 1B |
| 201 | 222 | 53 | DEC9 | 35 |
| 202 | 222 | 193 | DECA | C1 |
| 203 | 222 | 203 | DECB | CB |
| 204 | 222 | 127 | DECC | 7F |
| 205 | 222 | 32 | DECD | 20 |
| 206 | 222 | 29 | DECE | 1D |
| 207 | 222 | 203 | DECF | CB |
| 208 | 222 | 119 | DED0 | 77 |
| 209 | 222 | 32 | DED1 | 20 |
| 210 | 222 | 27 | DED2 | 1B |
| 211 | 222 | 203 | DED3 | CB |
| 212 | 222 | 111 | DED4 | 6F |
| 213 | 222 | 32 | DED5 | 20 |
| 214 | 222 | 25 | DED6 | 19 |
| 215 | 222 | 203 | DED7 | CB |
| 216 | 222 | 103 | DED8 | 67 |
| 217 | 222 | 32 | DED9 | 20 |
| 218 | 222 | 23 | DEDA | 17 |
| 219 | 222 | 203 | DEDB | CB |
| 220 | 222 | 95 | DEDC | 5F |
| 221 | 222 | 32 | DEDD | 20 |
| 222 | 222 | 21 | DEDE | 15 |
| 223 | 222 | 203 | DEDF | CB |
| 224 | 222 | 87 | DEE0 | 57 |
| 225 | 222 | 32 | DEE1 | 20 |
| 226 | 222 | 19 | DEE2 | 13 |
| 227 | 222 | 203 | DEE3 | CB |
| 228 | 222 | 79 | DEE4 | 4F |
| 229 | 222 | 32 | DEE5 | 20 |
| 230 | 222 | 17 | DEE6 | 11 |
| 231 | 222 | 203 | DEE7 | CB |
| 232 | 222 | 71 | DEE8 | 47 |
| 233 | 222 | 32 | DEE9 | 20 |
| 234 | 222 | 17 | DEEA | 11 |
| 235 | 222 | 201 | DEEB | C9 |
| 236 | 222 | 11 | DEEC | 0B |
| 237 | 222 | 201 | DEED | C9 |
| 238 | 222 | 3 | DEEE | 03 |
| 239 | 222 | 201 | DEEF | C9 |
| 240 | 222 | 5 | DEF0 | 05 |
| 241 | 222 | 201 | DEF1 | C9 |
| 242 | 222 | 4 | DEF2 | 04 |
| 243 | 222 | 201 | DEF3 | C9 |
| 244 | 222 | 20 | DEF4 | 14 |
| 245 | 222 | 201 | DEF5 | C9 |
| 246 | 222 | 21 | DEF6 | 15 |
| 247 | 222 | 201 | DEF7 | C9 |
| 248 | 222 | 241 | DEF8 | F1 |
| 249 | 222 | 195 | DEF9 | C3 |
| 250 | 222 | 173 | DEFA | AD |
| 251 | 222 | 47 | DEFB | 2F |
| 252 | 222 | 33 | DEFC | 21 |
| 253 | 222 | 80 | DEFD | 50 |
| 254 | 222 | 197 | DEFE | C5 |
| 255 | 222 | 62 | DEFF | 3E |
| 0 | 223 | 236 | DF00 | EC |
| 1 | 223 | 119 | DF01 | 77 |
| 2 | 223 | 10 | DF02 | 0A |
| 3 | 223 | 95 | DF03 | 5F |
| 4 | 223 | 24 | DF04 | 18 |
| 5 | 223 | 11 | DF05 | 0B |
| 1番目個数 | 2番目個数 | 3番目個数 | アドレス | 値 |
| 17 | 223 | 197 | DF11 | C5 |
| 18 | 223 | 205 | DF12 | CD |
| 19 | 223 | 27 | DF13 | 1B |
| 20 | 223 | 53 | DF14 | 35 |
| 21 | 223 | 193 | DF15 | C1 |
| 22 | 223 | 203 | DF16 | CB |
| 23 | 223 | 127 | DF17 | 7F |
| 24 | 223 | 32 | DF18 | 20 |
| 25 | 223 | 14 | DF19 | 0E |
| 26 | 223 | 203 | DF1A | CB |
| 27 | 223 | 119 | DF1B | 77 |
| 28 | 223 | 32 | DF1C | 20 |
| 29 | 223 | 13 | DF1D | 0D |
| 30 | 223 | 203 | DF1E | CB |
| 31 | 223 | 71 | DF1F | 47 |
| 32 | 223 | 32 | DF20 | 20 |
| 33 | 223 | 18 | DF21 | 12 |
| 34 | 223 | 203 | DF22 | CB |
| 35 | 223 | 79 | DF23 | 4F |
| 36 | 223 | 32 | DF24 | 20 |
| 37 | 223 | 16 | DF25 | 10 |
| 38 | 223 | 24 | DF26 | 18 |
| 39 | 223 | 233 | DF27 | E9 |
| 40 | 223 | 29 | DF28 | 1D |
| 41 | 223 | 24 | DF29 | 18 |
| 42 | 223 | 1 | DF2A | 01 |
| 43 | 223 | 28 | DF2B | 1C |
| 44 | 223 | 123 | DF2C | 7B |
| 45 | 223 | 46 | DF2D | 2E |
| 46 | 223 | 78 | DF2E | 4E |
| 47 | 223 | 205 | DF2F | CD |
| 48 | 223 | 173 | DF30 | AD |
| 49 | 223 | 222 | DF31 | DE |
| 50 | 223 | 24 | DF32 | 18 |
| 51 | 223 | 221 | DF33 | DD |
| 52 | 223 | 123 | DF34 | 7B |
| 53 | 223 | 2 | DF35 | 02 |
| 54 | 223 | 62 | DF36 | 3E |
| 55 | 223 | 237 | DF37 | ED |
| 56 | 223 | 119 | DF38 | 77 |
| 57 | 223 | 201 | DF39 | C9 |
10進数版データの作成に、れんだ様の固定長配列ビューアを使用しました。