バイナリエディタ(第二世代) > 新バイナリエディタ(flag3式)

※このバイナリエディタはクリスタルバージョン限定です。

画面領域(アドレスC800h~。ここはwRAMバンク0で、切り替えてもコードを残せる)にコードを書き込むことで、wRAMバンク切り替えにも対応した新しいバイナリエディタ。
導入に関しても少し変更されている。ここでは既存データ向けに図鑑モード0Ch(for D021h)でのメール実行で行うための手順を書き記す。(42hでも理論上可能だが)

参考資料

RAM Writer for Pokémon Crystal (JPN) · GitHub
ソースコード。具体的な記述はこちらを参照。
ポケットモンスター クリスタル バイナリエディタ - flag3
ニューゲームからの導入方法の解説。0x1500制御コードによる任意コード実行でメールの生成と図鑑モードの切り替え、ボックス名の一部書き換えを行っている。
RAM Writer in Pokémon Crystal (JPN) - YouTube
導入チャートの動画版(RTA形式)。

簡易型バイナリエディタ

手持ちを2匹以下にし、下記のコードをボックスに入力する。
今回のバイナリエディタは、一度手持ちの3~6匹目のデータにコードを書きこんだ後、ボックス9の後ろにある未使用領域?にコードを保存する。
そのため、バイナリエディタが完成するまで手持ちを3匹以上にしないこと。既存データなら本来そこまですることは無いんだけれど

ボックス記述

今回ボックス1は使用しない。

  1. ダだギぼヂてクろ
  2. ダだゲムよダだガ
  3. ぜジダムキづごぱ
  4. ヅまとへジみぴよ
  5. へヂみボぷへジみ
  6. へブばん どうろひ ぐイ゛
  7. ダれコろダだイ゛
  8. ダれむをダリだけ

入力不可能な文字がある(「ばん どうろ」も1文字)ため、下記メールで修正を行う。
(元資料では初回の0x1500制御コードによる実行でついでに書き換えている)

  1. ぼどぶメろよどゥャヨろのの
    ののののののののののののののだっ

入力が終わったら、下記のメールを読んでコードを実行すると、簡易型バイナリエディタが起動する。

へなづがをてエろなひだへドみち
ぼダメに0ぞ?ムぞボデのののだっ


既存データを使用する場合、3匹目以降のデータが埋まって入力しづらい場合があるため、以下のコードを使って0フィルすると入力しやすくなるかも。
手持ち3~6匹目の親名まで0フィルするため、念のため手持ち1匹目のニックネームが壊れていないかを確認したい。

がをぜとギこへドみぜ!じギバガ
づガつドみのののののののののだっ


操作方法

左4桁にアドレスが表示され、右2桁が数値となる。バイナリエディタが完成するまでSELECTは押さないこと!
今回のコードでの開始位置はDD0Bh(手持ち3匹目の親ID上桁)となる。(メールの「がを」とボックス4の「ぜジ」で設定されている)
専用のフォントを呼び出せていない関係で、ABCの3文字が文字化けしている。
起動のたびにメールを読み直す必要がある点に注意。

数値の対応表
数値(文字) バッグ 図鑑
A g
B 青色の線
C 携帯マーク 携帯マーク
キー入力
キー 操作
A 指すアドレスを+01h
B 指すアドレスを-01h
指しているアドレスの内容を+01h
指しているアドレスの内容を-01h
指しているアドレスの内容を+10h
指しているアドレスの内容を-10h
START 簡易型バイナリエディタを終了
SELECT DDD1hからコードを実行

バイナリエディタ本体(186バイト+24バイト)

簡易型バイナリエディタでDD0Bh~DDC4hまでの186バイト(バイナリエディタ本体)と、DDD1h~DDE8hの24バイト(コピー用コード)を書き込んだ後、SELECTを押すとバイナリエディタを起動できる。
(SELECTでの実行時にsRAMへの本体コピー及び実行用領域へのコピーを行う)
完成後に直接実行コードを用意すれば、以降は手持ちを増やしても大丈夫になる。

直接実行コード

直接入力(11バイト)

元資料ではアドレスDA47h(わざマシン17で実行される領域の元)から書き込んでいる。
ちなみに03:688Chはcall 2F9D→call 2FF2→call 3F9D→retを行う(現在ボックスのポケモンを参照する処理の一部)もので、道具使用時のROMバンク03から実行するもののため、アイテム使用から飛ぶことが前提となる。

3E 03 01 BA 00 11 00 C8 21 DE AF D5 C3 8C 68
; ld a,03→ld bc,00BA→ld de,C800→ld hl,AFDE→push de→jp 688C

メール

図鑑を開く際はROMバンクが10hになるため、アドレス688Chは使用しない。(というか68hが入力できない)
アドレス2FF2h(固定長コピー)の代わりにアドレス2FF3hで実行する(先頭のinc bが抜ける)ため、bレジスタの値は1大きくしている。

ぼギダへマぞヅ9べボゆがョョぜん
ぶぺゾこへ/ぞてののののだっ

; ld a,06→rrca→call 2F9D→ld de,C8FF→inc e→push de→ld h,AF→xor a→ld l,DE→ld c,(hl)→inc a→ld b,a→ld c,BA→call 2FF3→jp 2F9D…→jr nc,DF

操作方法
キー 操作
アドレスを-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 バイナリエディタを終了

コード本体

バイナリエディタ本体(186バイト)
アドレス 数値 保存先 コピー先
DD0B CD AFDE C800
DD0C C5 AFDF C801
DD0D 32 AFE0 C802
DD0E CD AFE1 C803
DD0F C2 AFE2 C804
DD10 31 AFE3 C805
DD11 CD AFE4 C806
DD12 3B AFE5 C807
DD13 0E AFE6 C808
DD14 CD AFE7 C809
DD15 49 AFE8 C80A
DD16 0E AFE9 C80B
DD17 11 AFEA C80C
DD18 00 AFEB C80D
DD19 40 AFEC C80E
DD1A 21 AFED C80F
DD1B 00 AFEE C810
DD1C 96 AFEF C811
DD1D 01 AFF0 C812
DD1E 19 AFF1 C813
DD1F 3E AFF2 C814
DD20 CD AFF3 C815
DD21 B3 AFF4 C816
DD22 0D AFF5 C817
DD23 F0 AFF6 C818
DD24 9D AFF7 C819
DD25 F5 AFF8 C81A
DD26 21 AFF9 C81B
DD27 00 AFFA C81C
DD28 D0 AFFB C81D
DD29 CD AFFC C81E
DD2A 5C AFFD C81F
DD2B C8 AFFE C820
DD2C E5 AFFF C821
DD2D 11 B000 C822
DD2E F8 B001 C823
DD2F FF B002 C824
DD30 19 B003 C825
DD31 E5 B004 C826
DD32 D1 B005 C827
DD33 21 B006 C828
DD34 A9 B007 C829
DD35 C4 B008 C82A
DD36 F0 B009 C82B
DD37 9D B00A C82C
DD38 CD B00B C82D
DD39 9D B00C C82E
DD3A 2F B00D C82F
DD3B CD B00E C830
DD3C AB B00F C831
DD3D C8 B010 C832
DD3E 01 B011 C833
DD3F 0C B012 C834
DD40 00 B013 C835
DD41 36 B014 C836
DD42 7C B015 C837
DD43 23 B016 C838
DD44 7A B017 C839
DD45 CD B018 C83A
DD46 AB B019 C83B
DD47 C8 B01A C83C
DD48 7B B01B C83D
DD49 CD B01C C83E
DD4A AB B01D C83F
DD4B C8 B01E C840
DD4C 36 B01F C841
DD4D 7F B020 C842
DD4E 23 B021 C843
DD4F 1A B022 C844
DD50 CD B023 C845
DD51 AB B024 C846
DD52 C8 B025 C847
DD53 13 B026 C848
DD54 36 B027 C849
DD55 7C B028 C84A
DD56 09 B029 C84B
DD57 7C B02A C84C
DD58 FE B02B C84D
DD59 C6 B02C C84E
DD5A 20 B02D C84F
DD5B E5 B02E C850
DD5C CD B02F C851
DD5D AD B030 C852
DD5E 2F B031 C853
DD5F 3E B032 C854
DD60 ED B033 C855
DD61 EA B034 C856
DD62 4B B035 C857
DD63 C5 B036 C858
DD64 E1 B037 C859
DD65 18 B038 C85A
DD66 C2 B039 C85B
DD67 CD B03A C85C
DD68 1B B03B C85D
DD69 35 B03C C85E
DD6A F0 B03D C85F
DD6B A9 B03E C860
DD6C 5F B03F C861
DD6D 01 B040 C862
DD6E 01 B041 C863
DD6F 00 B042 C864
DD70 07 B043 C865
DD71 38 B044 C866
DD72 1E B045 C867
DD73 0B B046 C868
DD74 0B B047 C869
DD75 07 B048 C86A
DD76 38 B049 C86B
DD77 19 B04A C86C
DD78 0E B04B C86D
DD79 F0 B04C C86E
DD7A 07 B04D C86F
DD7B 38 B04E C870
DD7C 14 B04F C871
DD7D 01 B050 C872
DD7E 10 B051 C873
DD7F 00 B052 C874
DD80 07 B053 C875
DD81 38 B054 C876
DD82 0E B055 C877
DD83 48 B056 C878
DD84 07 B057 C879
DD85 30 B058 C87A
DD86 0A B059 C87B
DD87 E1 B05A C87C
DD88 F1 B05B C87D
DD89 D7 B05C C87E
DD8A 3E B05D C87F
DD8B F9 B05E C880
DD8C E0 B05F C881
DD8D 70 B060 C882
DD8E C3 B061 C883
DD8F ED B062 C884
DD90 21 B063 C885
DD91 7B B064 C886
DD92 0F B065 C887
DD93 30 B066 C888
DD94 10 B067 C889
DD95 0F B068 C88A
DD96 0F B069 C88B
DD97 30 B06A C88C
DD98 01 B06B C88D
DD99 E9 B06C C88E
DD9A F0 B06D C88F
DD9B 9D B06E C890
DD9C CD B06F C891
DD9D 9D B070 C892
DD9E 2F B071 C893
DD9F 79 B072 C894
DDA0 86 B073 C895
DDA1 77 B074 C896
DDA2 C3 B075 C897
DDA3 AD B076 C898
DDA4 2F B077 C899
DDA5 0F B078 C89A
DDA6 38 B079 C89B
DDA7 05 B07A C89C
DDA8 0F B07B C89D
DDA9 38 B07C C89E
DDAA 06 B07D C89F
DDAB 09 B07E C8A0
DDAC C9 B07F C8A1
DDAD 79 B080 C8A2
DDAE 84 B081 C8A3
DDAF 67 B082 C8A4
DDB0 C9 B083 C8A5
DDB1 F0 B084 C8A6
DDB2 9D B085 C8A7
DDB3 81 B086 C8A8
DDB4 D7 B087 C8A9
DDB5 C9 B088 C8AA
DDB6 F5 B089 C8AB
DDB7 CB B08A C8AC
DDB8 37 B08B C8AD
DDB9 CD B08C C8AE
DDBA B2 B08D C8AF
DDBB C8 B08E C8B0
DDBC F1 B08F C8B1
DDBD E6 B090 C8B2
DDBE 0F B091 C8B3
DDBF C6 B092 C8B4
DDC0 F6 B093 C8B5
DDC1 F6 B094 C8B6
DDC2 60 B095 C8B7
DDC3 22 B096 C8B8
DDC4 C9 B097 C8B9
コピー用コード(11バイト)
アドレス 数値
DDD1 11
DDD2 DE
DDD3 AF
DDD4 CD
DDD5 DB
DDD6 DD
DDD7 11
DDD8 00
DDD9 C8
DDDA D5
DDDB 3E
DDDC 03
DDDD 21
DDDE 0B
DDDF DD
DDE0 01
DDE1 BA
DDE2 00
DDE3 CD
DDE4 9D
DDE5 2F
DDE6 C3
DDE7 F2
DDE8 2F

タグ:

+ タグ編集
  • タグ:
最終更新:2024年06月18日 18:32