初代ポケモンにおいてアドレスD56Fh~D66Ehの256バイト分はマップごとの小さなイベントの進行状況などを管理するために使われている。
しかし、実際に使われるのはD5E8hまでで、D5E9h~D66Ehまでの134バイトは通常プレイで書き換わることがない模様。
そこで、この領域にバイナリエディタのコードを仕込むことで、ボックスやPCを自由に使えるようにできる。
ROMバンク切り替え機能付きのバイナリエディタは193バイトあるのでこの領域だけでは無理だが、出入り口周り?の管理用アドレス(D3AFh~D42Ehの128バイト)にも未使用領域があるので、コードを二か所に分割すれば実装できる。(ピカチュウ版では一部がピカチュウのごきげん度周りに使われているため、パソコンの道具周りを弄った方が良さそう)
データ消去からバイナリエディタ起動までを通しで動画化したもの。
この動画自体に解説は無いため、詳しい内容は別の場所を参考に。(開始位置が違うため、使用するコードの違いに注意)
こちらは従来同様、ボックスのニックネームで記述する。
書き込み位置の違いから、一部使用するニックネームが異なる点に注意。
すでに他のバイナリエディタを導入済みならD5E9hからバイナリエディタ本体のコードを書きだせばいい。(そのままコピペしても参照位置の違いからうまくいかない)
ピカチュウ後期版でのコード例。(赤緑以外では「てEん」または「てょん」、赤緑では「ーゆてょん」預けで実行)
上記導入チャートでは親名(主人公の「がんョぜメ」)からコードを実行する関係で1匹目が省略されており、一部絶対ジャンプやアドレス指定の位置がずれているので注意。
A | 指すアドレスを+1h 数値を入力したらAで進めていくことになる。 |
---|---|
B | 指すアドレスを-1h |
下 | 指しているアドレスの値を+1h |
上 | 指しているアドレスの値を-1h |
右 | 指しているアドレスの値を+10h |
左 | 指しているアドレスの値を-10h |
SELECT | アドレスD62Chからプログラム実行。バイナリエディタが完成してから行うこと。 |
START | 簡易型バイナリエディタを終了。長いコードを打ち込むので、セーブしながら進めるのが吉。 始点はD5E3hで固定されている点に注意。 |
以下のコードをD5E9h(初期位置D5E3hの6バイト先)から書き込み、D62Chからコードを実行(「てじよ」)するとバイナリエディタが起動する。
D5EAhの部分はバージョンによって数値が異なる。
開始位置はD62DhとD62Ehで指定している。
キー | 操作 |
---|---|
上 | アドレスを-01h |
下 | アドレスを+01h |
左 | アドレスを-10h |
右 | アドレスを+10h |
B+上 | アドレスを-100h |
B+下 | アドレスを+100h |
B+左 | アドレスを-1000h |
B+右 | アドレスを+1000h |
SELECT | カーソル位置のプログラム実行 |
A+下 | 数値を+01h |
A+上 | 数値を-01h |
A+左 | 数値を-10h |
A+右 | 数値を+10h |
START | バイナリエディタを終了 |
アドレス | 値 | 備考 |
---|---|---|
D5E9 | CD | |
D5EA | 赤緑初期:79 赤緑後期:67 青:8F ピカチュウ初期:3F ピカチュウ後期:40 |
|
D5EB | 38 | |
D5EC | F0 | |
D5ED | B3 | |
D5EE | 01 | |
D5EF | 01 | |
D5F0 | 00 | |
D5F1 | 07 | |
D5F2 | 38 | |
D5F3 | 18 | |
D5F4 | 0B | |
D5F5 | 0B | |
D5F6 | 07 | |
D5F7 | 38 | |
D5F8 | 13 | |
D5F9 | 0E | |
D5FA | F0 | |
D5FB | 07 | |
D5FC | 38 | |
D5FD | 0E | |
D5FE | 01 | |
D5FF | 10 | |
D600 | 00 | |
D601 | 07 | |
D602 | 38 | |
D603 | 08 | |
D604 | 07 | |
D605 | 38 | |
D606 | 03 | |
D607 | 07 | |
D608 | D0 | |
D609 | E9 | |
D60A | E1 | |
D60B | C9 | |
D60C | 79 | |
D60D | CB | |
D60E | 43 | |
D60F | 20 | |
D610 | 06 | |
D611 | CB | |
D612 | 4B | |
D613 | 20 | |
D614 | 05 | |
D615 | 09 | |
D616 | C9 | |
D617 | 86 | |
D618 | 77 | |
D619 | C9 | |
D61A | 84 | |
D61B | 67 | |
D61C | C9 | |
D61D | F5 | |
D61E | CB | |
D61F | 37 | |
D620 | CD | |
D621 | 24 | |
D622 | D6 | |
D623 | F1 | |
D624 | E6 | |
D625 | 0F | |
D626 | C6 | |
D627 | F6 | |
D628 | F6 | |
D629 | 60 | |
D62A | 22 | |
D62B | C9 | |
D62C | 21 | 実行時はここからスタート |
D62D | 00 | 開始アドレスを指定 |
D62E | D0 | |
D62F | CD | |
D630 | E9 | |
D631 | D5 | |
D632 | E5 | |
D633 | 11 | |
D634 | F8 | |
D635 | FF | |
D636 | 19 | |
D637 | E5 | |
D638 | D1 | |
D639 | 21 | |
D63A | AB | |
D63B | C3 | |
D63C | 01 | |
D63D | 0C | |
D63E | 00 | |
D63F | 36 | |
D640 | 7C | |
D641 | 23 | |
D642 | 7A | |
D643 | CD | |
D644 | 1D | |
D645 | D6 | |
D646 | 7B | |
D647 | CD | |
D648 | 1D | |
D649 | D6 | |
D64A | 36 | |
D64B | 7F | |
D64C | 23 | |
D64D | 1A | |
D64E | CD | |
D64F | 1D | |
D650 | D6 | |
D651 | 13 | |
D652 | 36 | |
D653 | 7C | |
D654 | 09 | |
D655 | 7C | |
D656 | FE | |
D657 | C5 | |
D658 | 20 | |
D659 | E5 | |
D65A | 3E | |
D65B | ED | |
D65C | EA | |
D65D | 4B | |
D65E | C4 | |
D65F | E1 | |
D660 | 18 | |
D661 | CD |