• Synced
  • Toggle checked item
  • Toggle notes
  • Settings
  • Help
  • Refresh
  • Logout
Pick date
Not saved
My Dynalist
Synced
Dynalist
My files
New doc
New folder
初代とポケスタ金銀を使った金銀任意コード実行環境構築チャート
Bookmarks (0/5)
Bookmark current state
Tags
Sort alphabetically
Document tags (0)
All tags (0)

Failed to load documents.

Checked items
Global (show)
Show
Hide
Notes
Global (show)
Show
1st line
Hide
Layout
List
Article
Mind map
Text direction
Global (LTR)
Left-to-right
Right-to-left
初代とポケスタ金銀を使った金銀任意コード実行環境構築チャート
金銀の方はウツギ博士にふしぎなタマゴを渡すまでは普通に進める。
金銀の方はウツギ博士にふしぎなタマゴを渡すまでは普通に進める。
ポケスタ金銀でポケモンやアイテムの整理をするために必要。
ポケスタ金銀でポケモンやアイテムの整理をするために必要。
キキョウシティまで行かずに構築したいため、はながらメール購入はできないものとする。
キキョウシティまで行かずに構築したいため、はながらメール購入はできないものとする。
ポケスタ金銀上でも実行できるよう、図鑑モード99を使った方法で進める。そのため、パソコンに43種類の道具を預ける必要がある。
ポケスタ金銀上でも実行できるよう、図鑑モード99を使った方法で進める。そのため、パソコンに43種類の道具を預ける必要がある。
図鑑モード変更の際にパソコンのアイテムがずれるのを利用して39種まで埋める。その他のアイテムはバッグに入れておく。
図鑑モード変更の際にパソコンのアイテムがずれるのを利用して39種まで埋める。その他のアイテムはバッグに入れておく。
スーパーボール(04)・モンスターボール(05)・つきのいし(08)・どくけし(09)・すごいキズぐすり(10)・いいきずぐすり(11)・あなぬけのヒモ(13)・むしよけスプレー(14)はおかあさんが買ってくるため、必要なアイテムに含めないようにしたい。
スーパーボール(04)・モンスターボール(05)・つきのいし(08)・どくけし(09)・すごいキズぐすり(10)・いいきずぐすり(11)・あなぬけのヒモ(13)・むしよけスプレー(14)はおかあさんが買ってくるため、必要なアイテムに含めないようにしたい。
(貯金しないのが確実だろうが)
(貯金しないのが確実だろうが)
金銀で準備しておくもの
金銀で準備しておくもの
モンスターボール×5
モンスターボール×5
博士にふしぎなタマゴを渡した後に5個もらえるので、使わずにとっておけば問題ない。
博士にふしぎなタマゴを渡した後に5個もらえるので、使わずにとっておけば問題ない。
ボールポケット破壊の際に失われてしまうため、パソコンの穴埋めには使わない。
ボールポケット破壊の際に失われてしまうため、パソコンの穴埋めには使わない。
初代で準備するもの
初代で準備するもの
初代ではセレクトバグや任意コード実行を利用して必要なものを確保する。バイナリエディタを導入しておくと非常に楽。
初代ではセレクトバグや任意コード実行を利用して必要なものを確保する。バイナリエディタを導入しておくと非常に楽。
じてんしゃ(07)を持ったポケモン2匹
じてんしゃ(07)を持ったポケモン2匹
手っ取り早いのはむしタイプを13番目バグでニドキング(07)にしてそれを15番目バグ(ポケモン)で持ち物に埋め込む方法か。
手っ取り早いのはむしタイプを13番目バグでニドキング(07)にしてそれを15番目バグ(ポケモン)で持ち物に埋め込む方法か。
適当なむしタイプのポケモン(以下虫)と被捕獲度255のポケモン(以下土台)、適当なポケモン(以下任意)を用意。(キャタピー・ビードルは両方を満たせる)
適当なむしタイプのポケモン(以下虫)と被捕獲度255のポケモン(以下土台)、適当なポケモン(以下任意)を用意。(キャタピー・ビードルは両方を満たせる)
先頭に置いた虫と13番目との入れ替えを4回ほど行い、虫の外見をニドキングにする。
先頭に置いた虫と13番目との入れ替えを4回ほど行い、虫の外見をニドキングにする。
1回目の入れ替えで外見はニドキングになるが、バグったままなのは面倒なため、バグを戻した時点でニドキングになっているようにする。
1回目の入れ替えで外見はニドキングになるが、バグったままなのは面倒なため、バグを戻した時点でニドキングになっているようにする。
土台、虫、任意の順に並べ、虫を15番目と入れ替え。
土台、虫、任意の順に並べ、虫を15番目と入れ替え。
この時点で土台がじてんしゃを持つ。虫は見えなくなる。
この時点で土台がじてんしゃを持つ。虫は見えなくなる。
任意と土台を入れ替え、15番目と入れ替えた虫を戻してくる。
任意と土台を入れ替え、15番目と入れ替えた虫を戻してくる。
これはバグの後処理
これはバグの後処理
ニックネームコードでやる場合(手持ちの4・5匹目に持たせる例)
ニックネームコードでやる場合(手持ちの4・5匹目に持たせる例)
がむぜかョ
がむぜかョ
26 D1 2E B6 AF 50 [ld h,D1→ld l,B6→xor a→ld d,b] D1B6で手持ち4匹目の持ち物を指す。 1・2匹目でやりたい場合は「か」を「づ」に(D132)、 3・4匹目でやりたい場合は「か」を「サ」に(D18A)、 5・6匹目でやりたい場合は「か」を小文字の「ょ」に(D1E2)すればいい。
26 D1 2E B6 AF 50 [ld h,D1→ld l,B6→xor a→ld d,b] D1B6で手持ち4匹目の持ち物を指す。 1・2匹目でやりたい場合は「か」を「づ」に(D132)、 3・4匹目でやりたい場合は「か」を「サ」に(D18A)、 5・6匹目でやりたい場合は「か」を小文字の「ょ」に(D1E2)すればいい。
ぺゾずぼグ
ぺゾずぼグ
47 0E 2D 3E 07 [ld b,a→ld c,2D→ld a,07→ld d,b] ふしぎなタマゴ(45)を持たせる場合は「グ」(07)を「ぴ」(45)に。
47 0E 2D 3E 07 [ld b,a→ld c,2D→ld a,07→ld d,b] ふしぎなタマゴ(45)を持たせる場合は「グ」(07)を「ぴ」(45)に。
づゴづの
づゴづの
32 09 32 C9 [ldd (hl),a→add hl,bc→ldd (hl),a→ret] あらかじめbcに002Dを入れておくことで、次のポケモンの持ち物を指せるようにしてある。
32 09 32 C9 [ldd (hl),a→add hl,bc→ldd (hl),a→ret] あらかじめbcに002Dを入れておくことで、次のポケモンの持ち物を指せるようにしてある。
持たせたポケモンを64のボックスに入れておき、一覧画面で==**バッグとパソコンにそれぞれ預かる**==ことで2個入手する。
持たせたポケモンを64のボックスに入れておき、一覧画面でバッグとパソコンにそれぞれ預かることで2個入手する。
「やめる」を増やさないため、じてんしゃ以外のアイテムはパソコンに預けずバッグに入れる。
「やめる」を増やさないため、じてんしゃ以外のアイテムはパソコンに預けずバッグに入れる。
ポケスタ金銀で両方とも同じ場所に入れてしまうと、重複したじてんしゃが消えてしまう。まとめるのはGB内で。
ポケスタ金銀で両方とも同じ場所に入れてしまうと、重複したじてんしゃが消えてしまう。まとめるのはGB内で。
ミラクルサイクルに行ってじてんしゃが重複するのが嫌な場合は、ふしぎなタマゴ(45)あたりを持たせてもいい。
ミラクルサイクルに行ってじてんしゃが重複するのが嫌な場合は、ふしぎなタマゴ(45)あたりを持たせてもいい。
他にはコインケース(36)がレアコイル、ダウジングマシン(37)がドガース、ぎんいろのハネ(47)がニョロモに相当する。
他にはコインケース(36)がレアコイル、ダウジングマシン(37)がドガース、ぎんいろのハネ(47)がニョロモに相当する。
この場合、15番目バグ(ポケモン)で持たせようとするとイノムー(相当のけつばん)が必要になるため、ポイントアップ1回・PP5の技を23番目バグで2匹目の持ち物と交換する形式をとるといいだろう。
この場合、15番目バグ(ポケモン)で持たせようとするとイノムー(相当のけつばん)が必要になるため、ポイントアップ1回・PP5の技を23番目バグで2匹目の持ち物と交換する形式をとるといいだろう。
その他、各種アイテムを持たせる形で用意してメタルケースに入れておく。
その他、各種アイテムを持たせる形で用意してメタルケースに入れておく。
任意コード実行でボックスのポケモン30匹にまとめて持たせ、ポケスタ金銀で預かれば1回のローテーションで30個まで集めることができる。
任意コード実行でボックスのポケモン30匹にまとめて持たせ、ポケスタ金銀で預かれば1回のローテーションで30個まで集めることができる。
ボックスの並び(30匹埋め、1匹目から特定のニックネームを並べる)
ボックスの並び(30匹埋め、1匹目から特定のニックネームを並べる)
ヨクアタールの場合
ヨクアタールの場合
ョぺヅぱー
ョぺヅぱー
AF 47 11 44 E3 50 [xor a→ld b,a→ld de,E344→ld d,b] ld b,aとld d,bを利用してdeレジスタを0044にすることが目的。 「ー」は入力速度を考慮。
AF 47 11 44 E3 50 [xor a→ld b,a→ld de,E344→ld d,b] ld b,aとld d,bを利用してdeレジスタを0044にすることが目的。 「ー」は入力速度を考慮。
ゾボへデっ
ゾボへデっ
0E 1C CD 12 DF 50 [ld c,1C→call DF12→ld d,b] 一度ボックス30匹目のニックネームに飛んで持たせるアイテムを決める。 cレジスタにはループ回数を入れたいが、1Eが直接入力できないため、空きスペースを利用して1Cから2回のインクリメントで作ることにする。
0E 1C CD 12 DF 50 [ld c,1C→call DF12→ld d,b] 一度ボックス30匹目のニックネームに飛んで持たせるアイテムを決める。 cレジスタにはループ回数を入れたいが、1Eが直接入力できないため、空きスペースを利用して1Cから2回のインクリメントで作ることにする。
がるぜるズ
がるぜるズ
26 D9 2E D9 0C 50 [ld h,D9→ld l,D9→inc c→ld d,b] D9D9でボックス1匹目の持ち物を指す。
26 D9 2E D9 0C 50 [ld h,D9→ld l,D9→inc c→ld d,b] D9D9でボックス1匹目の持ち物を指す。
ズひジそそ
ズひジそそ
0C CB 0B BF BF 50 [inc c→rrc e→cp a→cp a→ld d,b] 先に入れておいた44を右ローテートで22にする。これでdeレジスタは0022となり、ボックスのポケモン1匹分(+1)飛ぶための準備が整う。 「そ」は5匹目ニックネーム4文字目までのスペーサーとして用いる。
0C CB 0B BF BF 50 [inc c→rrc e→cp a→cp a→ld d,b] 先に入れておいた44を右ローテートで22にする。これでdeレジスタは0022となり、ボックスのポケモン1匹分(+1)飛ぶための準備が整う。 「そ」は5匹目ニックネーム4文字目までのスペーサーとして用いる。
そそそづバ
そそそづバ
BF BF BF ==**32** 19== [cp a→cp a→cp a→==**ldd (hl),a**→add hl,de→ld d,b==] ニックネーム4文字目からループ開始。 次のポケモンの同一ステータスまでの間隔は33(21h)バイトなのだが、ldd (hl),aを使う関係上移動量を1増やす必要がある。
BF BF BF 32 19 [cp a→cp a→cp a→ldd (hl),a→add hl,de→ld d,b] ニックネーム4文字目からループ開始。 次のポケモンの同一ステータスまでの間隔は33(21h)バイトなのだが、ldd (hl),aを使う関係上移動量を1増やす必要がある。
ゼつ んの
ゼつ んの
==0D== C2 7F DE C9 [==dec c==→jp nz,DE7F→ret] cレジスタの値が0になった時にゼロフラグが立つため、nzの条件付きジャンプで戻ることでループを発生させられる。 本当は20 FA [jr nz,FA]を使いたいが、20もFAも入力できないため、絶対ジャンプで代用している。
0D C2 7F DE C9 [dec c→jp nz,DE7F→ret] cレジスタの値が0になった時にゼロフラグが立つため、nzの条件付きジャンプで戻ることでループを発生させられる。 本当は20 FA [jr nz,FA]を使いたいが、20もFAも入力できないため、絶対ジャンプで代用している。
※29匹目まで任意
※29匹目まで任意
※30匹目 ぼプダの
※30匹目 ぼプダの
3E 42 0F C9 [ld a,42→rrca→ret] 「へデっ」から飛んでくるサブルーチン。 ヨクアタールの内部番号は21だが入力できないため、42からrrcaで作る。 「ぼプダ」の部分を弄ることで他のアイテムにすることも可能。30匹目に置くことで変更しやすくする。 わざマシン16(CF)なら「ぼまの」 わざマシン27(DA)なら「ぼれの」 わざマシン41(E9)は「ぼもダの」(E9は小文字の「ァ」で直接入力不能なため、D3からrrcaで作る) まぼろしメール(BD)なら「ぼすの」
3E 42 0F C9 [ld a,42→rrca→ret] 「へデっ」から飛んでくるサブルーチン。 ヨクアタールの内部番号は21だが入力できないため、42からrrcaで作る。 「ぼプダ」の部分を弄ることで他のアイテムにすることも可能。30匹目に置くことで変更しやすくする。 わざマシン16(CF)なら「ぼまの」 わざマシン27(DA)なら「ぼれの」 わざマシン41(E9)は「ぼもダの」(E9は小文字の「ァ」で直接入力不能なため、D3からrrcaで作る) まぼろしメール(BD)なら「ぼすの」
ガンテツボール
ガンテツボール
ルアーボール(A0)があればいい。ボールポケット破壊に使う。
ルアーボール(A0)があればいい。ボールポケット破壊に使う。
A0はPPだとポイントアップ2回での32になり、初期PP25のじごくぐるまなどから取ってくれば23番目バグ(技)で簡単に用意できたり。
A0はPPだとポイントアップ2回での32になり、初期PP25のじごくぐるまなどから取ってくれば23番目バグ(技)で簡単に用意できたり。
コラッタの外見がムーンボール(A5)に該当するため、15番目バグ(ポケモン)で持ち物に埋め込める。
コラッタの外見がムーンボール(A5)に該当するため、15番目バグ(ポケモン)で持ち物に埋め込める。
番外編:金銀クリスタルでパークボール(B1)を5個入手するコード
番外編:金銀クリスタルでパークボール(B1)を5個入手するコード
`1F B1 05 90` ガンテツ待てねぇって人用
1F B1 05 90 ガンテツ待てねぇって人用
実行後、**メニューを閉じると**パークボール×5がリュックに加わる。
実行後、メニューを閉じるとパークボール×5がリュックに加わる。
一応ボールポケットにはパークボールの入るスペースもある。
一応ボールポケットにはパークボールの入るスペースもある。
金銀
金銀
がまぜづひせぼアゃヤてカで空空空 ムあガチののののののののののだっ
がまぜづひせぼアゃヤてカで空空空 ムあガチののののののののののだっ
クリスタル
クリスタル
がみぜドひせぼアゃヤてカで空空空 ムあガチののののののののののだっ
がみぜドひせぼアゃヤてカで空空空 ムあガチののののののののののだっ
カビチュウ(06等)※要らなかった
カビチュウ(06等)※要らなかった
ボールポケット破壊で大量に出現する?×0で十分賄えた。
ボールポケット破壊で大量に出現する?×0で十分賄えた。
1個19660円、2個39321円で売れることを利用し、資金源にする…はずだったが、ボールポケット破壊時にできる「?」を売ればいいことに気づく。
1個19660円、2個39321円で売れることを利用し、資金源にする…はずだったが、ボールポケット破壊時にできる「?」を売ればいいことに気づく。
売値はカビチュウと同じ…なのだがどうせ255個売るので999999円を超えてしまう。
売値はカビチュウと同じ…なのだがどうせ255個売るので999999円を超えてしまう。
パソコンを埋めるためにどくけし99個(9900円)を34セット(336600円)と1個(100円)、まひなおし38個(7600円)を買うと、総額が344300円になる。 18個売れば353889円になるのでほぼ間に合う。
パソコンを埋めるためにどくけし99個(9900円)を34セット(336600円)と1個(100円)、まひなおし38個(7600円)を買うと、総額が344300円になる。 18個売れば353889円になるのでほぼ間に合う。
カビチュウの売値計算が特殊すぎる…キズぐすり、きのみ、どくけしのみ、ねむけざまし(250円)で4種を埋め、どくけし×99を残りで埋めて38種を確保、どくけし×1を39種目に置き、まひなおし×38で40種目の個数とする。
カビチュウの売値計算が特殊すぎる…キズぐすり、きのみ、どくけしのみ、ねむけざまし(250円)で4種を埋め、どくけし×99を残りで埋めて38種を確保、どくけし×1を39種目に置き、まひなおし×38で40種目の個数とする。
わざマシン41(E9)
わざマシン41(E9)
これはどちらのルートでも必要ということで
これはどちらのルートでも必要ということで
ポイントアップ3回、PP41の技を23番目バグで2匹目に埋め込める。しっぽをふるが初期PP30なのでちょうどいいか。
ポイントアップ3回、PP41の技を23番目バグで2匹目に埋め込める。しっぽをふるが初期PP30なのでちょうどいいか。
これは何個でもいいので1個あればいい。
これは何個でもいいので1個あればいい。
以下はどちらから実行したいかで用意するアイテムを変える。
以下はどちらから実行したいかで用意するアイテムを変える。
メール実行用
メール実行用
ジャンプ先をCF21にして最後に読んだメールの1文字目に飛ぶ。 手持ちポケモンに依存しないが、実行前にメールを確認する必要が出てくるうえ、図鑑モードを弄れなくなる。 (その点は基本わざマシン17を使えばいいのだが)
ジャンプ先をCF21にして最後に読んだメールの1文字目に飛ぶ。 手持ちポケモンに依存しないが、実行前にメールを確認する必要が出てくるうえ、図鑑モードを弄れなくなる。 (その点は基本わざマシン17を使えばいいのだが)
想定する並び順
想定する並び順
パソコンの40番目から `D659: 03 21 21 CF 03 E9`
パソコンの40番目から D659: 03 21 21 CF 03 E9
(まひなおし)×3
(まひなおし)×3
03 [inc bc] これをパソコンの40番目に置く。 コードは個数からなので種類自体は問わないが、おかあさんが買ってこないものにする必要がある。
03 [inc bc] これをパソコンの40番目に置く。 コードは個数からなので種類自体は問わないが、おかあさんが買ってこないものにする必要がある。
ヨクアタール×33
ヨクアタール×33
21 21 [続く] 初代のかみなりのいしポジション。
21 21 [続く] 初代のかみなりのいしポジション。
わざマシン16×3
わざマシン16×3
CF 03 [ld hl CF21→inc bc] わざマシン16は本来個数限定品だが、初代から持ってくればいいので問題ない。 わざマシン17×37(D0 25[ld hl,D021→dec h])でも代用は可能だが、初代前提なら必要ない。
CF 03 [ld hl CF21→inc bc] わざマシン16は本来個数限定品だが、初代から持ってくればいいので問題ない。 わざマシン17×37(D0 25[ld hl,D021→dec h])でも代用は可能だが、初代前提なら必要ない。
わざマシン41
わざマシン41
E9 [jp hl] hlレジスタに入れたCF21に飛ぶ。 ここで終わりのため個数は問わない。
E9 [jp hl] hlレジスタに入れたCF21に飛ぶ。 ここで終わりのため個数は問わない。
ヨクアタール(21)
ヨクアタール(21)
33個必要。上記のボックス30匹に持たせるコードを使用することを推奨。(30匹目は「ぼプダの」) 一応、ポケスタ金銀の64カセットとGBカセットでのセーブタイミングの違いを利用した道具増殖で倍々に増やすこともできなくはない。
33個必要。上記のボックス30匹に持たせるコードを使用することを推奨。(30匹目は「ぼプダの」) 一応、ポケスタ金銀の64カセットとGBカセットでのセーブタイミングの違いを利用した道具増殖で倍々に増やすこともできなくはない。
初代ポケモンの外見に相当するのはガーディ。緑に出現しないのが難点。
初代ポケモンの外見に相当するのはガーディ。緑に出現しないのが難点。
技に相当するのは「たいあたり」のため、これを44番目と入れ替えることで2匹目のポケモンにヨクアタールを持たせることも一応可能。 ポイントアップ無し、PP33の技を23番目と入れ替える方が(道具管理的に)楽ではあるが。
技に相当するのは「たいあたり」のため、これを44番目と入れ替えることで2匹目のポケモンにヨクアタールを持たせることも一応可能。 ポイントアップ無し、PP33の技を23番目と入れ替える方が(道具管理的に)楽ではあるが。
ボックスのポケモン30匹にヨクアタールを持たせるコード(道具版)
ボックスのポケモン30匹にヨクアタールを持たせるコード(道具版)
無駄に長いし、基本ニックネーム実行で十分。
無駄に長いし、基本ニックネーム実行で十分。
ミックスオレ×1
ミックスオレ×1
3E 01 [ld a,01]
3E 01 [ld a,01]
サイコソーダ×87
サイコソーダ×87
3D 57 [dec a→ld d,a]
3D 57 [dec a→ld d,a]
むしよけスプレー×32
むしよけスプレー×32
1E 20 [ld e,20]
1E 20 [ld e,20]
ねむけざまし×30
ねむけざまし×30
0E 0E [ ld c,30]
0E 0E [ ld c,30]
プラスパワー×198
プラスパワー×198
41 C6 [ld b,c→続く] 「ピに」から採ることを前提。 ld b,c自体に意味はない。
41 C6 [ld b,c→続く] 「ピに」から採ることを前提。 ld b,c自体に意味はない。
かみなりのいし×33
かみなりのいし×33
21 21 [add a,21→続く] かみなりのいしをld hl,yyxx以外でも使うことになるとは…
21 21 [add a,21→続く] かみなりのいしをld hl,yyxx以外でも使うことになるとは…
わざマシン17×217
わざマシン17×217
D9 D9 [ld hl,D9D9] 「るる」から採る。
D9 D9 [ld hl,D9D9] 「るる」から採る。
みずのいし×25
みずのいし×25
22 19 [ldi(hl),a→add hl,de]
22 19 [ldi(hl),a→add hl,de]
こおりなおし×32
こおりなおし×32
0D 20 [dec c→続く]
0D 20 [dec c→続く]
わざマシン51×5
わざマシン51×5
FB 05 [jr nz,FB→dec b] ループ地点。dec bに意味は無い。
FB 05 [jr nz,FB→dec b] ループ地点。dec bに意味は無い。
わざマシン01×任意
わざマシン01×任意
C9 [ret]
C9 [ret]
わざマシン16(CF)
わざマシン16(CF)
1個では問題があるため3個は必要。
1個では問題があるため3個は必要。
01がld bc,yyxx、02がld (bc),aになるため。
01がld bc,yyxx、02がld (bc),aになるため。
ポイントアップ3回、PP15の技を23番目と入れ替えることで2匹目のポケモンに持たせられる。
ポイントアップ3回、PP15の技を23番目と入れ替えることで2匹目のポケモンに持たせられる。
こごえるかぜがたくさん欲しいとかなら先述のコード(30匹目を「ぼまの」に変える)で30個とか手に入れてもいいのだが。
こごえるかぜがたくさん欲しいとかなら先述のコード(30匹目を「ぼまの」に変える)で30個とか手に入れてもいいのだが。
番外編:金銀クリスタルでヨクアタール×33とわざマシン16×64を入手するコード
番外編:金銀クリスタルでヨクアタール×33とわざマシン16×64を入手するコード
`1F 21 21 1F CF 40 90` 既に他の金銀クリスタルに任意コード実行環境がある人向け
1F 21 21 1F CF 40 90 既に他の金銀クリスタルに任意コード実行環境がある人向け
実行後、**メニューを閉じると**アイテムがリュックに加わる。 ヨクアタールは普通に買うと31350円もかかるのでついでに。 わざマシン41はメールに収まりきらなかった。コガネ百貨店で普通に買えるものなので問題はないはずだが。
実行後、メニューを閉じるとアイテムがリュックに加わる。 ヨクアタールは普通に買うと31350円もかかるのでついでに。 わざマシン41はメールに収まりきらなかった。コガネ百貨店で普通に買えるものなので問題はないはずだが。
金銀
金銀
がまぜばごダづぶぶづづひせボア空 ゃヤてカで空ムムぼままパチ空だっ
がまぜばごダづぶぶづづひせボア空 ゃヤてカで空ムムぼままパチ空だっ
クリスタル
クリスタル
がみぜブごダづぶぶづづひせボア空 ゃメてハぢ空ムムぼままパチ空だっ
がみぜブごダづぶぶづづひせボア空 ゃメてハぢ空ムムぼままパチ空だっ
3匹目ポケモン用
3匹目ポケモン用
ジャンプ先をDA50にすることで、手持ちポケモン3匹目のステータス(中身種族)に飛ぶ。 わざマシン17とジャンプ先を共有するためのもので、置くポケモンによってジャンプ先を変えることができるのが特徴。
ジャンプ先をDA50にすることで、手持ちポケモン3匹目のステータス(中身種族)に飛ぶ。 わざマシン17とジャンプ先を共有するためのもので、置くポケモンによってジャンプ先を変えることができるのが特徴。
想定する並び順
想定する並び順
パソコンの40番目から `D659: 26 DA 2E 50 03 E9`
パソコンの40番目から D659: 26 DA 2E 50 03 E9
(まひなおし)×38
(まひなおし)×38
26 [続く] コードは個数から。
26 [続く] コードは個数から。
わざマシン27×46
わざマシン27×46
DA 2E [ld h,DA→続く]
DA 2E [ld h,DA→続く]
こおったきのみ×3
こおったきのみ×3
50 03 [ld l,50→inc bc]
50 03 [ld l,50→inc bc]
わざマシン41
わざマシン41
E9 [jp hl] hlレジスタに入れたDA50に入れる。
E9 [jp hl] hlレジスタに入れたDA50に入れる。
並び順別解
並び順別解
パソコンの40番目から `D659: 03 21 50 DA 03 E9` こっちはわざマシン27の個数が少なく済むため既存データ向け ヨクアタールを80個用意するにはボックスに30個用意しても3周いる。
パソコンの40番目から D659: 03 21 50 DA 03 E9 こっちはわざマシン27の個数が少なく済むため既存データ向け ヨクアタールを80個用意するにはボックスに30個用意しても3周いる。
(まひなおし)×3
(まひなおし)×3
03 [inc bc]
03 [inc bc]
ヨクアタール×80
ヨクアタール×80
21 50 [続く]
21 50 [続く]
わざマシン27×3
わざマシン27×3
DA 03 [ld hl,DA50→inc bc]
DA 03 [ld hl,DA50→inc bc]
わざマシン41
わざマシン41
E9 [jp hl] hlレジスタに入れたDA50に飛ぶ。
E9 [jp hl] hlレジスタに入れたDA50に飛ぶ。
わざマシン27(DA)
わざマシン27(DA)
46個必要。
46個必要。
ボックスのポケモン30匹にわざマシン27を持たせるコード(道具版)
ボックスのポケモン30匹にわざマシン27を持たせるコード(道具版)
※2024/5/24 書き込み始点の設定を忘れていたので修正しました。申し訳ありません。
※2024/5/24 書き込み始点の設定を忘れていたので修正しました。申し訳ありません。
ミックスオレ×1
ミックスオレ×1
3E 01 [ld a,01]
3E 01 [ld a,01]
サイコソーダ×87
サイコソーダ×87
3D 57 [dec a→ld d,a] これでdを00にする。
3D 57 [dec a→ld d,a] これでdを00にする。
むしよけスプレー×32
むしよけスプレー×32
1E 20[ld e,20] これでdeは0020に。
1E 20[ld e,20] これでdeは0020に。
ねむけざまし×30
ねむけざまし×30
0E 1E [ld c,1E] ループ回数を指定
0E 1E [ld c,1E] ループ回数を指定
わざマシン14×38
わざマシン14×38
D6 26 [sub a,26] 00-26でDAを作っている。 99個でヘビーボール(9D)までに対応。
D6 26 [sub a,26] 00-26でDAを作っている。 99個でヘビーボール(9D)までに対応。
かみなりのいし×217
かみなりのいし×217
21 D9[続く] 217個自体は「る」で簡単に作れる。
21 D9[続く] 217個自体は「る」で簡単に作れる。
わざマシン17×5
わざマシン17×5
D9 05 [ld hl,D9D9→dec b] 「るガ」で採ることを前提とする。 dec bに意味はない。
D9 05 [ld hl,D9D9→dec b] 「るガ」で採ることを前提とする。 dec bに意味はない。
みずのいし×25
みずのいし×25
22 19 [ldi (hl),a→add hl,de] ここからループ開始
22 19 [ldi (hl),a→add hl,de] ここからループ開始
こおりなおし×32
こおりなおし×32
0D 20 [dec c→続く]
0D 20 [dec c→続く]
わざマシン51×5
わざマシン51×5
FB 05 [jr nz,FB→dec b] ループ地点。やはりdec bに意味は無い。
FB 05 [jr nz,FB→dec b] ループ地点。やはりdec bに意味は無い。
わざマシン01×任意
わざマシン01×任意
C9 [ret]
C9 [ret]
こおったきのみ(50)
こおったきのみ(50)
ポイントアップ1回、PP16の技を23番目バグで埋め込める。初期PP15のかげぶんしんを使うとちょうどいい。
ポイントアップ1回、PP16の技を23番目バグで埋め込める。初期PP15のかげぶんしんを使うとちょうどいい。
3個は必要になる。
3個は必要になる。
メール数通
メール数通
はながらメールが9E
はながらメールが9E
アズマオウの外見を15番目バグ(ポケモン)で埋め込める。
アズマオウの外見を15番目バグ(ポケモン)で埋め込める。
なみのり・みずいろ・にがおえ・ラブリー・ブイブイ・へんしん・あおぞら・おんぷ・まぼろしメールがB5~BD
なみのり・みずいろ・にがおえ・ラブリー・ブイブイ・へんしん・あおぞら・おんぷ・まぼろしメールがB5~BD
初期PP40の技にポイントアップを2回使えばそのまま23番目バグ(技)でみずいろメール(B6)にできる。
初期PP40の技にポイントアップを2回使えばそのまま23番目バグ(技)でみずいろメール(B6)にできる。
番外編:金銀クリスタルでまぼろしメール×99を入手するコード
番外編:金銀クリスタルでまぼろしメール×99を入手するコード
`1F BD 63 90` 既に他の金銀クリスタルで任意コード実行環境を整えている人向け まぼろしメールは通常プレイでは手に入らない。
1F BD 63 90 既に他の金銀クリスタルで任意コード実行環境を整えている人向け まぼろしメールは通常プレイでは手に入らない。
実行後、**メニューを閉じると**アイテムがリュックに加わる。
実行後、メニューを閉じるとアイテムがリュックに加わる。
金銀
金銀
がまぜばぼルダづざひせぼアゃヤ てカで空空空ムすすチのののだっ
がまぜばぼルダづざひせぼアゃヤ てカで空空空ムすすチのののだっ
クリスタル
クリスタル
がみぜブぼルダづざひせぼアゃメ てハぢ空空空ムすすチのののだっ
がみぜブぼルダづざひせぼアゃメ てハぢ空空空ムすすチのののだっ
その他、準備するポケモン
その他、準備するポケモン
メール実行の場合は後から作ればいいため不要。 わざマシン17を使用する際の補助用ポケモンも初代で用意しておくと早期にセットアップを完了できる。 64のボックスから他人のポケモンを引き出すためには図鑑を150種以上埋めなければならないため、事前にポケモンのIDと親名を引き出す先のものに変更しておく。
メール実行の場合は後から作ればいいため不要。 わざマシン17を使用する際の補助用ポケモンも初代で用意しておくと早期にセットアップを完了できる。 64のボックスから他人のポケモンを引き出すためには図鑑を150種以上埋めなければならないため、事前にポケモンのIDと親名を引き出す先のものに変更しておく。
能力を弄ったニョロボン
能力を弄ったニョロボン
https://dynalist.io/d/jBSAXaqFTvN5FAWjqsTBDQok
手持ちの3匹目にこれを置き、コードを実行することでメール実行用に変換する。
手持ちの3匹目にこれを置き、コードを実行することでメール実行用に変換する。
ポケスタ金銀を利用する関係上、ほろびのうたなどは仕込んでおくことができない。
ポケスタ金銀を利用する関係上、ほろびのうたなどは仕込んでおくことができない。
IDと親名は金銀のものと同じにする。 これにより、64のボックス経由で転送することができる。
IDと親名は金銀のものと同じにする。 これにより、64のボックス経由で転送することができる。
64GBパックが2台あれば、タイムカプセル未解禁でも通信交換はできるようだが。
64GBパックが2台あれば、タイムカプセル未解禁でも通信交換はできるようだが。
構築例(メール実行用)
構築例(メール実行用)
書き換え箇所(手持ち1匹目の場合)
書き換え箇所(手持ち1匹目の場合)
`D130: xx xx xx 06 2E 54 18 05 xx xx xx xx xx 26 DA 3E CF` `D140: 32 3E 21 32 3E C3 32 C9`
D130: xx xx xx 06 2E 54 18 05 xx xx xx xx xx 26 DA 3E CF D140: 32 3E 21 32 3E C3 32 C9
持ち物(D132)はカビチュウ(06)にしてあるが、捕まえたままの状態だときのみになるはず。
持ち物(D132)はカビチュウ(06)にしてあるが、捕まえたままの状態だときのみになるはず。
技構成
技構成
ほえる (2E)
ほえる (2E)
でんきショック (54)
でんきショック (54)
にどげり (18)
にどげり (18)
メガトンパンチ (5)
メガトンパンチ (5)
ポッポLv.6
ポッポLv.6
アンノーンの代用
アンノーンの代用
3番道路に25%の確率で出現するので、それを捕まえる。適当なポッポをふしぎなアメでLv.6にしてもいい。
3番道路に25%の確率で出現するので、それを捕まえる。適当なポッポをふしぎなアメでLv.6にしてもいい。
努力値なしの状態だとこうげき~とくぼうが9~13の範囲に収まるため、アンノーンを使わずにわざマシン17実行の補助ができる。空を飛べるのもポイント。
努力値なしの状態だとこうげき~とくぼうが9~13の範囲に収まるため、アンノーンを使わずにわざマシン17実行の補助ができる。空を飛べるのもポイント。
スムーズに作業を進めるなら、ニョロボン同様IDと親名を金銀のものに合わせておきたい。ニックネームもわかりやすくすることを推奨。
スムーズに作業を進めるなら、ニョロボン同様IDと親名を金銀のものに合わせておきたい。ニックネームもわかりやすくすることを推奨。
(ピーピーマックスを持たせ、技3つに一定回数のポイントアップを使用したアーボック)
(ピーピーマックスを持たせ、技3つに一定回数のポイントアップを使用したアーボック)
ニョロボンとは選択。メール実行用。要PP調整。
ニョロボンとは選択。メール実行用。要PP調整。
上記のニョロボンの代用。PP調整が必要になるが、初回からメール実行が可能になる。
上記のニョロボンの代用。PP調整が必要になるが、初回からメール実行が可能になる。
技のポイントアップ使用数と残りPP(メール実行用)
技のポイントアップ使用数と残りPP(メール実行用)
技4は使わない。
技4は使わない。
ポイントアップ3回、PP3(C3)
ポイントアップ3回、PP3(C3)
初期PP5の技が手っ取り早いが、にらみつけるを延々続けても問題はない。
初期PP5の技が手っ取り早いが、にらみつけるを延々続けても問題はない。
**ポイントアップ未使用**、PP33(21)
ポイントアップ未使用、PP33(21)
いやなおとがPP40であることを利用すると楽。
いやなおとがPP40であることを利用すると楽。
ポイントアップ3回、PP15(CF)
ポイントアップ3回、PP15(CF)
初期PP10の技が手っ取り早い。
初期PP10の技が手っ取り早い。
3匹目に置いたアーボックをニョロボンに変換するコード
3匹目に置いたアーボックをニョロボンに変換するコード
いちいちPPを調整するのは面倒だし。
いちいちPPを調整するのは面倒だし。
がれぜごひガぼまづよュづぼてづざ ぼぼづがるぜェづの
がれぜごひガぼまづよュづぼてづざ ぼぼづがるぜェづの
メタモンLv.100 個体値0 完全育成
メタモンLv.100 個体値0 完全育成
わざマシン17を使う時に便利 ぼうぎょ~とくぼうがすべて164(A4h`and h`)となり、aレジスタの値はニョロボンで勝手に上書きされるため事実上無意味になる。
わざマシン17を使う時に便利 ぼうぎょ~とくぼうがすべて164(A4hand h)となり、aレジスタの値はニョロボンで勝手に上書きされるため事実上無意味になる。
ポッポLv.6の別案。Lv.100かつ完全育成なため、戦闘で能力が変わらない。
ポッポLv.6の別案。Lv.100かつ完全育成なため、戦闘で能力が変わらない。
適当なコラッタを7番目バグ(技)でLv.100にした後、外見と中身を4Cに書き換え、努力値と個体値を書き換えればいい。
適当なコラッタを7番目バグ(技)でLv.100にした後、外見と中身を4Cに書き換え、努力値と個体値を書き換えればいい。
手持ち4匹目のコラッタ(またはラッタ)Lv.100を目的のメタモンに書き換えるコードを**ボックス1匹目**から書くとこんな感じ。
手持ち4匹目のコラッタ(またはラッタ)Lv.100を目的のメタモンに書き換えるコードをボックス1匹目から書くとこんな感じ。
ループ処理に絶対ジャンプを利用する関係で指定が厳密になる。 ※2024/5/24 ジャンプ先が適切ではないミスを修正しました。申し訳ありません。
ループ処理に絶対ジャンプを利用する関係で指定が厳密になる。 ※2024/5/24 ジャンプ先が適切ではないミスを修正しました。申し訳ありません。
がむぜぎぼ
がむぜぎぼ
26 D1 2E 27 3E 50 [ld h,D1→ld l,26→ld a,50] D127で手持ち4匹目の外見を指す。
26 D1 2E 27 3E 50 [ld h,D1→ld l,26→ld a,50] D127で手持ち4匹目の外見を指す。
よガぶづ空
よガぶづ空
D6 05 3C 32 7F 50 [sub a,05→inc a→ldd (hl),a→ld a,a→ld d,b] 50から05を引いて4B、インクリメントで4Cにすることでメタモンの内部番号にする。
D6 05 3C 32 7F 50 [sub a,05→inc a→ldd (hl),a→ld a,a→ld d,b] 50から05を引いて4B、インクリメントで4Cにすることでメタモンの内部番号にする。
ぜョづぜひ
ぜョづぜひ
2E AF 32 2E CB 50 [ld l,AF→ldd (hl),a→ld l,CB→ld d,b] D1AFで手持ち4匹目の中身種族、D1CBで手持ち4匹目のすばやさ・とくしゅ個体値を指す。
2E AF 32 2E CB 50 [ld l,AF→ldd (hl),a→ld l,CB→ld d,b] D1AFで手持ち4匹目の中身種族、D1CBで手持ち4匹目のすばやさ・とくしゅ個体値を指す。
ョづづギガ
ョづづギガ
AF 32 32 06 05 50 [xor a→ldd (hl),a→ldd (hl),a→ld b,05→ld d,b] 個体値をすべて0にする。bレジスタでループ回数を設定。
AF 32 32 06 05 50 [xor a→ldd (hl),a→ldd (hl),a→ld b,05→ld d,b] 個体値をすべて0にする。bレジスタでループ回数を設定。
べそそづづ
べそそづづ
3D BF BF ==32 32 50== [dec a→cp a→cp a→==ldd (hl),a→ldd (hl),a→ld d,b==] cp aはスペーサー。4文字目からループ開始。
3D BF BF 32 32 50 [dec a→cp a→cp a→ldd (hl),a→ldd (hl),a→ld d,b] cp aはスペーサー。4文字目からループ開始。
ガねつ空ん
ガねつ空ん
==05== C8 C2 7F DE [==dec b==→ret z→jp nz,DE7F] DE7Fでボックス5匹目のニックネーム4文字目に飛ぶ。 bレジスタが00になったときにゼロフラグが立つため、ret zで処理を終了する。
05 C8 C2 7F DE [dec b→ret z→jp nz,DE7F] DE7Fでボックス5匹目のニックネーム4文字目に飛ぶ。 bレジスタが00になったときにゼロフラグが立つため、ret zで処理を終了する。
各能力が192以上(個体値E以上)でなければいいので個体値を0にする必要は必ずしもない。適当に秘伝技とかを仕込んでおくのもありか。 とは言え、184~190(個体値A~D)だとぼうぎょ~とくぼうにcp命令が入るので、色違いとかにはしない方がいいかも?
各能力が192以上(個体値E以上)でなければいいので個体値を0にする必要は必ずしもない。適当に秘伝技とかを仕込んでおくのもありか。 とは言え、184~190(個体値A~D)だとぼうぎょ~とくぼうにcp命令が入るので、色違いとかにはしない方がいいかも?
手順
手順
パソコンの預け数を拡張すると末尾が「やめる」にならないため、拡張後に道具の移動が必要。
パソコンの預け数を拡張すると末尾が「やめる」にならないため、拡張後に道具の移動が必要。
下準備
下準備
一応ライバル命名を終えてヨシノシティにいることを想定する。
一応ライバル命名を終えてヨシノシティにいることを想定する。
共通
共通
ボールポケットをガンテツボール→モンスターボール×1~5(**3以外**)の2種のみにする。
ボールポケットをガンテツボール→モンスターボール×1~5(3以外)の2種のみにする。
ヨシノシティまでではスーパーボールも手に入らないため、持ち込んだガンテツボールと合わせて2種しかないはずだが。 2番目のボールの個数に指定があるのは、後の手順でボールポケットにボールを出現させるため。3だと「ひかりのこな」になってしまい、個数が調整できなくなる。
ヨシノシティまでではスーパーボールも手に入らないため、持ち込んだガンテツボールと合わせて2種しかないはずだが。 2番目のボールの個数に指定があるのは、後の手順でボールポケットにボールを出現させるため。3だと「ひかりのこな」になってしまい、個数が調整できなくなる。
たいせつポケットの末尾にじてんしゃが2台並ぶよう調整。
たいせつポケットの末尾にじてんしゃが2台並ぶよう調整。
1台目のじてんしゃを末尾に置いてから2台目を引き出したり預かったりするといい。
1台目のじてんしゃを末尾に置いてから2台目を引き出したり預かったりするといい。
メール実行の場合
メール実行の場合
どうぐポケットにヨクアタール×33とメール数通があることを確認する。
どうぐポケットにヨクアタール×33とメール数通があることを確認する。
今はまだ順番を気にする必要はない。
今はまだ順番を気にする必要はない。
わざマシンポケットにわざマシン16×3、わざマシン41があることを確認する。
わざマシンポケットにわざマシン16×3、わざマシン41があることを確認する。
ポケモン3匹目実行の場合
ポケモン3匹目実行の場合
ポッポとニョロボンで想定する。
ポッポとニョロボンで想定する。
どうぐポケットにこおったきのみ×3、メール数通があることを確認する。
どうぐポケットにこおったきのみ×3、メール数通があることを確認する。
今はまだ順番を気にする必要はない。
今はまだ順番を気にする必要はない。
わざマシンポケットにわざマシン27×46、わざマシン41があることを確認する。
わざマシンポケットにわざマシン27×46、わざマシン41があることを確認する。
手持ちの2匹目にポッポLv.6を、3匹目にニョロボンを置く。
手持ちの2匹目にポッポLv.6を、3匹目にニョロボンを置く。
これは任意コード実行の基本セットアップになる。
これは任意コード実行の基本セットアップになる。
図鑑モード変更その他
図鑑モード変更その他
共通
共通
道具を42種以上預けたことがないことを前提としているが、本作でそのようなことになるのはまれ。
道具を42種以上預けたことがないことを前提としているが、本作でそのようなことになるのはまれ。
たいせつポケットにある1台目のじてんしゃを、2台目のじてんしゃのところに移動する。
たいせつポケットにある1台目のじてんしゃを、2台目のじてんしゃのところに移動する。
これにより、個数まとめ処理でボールポケットが破壊される。
これにより、個数まとめ処理でボールポケットが破壊される。
じてんしゃを便利ボタンに登録する。
じてんしゃを便利ボタンに登録する。
これでじてんしゃがボールポケット67番目に置かれるので、65番目のアイテムの目安にする。
これでじてんしゃがボールポケット67番目に置かれるので、65番目のアイテムの目安にする。
ショップに行き、ボールポケットの下にある適当な?×0を255個売る。
ショップに行き、ボールポケットの下にある適当な?×0を255個売る。
カビチュウでも構わないが、0個のものを売ること。(売値はどちらも同じ) これで所持金が999999円になるので、好きに買い物できる。 なお、0個のアイテムは0個売らない限り消えない。 マスターボール(0円)でなければ255個のボールを102個売っても十分なんだけれど…
カビチュウでも構わないが、0個のものを売ること。(売値はどちらも同じ) これで所持金が999999円になるので、好きに買い物できる。 なお、0個のアイテムは0個売らない限り消えない。 マスターボール(0円)でなければ255個のボールを102個売っても十分なんだけれど…
どくけしを43個購入。
どくけしを43個購入。
4300円
4300円
ボールポケットにできている255個のボールを102個捨てる。(153個にする)
ボールポケットにできている255個のボールを102個捨てる。(153個にする)
右×10(01→101)→上×1(101→102)の順番で操作すればいい。 ~~下(01→255)→左×15(255→105)→下×3(105→102)の順番で操作すればいいはず…~~
右×10(01→101)→上×1(101→102)の順番で操作すればいい。 下(01→255)→左×15(255→105)→下×3(105→102)の順番で操作すればいいはず…
どくけし×43をパソコンに預け、1番目に置く。
どくけし×43をパソコンに預け、1番目に置く。
メール実行の場合
メール実行の場合
まひなおしを3個購入。
まひなおしを3個購入。
600円
600円
まひなおし×3→ヨクアタール×33→わざマシン16×3→わざマシン41の順で預ける。
まひなおし×3→ヨクアタール×33→わざマシン16×3→わざマシン41の順で預ける。
どくけし×43が先頭にあることの確認を忘れずに。
どくけし×43が先頭にあることの確認を忘れずに。
153個にしたボールを65番目まで移動する。
153個にしたボールを65番目まで移動する。
登録したじてんしゃを目安にし、その2つ上に移動する。 これにより図鑑モード99hへの変更と預け数38への変更を行う。 この時、メニューから「ポケギア」が消えてしまうが、後で修正する。
登録したじてんしゃを目安にし、その2つ上に移動する。 これにより図鑑モード99hへの変更と預け数38への変更を行う。 この時、メニューから「ポケギア」が消えてしまうが、後で修正する。
まひなおし×3→ヨクアタール×33→わざマシン×33→わざマシン41の順で、末尾の「?」の上に移動する。
まひなおし×3→ヨクアタール×33→わざマシン×33→わざマシン41の順で、末尾の「?」の上に移動する。
末尾の「?」は本来「やめる」が入るところ。 40番目から道具を並べているのだが、普通と違い「やめる」が末尾に入っていないのでちょっとややこしい。
末尾の「?」は本来「やめる」が入るところ。 40番目から道具を並べているのだが、普通と違い「やめる」が末尾に入っていないのでちょっとややこしい。
文面に「の」とだけ入れたメールを持たせ、そのメールを見てから図鑑を見る。ここでフリーズせずにバグった図鑑が出るだけならセットアップは完了しているので、Bボタンで終了。
文面に「の」とだけ入れたメールを持たせ、そのメールを見てから図鑑を見る。ここでフリーズせずにバグった図鑑が出るだけならセットアップは完了しているので、Bボタンで終了。
手持ち3匹目実行の場合
手持ち3匹目実行の場合
ニョロボンに書き込んだコードで技を書き換え、メール実行を可能にする。
ニョロボンに書き込んだコードで技を書き換え、メール実行を可能にする。
まひなおしを38個購入。
まひなおしを38個購入。
7600円
7600円
まひなおし×38→わざマシン27×46→こおったきのみ×3→わざマシン41の順で預ける。
まひなおし×38→わざマシン27×46→こおったきのみ×3→わざマシン41の順で預ける。
どくけし×43が先頭にあることの確認を忘れずに。
どくけし×43が先頭にあることの確認を忘れずに。
153個にしたボールを65番目まで移動する。
153個にしたボールを65番目まで移動する。
登録したじてんしゃを目安にし、その2つ上に移動する。 これにより図鑑モード99hへの変更と預け数38への変更を行う。 この時、メニューから「ポケギア」が消えてしまうが、後で修正する。
登録したじてんしゃを目安にし、その2つ上に移動する。 これにより図鑑モード99hへの変更と預け数38への変更を行う。 この時、メニューから「ポケギア」が消えてしまうが、後で修正する。
まひなおし×38→わざマシン27×46→こおったきのみ×3→わざマシン41の順で、末尾の「?」の上に移動する。
まひなおし×38→わざマシン27×46→こおったきのみ×3→わざマシン41の順で、末尾の「?」の上に移動する。
末尾の「?」は本来「やめる」が入るところ。 手持ち2匹目にポッポLv.6、3匹目にニョロボンがいることも改めて確認することを推奨。
末尾の「?」は本来「やめる」が入るところ。 手持ち2匹目にポッポLv.6、3匹目にニョロボンがいることも改めて確認することを推奨。
預け終わったら、図鑑を見る。バグった図鑑が表示されたらBボタンで終了。
預け終わったら、図鑑を見る。バグった図鑑が表示されたらBボタンで終了。
コードは3匹目のニョロボンの情報から実行される。
コードは3匹目のニョロボンの情報から実行される。
成功していれば、ニョロボンの技構成が変化しているはず。
成功していれば、ニョロボンの技構成が変化しているはず。
ほろびのうた→たいあたり→いばるで最後に読んだメールの文頭に飛ぶやつ。 以後はこれを使ってメールからの実行を行う。
ほろびのうた→たいあたり→いばるで最後に読んだメールの文頭に飛ぶやつ。 以後はこれを使ってメールからの実行を行う。
修正作業
修正作業
一連の手順で破壊されたボールポケットやたいせつポケットを修正し、わざマシン17を追加する。 わざマシン17はポケスタ金銀では使用不可能な点に注意。
一連の手順で破壊されたボールポケットやたいせつポケットを修正し、わざマシン17を追加する。 わざマシン17はポケスタ金銀では使用不可能な点に注意。
以下のメールを読んでから図鑑を見る。
以下のメールを読んでから図鑑を見る。
実行は一通ずつ。
実行は一通ずつ。
がゆぜゅひゼョべづョづぜやどぺパ ズゴべづにむづの
がゆぜゅひゼョべづョづぜやどぺパ ズゴべづにむづの
ボールポケットを空にし、たいせつポケットに終端を復活させつつわざマシン17を追加する。
ボールポケットを空にし、たいせつポケットに終端を復活させつつわざマシン17を追加する。
コード内容
コード内容
26 D5 ; 「がゆ」ld h,D5
26 D5 ; 「がゆ」ld h,D5
2E E1 ; 「ぜゅ」 ld l,E1
2E E1 ; 「ぜゅ」 ld l,E1
CB 0D ; 「ひゼ」rrc l
CB 0D ; 「ひゼ」rrc l
E1→F0 D5F0はボールポケット1種目の種類
E1→F0 D5F0はボールポケット1種目の種類
AF ; 「ョ」xor a
AF ; 「ョ」xor a
aレジスタを00に。
aレジスタを00に。
3D ; 「べ」dec a
3D ; 「べ」dec a
00→FF
00→FF
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
ボールポケットの先頭を「やめる」に。
ボールポケットの先頭を「やめる」に。
AF ; 「ョ」xor a
AF ; 「ョ」xor a
aレジスタをを再び0に。別に3C「ぶ」[inc a]でもいいんだけれど。
aレジスタをを再び0に。別に3C「ぶ」[inc a]でもいいんだけれど。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
ボールポケットの所持数を0に。これでボールポケットは空になり、「やめる」の下にも行けなくなる。
ボールポケットの所持数を0に。これでボールポケットは空になり、「やめる」の下にも行けなくなる。
2E D4; 「ぜや」ld l,D4
2E D4; 「ぜや」ld l,D4
D5D4はたいせつなものポケットの所持数
D5D4はたいせつなものポケットの所持数
34 ; 「ど」 inc (hl)
34 ; 「ど」 inc (hl)
わざマシン17を入れるスペースを作るため、所持数を1個増やす。
わざマシン17を入れるスペースを作るため、所持数を1個増やす。
47 ; 「ぺ」ld b,a
47 ; 「ぺ」ld b,a
bレジスタの値を00にする。
bレジスタの値を00にする。
40 ; 「パ」ld b,b
40 ; 「パ」ld b,b
改行を使ってからでないと次の工程に進めないため、無意味な命令を挟む。
改行を使ってからでないと次の工程に進めないため、無意味な命令を挟む。
4E ; 「改行」ld c,(hl)
4E ; 「改行」ld c,(hl)
メールを使う上で17文字目に必ず入る改行。 現在hlレジスタはたいせつなものポケット所持数(D5D4)を指しているため、そこの数値をcレジスタに代入する。
メールを使う上で17文字目に必ず入る改行。 現在hlレジスタはたいせつなものポケット所持数(D5D4)を指しているため、そこの数値をcレジスタに代入する。
0C ; 「ズ」inc c
0C ; 「ズ」inc c
cレジスタの値をたいせつなものポケット所持数+1にする。
cレジスタの値をたいせつなものポケット所持数+1にする。
09 ; 「ゴ」add hl,bc
09 ; 「ゴ」add hl,bc
hlレジスタの参照をたいせつなものポケットの末尾に移動。 たいせつなものは個数が管理されていないため、数値を倍にする必要はない。
hlレジスタの参照をたいせつなものポケットの末尾に移動。 たいせつなものは個数が管理されていないため、数値を倍にする必要はない。
3D ; 「べ」dec a
3D ; 「べ」dec a
aレジスタをFFに。
aレジスタをFFに。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
たいせつなものポケットの末尾を「やめる」に。これでたいせつなものポケットの「やめる」が復活する。
たいせつなものポケットの末尾を「やめる」に。これでたいせつなものポケットの「やめる」が復活する。
C5 D1 ; 「むに」add a,D1
C5 D1 ; 「むに」add a,D1
FF+D1でD0に。(繰り上がりは気にしない) D0が入力できないわけではないため、3E D0「ぼみ」[ld d,3D]にしても問題なかったりする。
FF+D1でD0に。(繰り上がりは気にしない) D0が入力できないわけではないため、3E D0「ぼみ」[ld d,3D]にしても問題なかったりする。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
たいせつなものポケットにわざマシン17を追加。
たいせつなものポケットにわざマシン17を追加。
C9 ; 「の」ret
C9 ; 「の」ret
コード終了。
コード終了。
がよぜれひゼごじづじじョづの
がよぜれひゼごじづじじョづの
ラジオのチューニングを00hにしてポケギア機能を復活(元の情報はD66Dから取得)させる。 他の機能も追加したい場合は後述のポケギア機能全開放コードを。
ラジオのチューニングを00hにしてポケギア機能を復活(元の情報はD66Dから取得)させる。 他の機能も追加したい場合は後述のポケギア機能全開放コードを。
コード内容
コード内容
26 D5 ; 「がよ」ld h,D6
26 D5 ; 「がよ」ld h,D6
2E DA ; 「ぜれ」 ld l,DA
2E DA ; 「ぜれ」 ld l,DA
CB 0D ; 「ひゼ」rrc l
CB 0D ; 「ひゼ」rrc l
DA→6D D66Dはパソコン50番目の個数
DA→6D D66Dはパソコン50番目の個数
2A ; 「ご」ldi a,(hl)
2A ; 「ご」ldi a,(hl)
hlレジスタで示したアドレスの値をaレジスタに代入し、hlレジスタの値を+1。 これで、図鑑モード変更の際にパソコン50番目の個数にずれてしまったポケギアの情報を取得。
hlレジスタで示したアドレスの値をaレジスタに代入し、hlレジスタの値を+1。 これで、図鑑モード変更の際にパソコン50番目の個数にずれてしまったポケギアの情報を取得。
2C ; 「じ」inc l
2C ; 「じ」inc l
lレジスタの値を+1。 これでhlレジスタがD66Fになり、ポケギア機能のアドレスを指す。
lレジスタの値を+1。 これでhlレジスタがD66Fになり、ポケギア機能のアドレスを指す。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
aレジスタの値をhlレジスタで示したアドレスに代入し、hlレジスタの値を-1。 これでポケギアの情報を復元する。
aレジスタの値をhlレジスタで示したアドレスに代入し、hlレジスタの値を-1。 これでポケギアの情報を復元する。
2C ; 「じ」inc l
2C ; 「じ」inc l
lレジスタの値を+1。 これでhlレジスタがD66Fになり、ポケギア機能のアドレスを指す。
lレジスタの値を+1。 これでhlレジスタがD66Fになり、ポケギア機能のアドレスを指す。
2C ; 「じ」inc l
2C ; 「じ」inc l
lレジスタの値を+1。 これでhlレジスタがD670になり、ラジオのチューニングのアドレスを指す。
lレジスタの値を+1。 これでhlレジスタがD670になり、ラジオのチューニングのアドレスを指す。
AF ; 「ョ」xor a
AF ; 「ョ」xor a
aレジスタとaレジスタの排他的論理和(一致するbitを0に、不一致のbitを1にする)を取る。 aレジスタを00hにすることが目的。
aレジスタとaレジスタの排他的論理和(一致するbitを0に、不一致のbitを1にする)を取る。 aレジスタを00hにすることが目的。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
aレジスタの値をhlレジスタで示したアドレスに代入し、hlレジスタの値を-1。 これでラジオのチューニングを初期値に戻し、(ラジオカード取得時に)正常に操作できるようになる。
aレジスタの値をhlレジスタで示したアドレスに代入し、hlレジスタの値を-1。 これでラジオのチューニングを初期値に戻し、(ラジオカード取得時に)正常に操作できるようになる。
C9 ; 「の」ret
C9 ; 「の」ret
コード終了
コード終了
がよぜゴごレぐヅぺござよ9つどま づじじじガつごまョべづの
がよぜゴごレぐヅぺござよ9つどま づじじじガつごまョべづの
パソコン内の終端以外にある「やめる」を「?」(00h)に変えて、終端を「やめる」にする。
パソコン内の終端以外にある「やめる」を「?」(00h)に変えて、終端を「やめる」にする。
コード内容
コード内容
26 D6 ; 「がよ」ld h,D6
26 D6 ; 「がよ」ld h,D6
2E 09 ; 「ぜゴ」ld l,09
2E 09 ; 「ぜゴ」ld l,09
D609でパソコンの預け数を指す。
D609でパソコンの預け数を指す。
2A ; 「ご」ldi a,(hl)
2A ; 「ご」ldi a,(hl)
aレジスタにhlレジスタで示したアドレスの値を代入し、hlレジスタの値を+1。 これでパソコンの預け数を取得しつつ1番目の種類を指す。
aレジスタにhlレジスタで示したアドレスの値を代入し、hlレジスタの値を+1。 これでパソコンの預け数を取得しつつ1番目の種類を指す。
A7 ; 「レ」and a
A7 ; 「レ」and a
aレジスタとaレジスタの論理積を取り、結果をaレジスタに格納する。 (各bitを比較し、共に1なら1、どちらかが0なら0にする) 同じ数値同士の比較のためaレジスタは変化しないが、00hだった場合はゼロフラグが立つため、条件分岐に使う。
aレジスタとaレジスタの論理積を取り、結果をaレジスタに格納する。 (各bitを比較し、共に1なら1、どちらかが0なら0にする) 同じ数値同士の比較のためaレジスタは変化しないが、00hだった場合はゼロフラグが立つため、条件分岐に使う。
28 11 ; 「ぐヅ」jr z,11
28 11 ; 「ぐヅ」jr z,11
ゼロフラグが立っている場合はコードを11バイト飛ばす。 今回は道具預け数が0の場合に終端を「やめる」にするところまで飛ばすことを目的とする。
ゼロフラグが立っている場合はコードを11バイト飛ばす。 今回は道具預け数が0の場合に終端を「やめる」にするところまで飛ばすことを目的とする。
47 ; 「ぺ」ld b,a
47 ; 「ぺ」ld b,a
bレジスタにaレジスタの値を代入。 これでbレジスタに道具預け数を格納し、今後のループに使用する。
bレジスタにaレジスタの値を代入。 これでbレジスタに道具預け数を格納し、今後のループに使用する。
ループ部(CF2A~)
ループ部(CF2A~)
==2A ; 「ご」ldi a,(hl)==
2A ; 「ご」ldi a,(hl)
ここからループ開始。 どうぐの種類を取得する。
ここからループ開始。 どうぐの種類を取得する。
==2B ; 「ざ」dec hl==
2B ; 「ざ」dec hl
hlレジスタの値を-1。 これによって、ldi (hl),aでずれたhlレジスタを元の位置に戻す。
hlレジスタの値を-1。 これによって、ldi (hl),aでずれたhlレジスタを元の位置に戻す。
==D6 FF ; 「よ9」sub a,FF==
D6 FF ; 「よ9」sub a,FF
aレジスタの値からFFhを引く。 どうぐの種類が「やめる」(FFh)だった場合は00hになることを利用して条件分岐する。
aレジスタの値からFFhを引く。 どうぐの種類が「やめる」(FFh)だった場合は00hになることを利用して条件分岐する。
==C2 34 CF ; 「つどま」jp nz,CF34==
C2 34 CF ; 「つどま」jp nz,CF34
ゼロフラグが立っていない場合はCF34に飛ぶ。 CF34は最後に読んだメールの19文字目になる。 jr nz,xxさえ使えればシンプルにまとまるのだが…
ゼロフラグが立っていない場合はCF34に飛ぶ。 CF34は最後に読んだメールの19文字目になる。 jr nz,xxさえ使えればシンプルにまとまるのだが…
==__4E ; 「改行」ld c,(hl)__==
4E ; 「改行」ld c,(hl)
ゼロフラグが立っていた場合、つまり道具の種類が「やめる」だった場合の処理 メールの仕様上必ず入る改行。 cレジスタにhlレジスタで示したアドレスの値を代入する。 今回は処理上道具の種類が入るが、今回cレジスタは使わないため意味は無い。
ゼロフラグが立っていた場合、つまり道具の種類が「やめる」だった場合の処理 メールの仕様上必ず入る改行。 cレジスタにhlレジスタで示したアドレスの値を代入する。 今回は処理上道具の種類が入るが、今回cレジスタは使わないため意味は無い。
==__32 ; 「づ」ldd (hl),a__==
32 ; 「づ」ldd (hl),a
hlレジスタで示したアドレスにaレジスタの値を代入し、hlレジスタの値を-1。 分岐上、aレジスタには00hが入っているため、道具の種類を「?」(00h)にする効果となる。 ld (hl),aが使えるなら苦労はしない。
hlレジスタで示したアドレスにaレジスタの値を代入し、hlレジスタの値を-1。 分岐上、aレジスタには00hが入っているため、道具の種類を「?」(00h)にする効果となる。 ld (hl),aが使えるなら苦労はしない。
==__2C ; 「じ」inc l__==
2C ; 「じ」inc l
lレジスタの値を+1。 ldd (hl),aでずれたhlレジスタを元の位置に戻して分岐点に合流する。 本来ならinc hlを使うべき(もっと言えばld a,(hl)を使うべき)場面だが、入力できないので仕方ない。
lレジスタの値を+1。 ldd (hl),aでずれたhlレジスタを元の位置に戻して分岐点に合流する。 本来ならinc hlを使うべき(もっと言えばld a,(hl)を使うべき)場面だが、入力できないので仕方ない。
==2C ; 「じ」inc l==
2C ; 「じ」inc l
「つどま」から飛んでくる先。 これでhlレジスタは道具の個数を指す。
「つどま」から飛んでくる先。 これでhlレジスタは道具の個数を指す。
==2C ; 「じ」inc l==
2C ; 「じ」inc l
これでhlレジスタは次の道具の種類を指す。
これでhlレジスタは次の道具の種類を指す。
==05 ; 「ガ」dec b==
05 ; 「ガ」dec b
bレジスタの値を-1。 これでbレジスタの値が00hになればゼロフラグが立つため、条件分岐に使用する。
bレジスタの値を-1。 これでbレジスタの値が00hになればゼロフラグが立つため、条件分岐に使用する。
C2 2A CF : 「つごま」jp nz,CF2A
C2 2A CF : 「つごま」jp nz,CF2A
ゼロフラグが立っていない場合、CF2Aに飛ぶ。 CF2Aは最後に読んだメールの10文字目となり、先述のループ開始地点となる。 dec bと合わせることで、パソコンの道具預け数分のループを行う。
ゼロフラグが立っていない場合、CF2Aに飛ぶ。 CF2Aは最後に読んだメールの10文字目となり、先述のループ開始地点となる。 dec bと合わせることで、パソコンの道具預け数分のループを行う。
AF ; 「ョ」xor a
AF ; 「ョ」xor a
ループ終了後の処理。「ぐヅ」で飛んでくる先でもある。 aレジスタとaレジスタの排他的論理和を取り、結果をaレジスタに格納する。 (各ビットを比較し、異なるなら1、同じなら0にする) 同じ数値同士の比較のため、結果は00hになる。ゲーム中のプログラムでもよく使われるaレジスタのリセット処理。
ループ終了後の処理。「ぐヅ」で飛んでくる先でもある。 aレジスタとaレジスタの排他的論理和を取り、結果をaレジスタに格納する。 (各ビットを比較し、異なるなら1、同じなら0にする) 同じ数値同士の比較のため、結果は00hになる。ゲーム中のプログラムでもよく使われるaレジスタのリセット処理。
3D ; 「べ」dec a
3D ; 「べ」dec a
aレジスタの値を-1。 00hから1減らすとFFhになる。(キャリーフラグは立たない) 別にld a,FFでもいい流れ。
aレジスタの値を-1。 00hから1減らすとFFhになる。(キャリーフラグは立たない) 別にld a,FFでもいい流れ。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
ここまでの処理でhlレジスタはパソコンの道具終端を指しているはずなので、そこに「やめる」を入れる。
ここまでの処理でhlレジスタはパソコンの道具終端を指しているはずなので、そこに「やめる」を入れる。
C9 ; 「の」ret
C9 ; 「の」ret
プログラム終了(厳密にはサブルーチンを終えてスタックされたアドレスに帰る)
プログラム終了(厳密にはサブルーチンを終えてスタックされたアドレスに帰る)
図鑑から直接メール実行の形にした場合は、わざマシン17での実行を可能にするために以下のコードを使って適当なポケモンを書き換える。 どちらも先頭のポケモンを書き換えるものであることに注意。
図鑑から直接メール実行の形にした場合は、わざマシン17での実行を可能にするために以下のコードを使って適当なポケモンを書き換える。 どちらも先頭のポケモンを書き換えるものであることに注意。
ポケモン調達にはこのコードを使えばいい。
ポケモン調達にはこのコードを使えばいい。
もはやボールすらいらない。
もはやボールすらいらない。
がまぜぼぼテダづョづざざざざぼア ゃヤてカで ぺずヂギミミミチ
がまぜぼぼテダづョづざざざざぼア ゃヤてカで ぺずヂギミミミチ
手持ちに空きを作り(作らなくてもボックスには送られるが持ち物が変わる)、このコードを実行してからメニューを閉じるとポッポLv.6@はながらメールが手に入る。
手持ちに空きを作り(作らなくてもボックスには送られるが持ち物が変わる)、このコードを実行してからメニューを閉じるとポッポLv.6@はながらメールが手に入る。
コード内容
コード内容
26 CF ; 「がま」ld h,CF
26 CF ; 「がま」ld h,CF
2E 3E ; 「ぜぼ」ld l,3E
2E 3E ; 「ぜぼ」ld l,3E
CF3Eで最後の読んだメールの29文字目(3つ目の「ミ」のところ)を指す。
CF3Eで最後の読んだメールの29文字目(3つ目の「ミ」のところ)を指す。
3E 92 ; 「ぼテ」 ld a,92
3E 92 ; 「ぼテ」 ld a,92
0F ; 「ダ」rrca
0F ; 「ダ」rrca
aレジスタの値を右にローテート。 (各bitの値を右のbitにずらす。bit0の値はbit7とキャリーに入る) 49h(01001001b)は直接入力できないため、92h(10010010b)の値を右ローテートして作る。
aレジスタの値を右にローテート。 (各bitの値を右のbitにずらす。bit0の値はbit7とキャリーに入る) 49h(01001001b)は直接入力できないため、92h(10010010b)の値を右ローテートして作る。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
3つ目の「ミ」の部分を49hに変えてclosetextのスクリプトを実行できるようにする。
3つ目の「ミ」の部分を49hに変えてclosetextのスクリプトを実行できるようにする。
AF ; 「ョ」xor a
AF ; 「ョ」xor a
aレジスタの値を00hにする。
aレジスタの値を00hにする。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
2つ目の「ミ」の部分を00hに変える。
2つ目の「ミ」の部分を00hに変える。
2B 2B 2B 2B ; 「ざざざざ」dec hl×4
2B 2B 2B 2B ; 「ざざざざ」dec hl×4
本当はld l,38と入れたいところだが、あいにく38hは入力できないため、先ほどのldd (hl),aでCF3Cになっていたhlレジスタを4回デクリメント(-1)することで代用する。
本当はld l,38と入れたいところだが、あいにく38hは入力できないため、先ほどのldd (hl),aでCF3Cになっていたhlレジスタを4回デクリメント(-1)することで代用する。
3E 80 ; 「ぼア」ld a,80
3E 80 ; 「ぼア」ld a,80
4E ; 「(改行)」ld c,(hl)
4E ; 「(改行)」ld c,(hl)
E0 A2 ; 「ゃヤ」ld (FF00+A2),a
E0 A2 ; 「ゃヤ」ld (FF00+A2),a
FFA2に80hを代入。 メニューを閉じた後にスクリプトの実行を予約する役割となる。
FFA2に80hを代入。 メニューを閉じた後にスクリプトの実行を予約する役割となる。
C3 85 33 ; 「てカで」jp 3385
C3 85 33 ; 「てカで」jp 3385
CFD2、CFD3、CFD4にそれぞれ現在バンク、lレジスタの値、hレジスタの値を退避するサブルーチン。 これだけでは何も起こらないが、FFA2に80hを入れておいたことで、メニューを閉じた後にCF38(最後に読んだメール21文字目)からのスクリプトを実行できる。
CFD2、CFD3、CFD4にそれぞれ現在バンク、lレジスタの値、hレジスタの値を退避するサブルーチン。 これだけでは何も起こらないが、FFA2に80hを入れておいたことで、メニューを閉じた後にCF38(最後に読んだメール21文字目)からのスクリプトを実行できる。
スクリプト内容
スクリプト内容
`47 2D 10 06 9E 00 49 90`
47 2D 10 06 9E 00 49 90
47 ; 「ぺ」Script_opentext
47 ; 「ぺ」Script_opentext
テキストを表示するためのスクリプト。 これを行わないとメッセージの文字化けなどの弊害が発生する。
テキストを表示するためのスクリプト。 これを行わないとメッセージの文字化けなどの弊害が発生する。
2D ; 「ず」Script_givepoke
2D ; 「ず」Script_givepoke
ポケモンをもらうイベントスクリプト
ポケモンをもらうイベントスクリプト
10 ; 「ヂ」
10 ; 「ヂ」
もらうポケモンの図鑑番号を示す。 今回のポッポはNo.016なので、10hとなる。
もらうポケモンの図鑑番号を示す。 今回のポッポはNo.016なので、10hとなる。
06 ; 「ギ」
06 ; 「ギ」
もらうポケモンのレベルを示す。 Lv.6が欲しいので06hを入れる。
もらうポケモンのレベルを示す。 Lv.6が欲しいので06hを入れる。
9E ; 「ミ」
9E ; 「ミ」
もらうポケモンの持ち物を示す。 最初のポケモンがきのみを持っているのもこれを利用している。 今回ははながらメールが欲しいので9Ehを入れる。
もらうポケモンの持ち物を示す。 最初のポケモンがきのみを持っているのもこれを利用している。 今回ははながらメールが欲しいので9Ehを入れる。
00 ; 「(無効)」
00 ; 「(無効)」
もらうポケモンが人からの借り物かどうかを示す。 00hを入れればgivepokeスクリプトはここで終わりとなる。 01h(以上)を入れた場合はこの先にポケモンと親の名前の参照先を書く必要があるが、ROMバンクの指定があったりとなかなか複雑。
もらうポケモンが人からの借り物かどうかを示す。 00hを入れればgivepokeスクリプトはここで終わりとなる。 01h(以上)を入れた場合はこの先にポケモンと親の名前の参照先を書く必要があるが、ROMバンクの指定があったりとなかなか複雑。
49 ; 「(おかあさん)」Script_closetext
49 ; 「(おかあさん)」Script_closetext
メッセージ表示を終了するスクリプト
メッセージ表示を終了するスクリプト
90 ; 「チ」Script_end
90 ; 「チ」Script_end
スクリプト終了
スクリプト終了
がれぜギョづぴづべづづガつごまに ざづぼダづじひマぼオづぜァづの
がれぜギョづぴづべづづガつごまに ざづぼダづじひマぼオづぜァづの
手持ちの先頭にいるポケモンをLv.100、個体値0000、完全育成のメタモンにする。 能力の再計算はしないので、**一度パソコンに預けて引き出す**こと。 経験値が100万をオーバーしているのは気にしなくていい。 2匹目に置くことでわざマシン17からの実行で安全に3匹目まで動かす役割を持つ。
手持ちの先頭にいるポケモンをLv.100、個体値0000、完全育成のメタモンにする。 能力の再計算はしないので、一度パソコンに預けて引き出すこと。 経験値が100万をオーバーしているのは気にしなくていい。 2匹目に置くことでわざマシン17からの実行で安全に3匹目まで動かす役割を持つ。
コード内容
コード内容
26 DA ; 「がれ」ld h,DA
26 DA ; 「がれ」ld h,DA
2E 06 ; 「ぜギ」ld l,06
2E 06 ; 「ぜギ」ld l,06
DA06で手持ち1匹目のすばやさ・とくしゅ個体値を指す。
DA06で手持ち1匹目のすばやさ・とくしゅ個体値を指す。
AF ; 「ョ」xor a
AF ; 「ョ」xor a
aレジスタを00hにする。
aレジスタを00hにする。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
hlレジスタで示したアドレスにaレジスタの値を代入し、hlレジスタの値を-1。 これによってすばやさ・とくしゅ個体値を00にする。
hlレジスタで示したアドレスにaレジスタの値を代入し、hlレジスタの値を-1。 これによってすばやさ・とくしゅ個体値を00にする。
45 ; 「ぴ」ld b,l
45 ; 「ぴ」ld b,l
bレジスタにlレジスタの値を代入 先ほどのldd (hl),aによってlレジスタは05hになっているので、bレジスタには05hが入る。
bレジスタにlレジスタの値を代入 先ほどのldd (hl),aによってlレジスタは05hになっているので、bレジスタには05hが入る。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
こうげき・ぼうぎょ個体値を00にする。
こうげき・ぼうぎょ個体値を00にする。
3D ; 「べ」dec a
3D ; 「べ」dec a
aレジスタの値を-1。 これでaレジスタの値をFFhにする。
aレジスタの値を-1。 これでaレジスタの値をFFhにする。
ループ部
ループ部
CF2A~
CF2A~
==32 ; 「づ」ldd (hl),a==
32 ; 「づ」ldd (hl),a
ここからループ開始。(「つごま」で飛んでくる先) 努力値下桁をFFhにする。
ここからループ開始。(「つごま」で飛んでくる先) 努力値下桁をFFhにする。
==32 ; 「づ」ldd (hl),a==
32 ; 「づ」ldd (hl),a
努力値上桁をFFhにする。
努力値上桁をFFhにする。
==05 ; 「ガ」dec b==
05 ; 「ガ」dec b
bレジスタの値を-1。 これでbレジスタが00hになるとゼロフラグが立つ。
bレジスタの値を-1。 これでbレジスタが00hになるとゼロフラグが立つ。
C2 2A CF ; 「つごま」
C2 2A CF ; 「つごま」
ゼロフラグが立っていないときにCF2Aに飛ぶ。(ループ地点) bレジスタは05hから始まっているため、5回繰り返すことでHP~とくしゅの努力値をすべてFFhで埋める。
ゼロフラグが立っていないときにCF2Aに飛ぶ。(ループ地点) bレジスタは05hから始まっているため、5回繰り返すことでHP~とくしゅの努力値をすべてFFhで埋める。
C6 4E ; 「に(改行)」add a,4E
C6 4E ; 「に(改行)」add a,4E
aレジスタに4Ehを足す。FFhに4Ehを足すので4Dhになり、キャリーフラグが立つ。 改行はメールの仕様上必ず入るものだが、今回は数値がちょうどよかったので利用することにした。
aレジスタに4Ehを足す。FFhに4Ehを足すので4Dhになり、キャリーフラグが立つ。 改行はメールの仕様上必ず入るものだが、今回は数値がちょうどよかったので利用することにした。
2B ; 「ざ」dec hl
2B ; 「ざ」dec hl
hlレジスタの値を-1。 一連のループでhlレジスタは経験値下桁(1の位)を指しているため、そこを飛ばすために使用。
hlレジスタの値を-1。 一連のループでhlレジスタは経験値下桁(1の位)を指しているため、そこを飛ばすために使用。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
経験値中桁を4Dhにする。
経験値中桁を4Dhにする。
3E 0F ; 「ぼダ」ld a,0F
3E 0F ; 「ぼダ」ld a,0F
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
経験値上桁を0Fhにする。 0F4Dxxhで1002572~1003007となり、メタモンLv.100の条件を満たす。
経験値上桁を0Fhにする。 0F4Dxxhで1002572~1003007となり、メタモンLv.100の条件を満たす。
2C ; 「じ」inc l
2C ; 「じ」inc l
lレジスタの値を+1。 先ほどのldd (hl),aでF7hになっていたので、lレジスタはF8hになる。
lレジスタの値を+1。 先ほどのldd (hl),aでF7hになっていたので、lレジスタはF8hになる。
CB 9D ; res 3,l
CB 9D ; res 3,l
lレジスタのbit3(8の位)を折る。 F8h(11111000b)からF0h(1111**0**000b)にする。 DAF0hで手持ち1匹目の種族を指す。
lレジスタのbit3(8の位)を折る。 F8h(11111000b)からF0h(11110000b)にする。 DAF0hで手持ち1匹目の種族を指す。
3E 84 ; 「ぼオ」
3E 84 ; 「ぼオ」
84hでメタモンの図鑑番号(132)を指す。
84hでメタモンの図鑑番号(132)を指す。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
中身の種族をメタモンに変える。 この時点だとまだ外見が変わっていない。
中身の種族をメタモンに変える。 この時点だとまだ外見が変わっていない。
2E E9 ; 「ぜァ」ld l,E9
2E E9 ; 「ぜァ」ld l,E9
DAE9で手持ち1匹目の外見を指す。
DAE9で手持ち1匹目の外見を指す。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
外見の種族をメタモンに変える。 別に「ゥァれ」[EA E9 DA ; ld (DAE9),a]でもいいんだけれど。
外見の種族をメタモンに変える。 別に「ゥァれ」[EA E9 DA ; ld (DAE9),a]でもいいんだけれど。
C9 ; 「の」ret
C9 ; 「の」ret
コード終了。
コード終了。
がるぜォぼまづよュづぼてづざぼぼ づぜァづの
がるぜォぼまづよュづぼてづざぼぼ づぜァづの
手持ちの先頭にいるポケモンの技をほろびのうた→たいあたり→いばるにし、種族をニョロボンに変える。 能力値は弄っていないので、一度パソコンに預けて引き出すのを推奨。**※2024/8/16追記:技3がしんぴのまもりになっていたのを修正しました。申し訳ありません。**
手持ちの先頭にいるポケモンの技をほろびのうた→たいあたり→いばるにし、種族をニョロボンに変える。 能力値は弄っていないので、一度パソコンに預けて引き出すのを推奨。※2024/8/16追記:技3がしんぴのまもりになっていたのを修正しました。申し訳ありません。
おまけ
おまけ
メール差出人書き換え
メール差出人書き換え
手持ち1匹目のメールの差出人をボックス1の名前(5文字目まで)と同じにする。 入力不能文字がある場合は別途他のコードで編集する。 (例:「ぼつダゥいリの」でボックス1の1文字目を「B」にできる)
手持ち1匹目のメールの差出人をボックス1の名前(5文字目まで)と同じにする。 入力不能文字がある場合は別途他のコードで編集する。 (例:「ぼつダゥいリの」でボックス1の1文字目を「B」にできる)
ョへマだがリぜいぺヅデルひで空空 ゾガへよだてャだ
ョへマだがリぜいぺヅデルひで空空 ゾガへよだてャだ
パソコンの0個の道具を1個にする。
パソコンの0個の道具を1個にする。
ポケスタ金銀上では0個の道具が表示されないのでその対策。
ポケスタ金銀上では0個の道具が表示されないのでその対策。
がよぜゴごレねぺじョキぐグじガね そだォどだ0
がよぜゴごレねぺじョキぐグじガね そだォどだ0
ラジオのチューニング初期化
ラジオのチューニング初期化
正常にチャンネルを合わせられなくなった場合の復旧や、ラッキーチャンネルを介さずにチューニングを戻したい場合に。
正常にチャンネルを合わせられなくなった場合の復旧や、ラッキーチャンネルを介さずにチューニングを戻したい場合に。
ヅゃよひびョデの
ヅゃよひびョデの
「ひび」は「ひジ」でもいい。
「ひび」は「ひジ」でもいい。
ポケモンゲットスクリプト用の色々
ポケモンゲットスクリプト用の色々
2Dのgivepokeスクリプトを実行する。
2Dのgivepokeスクリプトを実行する。
`47 2D XX YY ZZ 00 49 90`の形でスクリプトを実行すれば、レベルYYhでZZに対応する持ち物を持った種族XXhのポケモンが手に入る。
47 2D XX YY ZZ 00 49 90の形でスクリプトを実行すれば、レベルYYhでZZに対応する持ち物を持った種族XXhのポケモンが手に入る。
47と49はメッセージを表示するためのスクリプトで、これで挟んでおかないと文字化けその他の不具合が出る。
47と49はメッセージを表示するためのスクリプトで、これで挟んでおかないと文字化けその他の不具合が出る。
金銀のポケモンゲットイベントは手持ちに空きがあることを想定しており(実際のイベントでは事前に手持ちチェックがある)、手持ちがいっぱいの時に実行するとボックスに送られはするが持ち物が変わってしまうという弊害が出る。
金銀のポケモンゲットイベントは手持ちに空きがあることを想定しており(実際のイベントでは事前に手持ちチェックがある)、手持ちがいっぱいの時に実行するとボックスに送られはするが持ち物が変わってしまうという弊害が出る。
好きなポケモンを生成するときにこの8バイトの命令を格納しておく場所として、ポケモンの種族~親IDまでがちょうどよく使えそうだったので、それを利用したポケモンを作ってみた。
好きなポケモンを生成するときにこの8バイトの命令を格納しておく場所として、ポケモンの種族~親IDまでがちょうどよく使えそうだったので、それを利用したポケモンを作ってみた。
想定するステータス
想定するステータス
47 ; 種族:ウツボット
47 ; 種族:ウツボット
メッセージの開始処理。これを入れておかないと文字化け等の不具合が起こる。
メッセージの開始処理。これを入れておかないと文字化け等の不具合が起こる。
2D ; 持ち物:カビチュウ(にがいきのみ)
2D ; 持ち物:カビチュウ(にがいきのみ)
本来は被捕獲度45のポケモンを初代から持ってきた時ににがいきのみ(53)に変換されるもので、2Dのカビチュウをポケモンに持たせると表示上はにがいきのみになる。 ポケスタ金銀での移動で修正されそうなので、実際の実行時には念のため書き換えることにする。
本来は被捕獲度45のポケモンを初代から持ってきた時ににがいきのみ(53)に変換されるもので、2Dのカビチュウをポケモンに持たせると表示上はにがいきのみになる。 ポケスタ金銀での移動で修正されそうなので、実際の実行時には念のため書き換えることにする。
XX ; 技1:加えたいポケモンの種族
XX ; 技1:加えたいポケモンの種族
セレビィ(FB)がふくろだたきでちゃんと正常な技に収まる(レディバはわるあがきになってしまうが)ため、バグポケモンを加えたいとかでなければ表示上問題は無い。
セレビィ(FB)がふくろだたきでちゃんと正常な技に収まる(レディバはわるあがきになってしまうが)ため、バグポケモンを加えたいとかでなければ表示上問題は無い。
YY ; 技2:加えたいポケモンのレベル
YY ; 技2:加えたいポケモンのレベル
100がちょうどテレポート(64)に相当。これも正常なレベルの範疇なら問題ない。
100がちょうどテレポート(64)に相当。これも正常なレベルの範疇なら問題ない。
ZZ ; 技3:加えたいポケモンの持ち物
ZZ ; 技3:加えたいポケモンの持ち物
スクリプト2Dでは持ち物も指定できる。御三家のきのみやひきゃくのメールなどを想定したものだろう。
スクリプト2Dでは持ち物も指定できる。御三家のきのみやひきゃくのメールなどを想定したものだろう。
00 ; 技4:なし
00 ; 技4:なし
この個所はひきゃくやネッシーで使用するもので、01にするとその先に名前やIDの参照先を入れなければならなくなるため、自分を親にしたい場合は00にして終わりにする。
この個所はひきゃくやネッシーで使用するもので、01にするとその先に名前やIDの参照先を入れなければならなくなるため、自分を親にしたい場合は00にして終わりにする。
49 90 ; IDNo.:18832
49 90 ; IDNo.:18832
49がメッセージの終了処理、90がスクリプト終了処理。
49がメッセージの終了処理、90がスクリプト終了処理。
ウツボット作成(1匹目書き換え)
ウツボット作成(1匹目書き換え)
がるぜ1ぼチづよぺづョづづぼガづ ぼ5づぼずづぼぺづゥァるののだっ
がるぜ1ぼチづよぺづョづづぼガづ ぼ5づぼずづぼぺづゥァるののだっ
手持ち1匹目の種族~IDを`47 2D FB 05 00 00 49 90`に書き換え、外見をウツボットに変える。 `FB 05 00`でセレビィLv.5、持ち物無しをもらえるような形となる。「ぶ」を足す余裕はあるのでマスターボールを持たせてもいいのだが。
手持ち1匹目の種族~IDを47 2D FB 05 00 00 49 90に書き換え、外見をウツボットに変える。 FB 05 00でセレビィLv.5、持ち物無しをもらえるような形となる。「ぶ」を足す余裕はあるのでマスターボールを持たせてもいいのだが。
コード内容
コード内容
30 DF ; 「だっ」jr nc,DF
30 DF ; 「だっ」jr nc,DF
「てパま」から来た時に文頭へ飛ぶための記述。CF21に直接飛べるなら不要。
「てパま」から来た時に文頭へ飛ぶための記述。CF21に直接飛べるなら不要。
26 D9 ; 「がる」ld h,D9
26 D9 ; 「がる」ld h,D9
2E F7 ; 「ぜ1」ld l,F7
2E F7 ; 「ぜ1」ld l,F7
「1」はメールでのみ入力可能。D9F7で手持ち1匹目の親ID下桁を指す。
「1」はメールでのみ入力可能。D9F7で手持ち1匹目の親ID下桁を指す。
3E 90 ; 「ぼチ」ld a,90
3E 90 ; 「ぼチ」ld a,90
ボチではない。
ボチではない。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
D9F7を90にし、hlレジスタをD9F6にする。
D9F7を90にし、hlレジスタをD9F6にする。
D6 47 ; 「よぺ」sub a,47
D6 47 ; 「よぺ」sub a,47
90-47で49を作る。49が入力不能文字のため何かしらで書き換えなければならない。
90-47で49を作る。49が入力不能文字のため何かしらで書き換えなければならない。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
D9F6を49にし、hlレジスタをD9F5にする。 これでIDが18832になる。
D9F6を49にし、hlレジスタをD9F5にする。 これでIDが18832になる。
AF ; 「ョ」xor a
AF ; 「ョ」xor a
aレジスタとaレジスタの排他的論理和、同じでないbitを0にするので、aレジスタが00になる。ゲーム中のプログラムでもよく使われるやつ。
aレジスタとaレジスタの排他的論理和、同じでないbitを0にするので、aレジスタが00になる。ゲーム中のプログラムでもよく使われるやつ。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
D9F5を00にし、hlレジスタをD9F4にする。 これで技4が無くなる。
D9F5を00にし、hlレジスタをD9F4にする。 これで技4が無くなる。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
D9F4を00にし、hlレジスタをD9F3にする。 これで技3が無くなる。
D9F4を00にし、hlレジスタをD9F3にする。 これで技3が無くなる。
3E 05 ; 「ぼガ」ld a,05
3E 05 ; 「ぼガ」ld a,05
入力可能な文字の中で一番数値が小さい。
入力可能な文字の中で一番数値が小さい。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
D9F3を00にし、hlレジスタをD9F2にする。 これで技2が「メガトンキック」になる。
D9F3を00にし、hlレジスタをD9F2にする。 これで技2が「メガトンキック」になる。
4E ; 「改行」ld c,(hl)
4E ; 「改行」ld c,(hl)
メールの仕様上16文字目と17文字目の間に必ず入る改行。 cレジスタにhlレジスタで示したアドレスの中身を代入する。 現在のhlレジスタはD9F2なので元々の技1の情報がcレジスタに入るが、特に意味は無い。
メールの仕様上16文字目と17文字目の間に必ず入る改行。 cレジスタにhlレジスタで示したアドレスの中身を代入する。 現在のhlレジスタはD9F2なので元々の技1の情報がcレジスタに入るが、特に意味は無い。
3E FB ; 「ぼ5」ld a,FB
3E FB ; 「ぼ5」ld a,FB
「5」はメールでのみ入力可能。
「5」はメールでのみ入力可能。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
D9F2をFBにし、hlレジスタをD9F1にする。 これで技1が「ふくろだたき」になる。
D9F2をFBにし、hlレジスタをD9F1にする。 これで技1が「ふくろだたき」になる。
3E 2D ; 「ぼず」ld a,2D
3E 2D ; 「ぼず」ld a,2D
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
D9F1を2Dにし、hlレジスタをD9F0にする。 これで持ち物が「カビチュウ」(表示上は「にがいきのみ」)になる。
D9F1を2Dにし、hlレジスタをD9F0にする。 これで持ち物が「カビチュウ」(表示上は「にがいきのみ」)になる。
3E 47 ; 「ぼぺ」ld a,47
3E 47 ; 「ぼぺ」ld a,47
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
D9F0を47にし、hlレジスタをD9EFにする。 これで(中身の)種族が「ウツボット」になる。
D9F0を47にし、hlレジスタをD9EFにする。 これで(中身の)種族が「ウツボット」になる。
EA E9 D9 ;「ゥァる」ld (D9E9),a
EA E9 D9 ;「ゥァる」ld (D9E9),a
金銀から入力可能になったカタカナの小文字たちを活かした書き方。 これで(外見の)種族が「ウツボット」になる。
金銀から入力可能になったカタカナの小文字たちを活かした書き方。 これで(外見の)種族が「ウツボット」になる。
C9 ; 「の」ret
C9 ; 「の」ret
コード終了。
コード終了。
ちなみにウツボットの修正に関しては、手持ち1匹目の技3がD9F4「がるぜォ」で指定できるため、欲しいものに応じて書き換えるといいだろう。
ちなみにウツボットの修正に関しては、手持ち1匹目の技3がD9F4「がるぜォ」で指定できるため、欲しいものに応じて書き換えるといいだろう。
というかaレジスタで値を作って「ゥォる」[EA F4 D9 ; ld (D9F4),a]でもいい。
というかaレジスタで値を作って「ゥォる」[EA F4 D9 ; ld (D9F4),a]でもいい。
ポケモンゲット
ポケモンゲット
技~IDを調整したウツボットを手持ちの先頭に置いたうえで空きを作り、コードを実行してメニューを閉じると指定したポケモンが手に入る。 安全のため、手持ちに空きがない場合または先頭がウツボットでない場合は処理を中断して何も起きないようにしてある。
技~IDを調整したウツボットを手持ちの先頭に置いたうえで空きを作り、コードを実行してメニューを閉じると指定したポケモンが手に入る。 安全のため、手持ちに空きがない場合または先頭がウツボットでない場合は処理を中断して何も起きないようにしてある。
がるぜァざば8ギみぜゅひゼごよぺ レたぼずづョぼアゃヤてカで空だっ
がるぜァざば8ギみぜゅひゼごよぺ レたぼずづョぼアゃヤてカで空だっ
2024/6/6 スクリプトが実行されない不具合を修正しました。申し訳ありません。
2024/6/6 スクリプトが実行されない不具合を修正しました。申し訳ありません。
コード内容
コード内容
30 DF ; 「だっ」jr nc,DF
30 DF ; 「だっ」jr nc,DF
「てパま」から来た時に文頭へ飛ぶための記述。CF21に直接飛べるなら不要。
「てパま」から来た時に文頭へ飛ぶための記述。CF21に直接飛べるなら不要。
26 D9 ; 「がる」ld h,D9
26 D9 ; 「がる」ld h,D9
2E E9 ; 「ぜァ」ld l,E9
2E E9 ; 「ぜァ」ld l,E9
D9E9で手持ち1匹目の外見を指す。
D9E9で手持ち1匹目の外見を指す。
2B ; 「ざ」dec hl
2B ; 「ざ」dec hl
D9E9→D9E8で、手持ちの総数を指す。E8は「。」で入力できない。
D9E9→D9E8で、手持ちの総数を指す。E8は「。」で入力できない。
3A ; 「ば」ldd a,(hl)
3A ; 「ば」ldd a,(hl)
aレジスタにD9E8の数値を代入した後、hlレジスタをD9E7にする。 「ぱ」ではない。濁点の「ば」である。別に「ご」でもいいんだけれど。
aレジスタにD9E8の数値を代入した後、hlレジスタをD9E7にする。 「ぱ」ではない。濁点の「ば」である。別に「ご」でもいいんだけれど。
FE 06 ; 「8ギ」cp a,06
FE 06 ; 「8ギ」cp a,06
「8」はメールでのみ入力可能。aレジスタの数値はまたすぐに変わるため、「よギ」でも大丈夫なはずではあるが。 aレジスタの値を06と比較する。05以下ならキャリーフラグが立つ。
「8」はメールでのみ入力可能。aレジスタの数値はまたすぐに変わるため、「よギ」でも大丈夫なはずではあるが。 aレジスタの値を06と比較する。05以下ならキャリーフラグが立つ。
D0 ; 「み」ret nc
D0 ; 「み」ret nc
手持ちが6匹以上ならその場で処理を中止。通常ありえない7匹以上にも一応対応する。 これは受け取ったポケモンがボックスに送られると持ち物が変わってしまうためである。
手持ちが6匹以上ならその場で処理を中止。通常ありえない7匹以上にも一応対応する。 これは受け取ったポケモンがボックスに送られると持ち物が変わってしまうためである。
2E E1 ; 「ぜゅ」ld l,E1
2E E1 ; 「ぜゅ」ld l,E1
CB 0D ; 「ひゼ」rrc l
CB 0D ; 「ひゼ」rrc l
E1(`1110 0001`)を右ローテートしてF0(`1111 0000`)にする。 D8F0で手持ち1匹目の中身種族を指す。
E1(1110 0001)を右ローテートしてF0(1111 0000)にする。 D8F0で手持ち1匹目の中身種族を指す。
2A ; 「ご」ldi a,(hl)
2A ; 「ご」ldi a,(hl)
aレジスタにD9F0の数値を代入した後、hlレジスタをD9F1にする。
aレジスタにD9F0の数値を代入した後、hlレジスタをD9F1にする。
D6 47 ; 「よぺ」sub a,47
D6 47 ; 「よぺ」sub a,47
aレジスタの値から47を引く。 つまりaレジスタが47なら00になる。
aレジスタの値から47を引く。 つまりaレジスタが47なら00になる。
4E ; 「改行」ld c,(hl)
4E ; 「改行」ld c,(hl)
メールの仕様上16文字目と17文字目の間に必ず入る改行。 cレジスタにhlレジスタで示したアドレスの中身を代入する。 現在のhlレジスタはD9F1なので手持ち1匹目の持ち物の情報がcレジスタに入るが、特に意味は無い。
メールの仕様上16文字目と17文字目の間に必ず入る改行。 cレジスタにhlレジスタで示したアドレスの中身を代入する。 現在のhlレジスタはD9F1なので手持ち1匹目の持ち物の情報がcレジスタに入るが、特に意味は無い。
A7 ; 「レ」
A7 ; 「レ」
aレジスタとaレジスタの論理積(どちらのビットも1なら1、そうでなければ0にする)を取る。 同じもの同士を比較している以上一見無意味に見えるが、aレジスタが00の場合はゼロフラグが立つ。これは改行を挟む関係でフラグが変わってしまうために行っている。
aレジスタとaレジスタの論理積(どちらのビットも1なら1、そうでなければ0にする)を取る。 同じもの同士を比較している以上一見無意味に見えるが、aレジスタが00の場合はゼロフラグが立つ。これは改行を挟む関係でフラグが変わってしまうために行っている。
C0 ; 「た」ret nz
C0 ; 「た」ret nz
手持ちの先頭がウツボットでなければ処理を中止。 これ以上の予防線を張るのはちょっと難しい。
手持ちの先頭がウツボットでなければ処理を中止。 これ以上の予防線を張るのはちょっと難しい。
3E 2D ; 「ぼず」ld a,2D
3E 2D ; 「ぼず」ld a,2D
32 ; ldd (hl),a
32 ; ldd (hl),a
D9F1を2Dにした後、hlレジスタをD9F0にする。 持ち物の2Dは初代からの通信で「にがいきのみ」に変わる「カビチュウ」で、ふとした拍子に変わってしまうことがあるため、必要なくとも逐一書き換えることにした。
D9F1を2Dにした後、hlレジスタをD9F0にする。 持ち物の2Dは初代からの通信で「にがいきのみ」に変わる「カビチュウ」で、ふとした拍子に変わってしまうことがあるため、必要なくとも逐一書き換えることにした。
AF ; 「ョ」xor a
AF ; 「ョ」xor a
おそらく必要ないが念のため。すでにキャリーフラグは消えているはずなのだが。
おそらく必要ないが念のため。すでにキャリーフラグは消えているはずなのだが。
3E 80 ; 「ぼア」ld a,80
3E 80 ; 「ぼア」ld a,80
E0 A2 ; 「ゃヤ」ld (FF00+A2),a
E0 A2 ; 「ゃヤ」ld (FF00+A2),a
FFA2を80にすることで、「てカで」後、メニューを閉じた後にスクリプトが実行されるようにする。
FFA2を80にすることで、「てカで」後、メニューを閉じた後にスクリプトが実行されるようにする。
C3 85 33 ; 「てカで」jp 3385
C3 85 33 ; 「てカで」jp 3385
retは飛んだ先のもので賄う。 これ自体はCFD2~CFD4に現在バンクとhlレジスタの値を退避するサブルーチンなのだが、FFA2を80にしておいたことで、メニューを閉じた後hlレジスタで示された場所からスクリプトを読み込んで実行することができるようになる。
retは飛んだ先のもので賄う。 これ自体はCFD2~CFD4に現在バンクとhlレジスタの値を退避するサブルーチンなのだが、FFA2を80にしておいたことで、メニューを閉じた後hlレジスタで示された場所からスクリプトを読み込んで実行することができるようになる。
アイテムゲットスクリプト用の色々
アイテムゲットスクリプト用の色々
1Fのgiveitemスクリプトを実行する…のだが、1Fが入力不能という事実。
1Fのgiveitemスクリプトを実行する…のだが、1Fが入力不能という事実。
`1F XX YY 90'の形でスクリプトを実行すれば、アイテムXXがYY個手に入る。
`1F XX YY 90'の形でスクリプトを実行すれば、アイテムXXがYY個手に入る。
メッセージが必要ないので47と49は不要。
メッセージが必要ないので47と49は不要。
アイテムの種類は自動で判別され、ポケットがいっぱいの時は何も起こさない模様。
アイテムの種類は自動で判別され、ポケットがいっぱいの時は何も起こさない模様。
問題は1Fh「を 」が入力できないこと。一応「ム」(9Fh)を「ひせ」`CB BE ; res 7,(hl)`などで書き換えれば文字列での実行もできる。
問題は1Fh「を 」が入力できないこと。一応「ム」(9Fh)を「ひせ」CB BE ; res 7,(hl)などで書き換えれば文字列での実行もできる。
「○○を 」の「を 」である。 一度に複数種類の道具を手に入れるとかでもなければそれほど手間でもない?
「○○を 」の「を 」である。 一度に複数種類の道具を手に入れるとかでもなければそれほど手間でもない?
ボックス1の名前でスクリプトを実行する場合はこんな感じ。
ボックス1の名前でスクリプトを実行する場合はこんな感じ。
スクリプト実行の都合上、アイテムが手に入るのは**メニューを閉じた後**であることに注意。
スクリプト実行の都合上、アイテムが手に入るのはメニューを閉じた後であることに注意。
シンプル
シンプル
ボックス1の名前を一部書き換えつつスクリプトを実行するコード 事前にボックス1の名前を「ムXYチ」にしておく。 実行時にボックス1の名前が「を XYチ」になる。 ボックス1の名前が正しい形式でない場合は何もしない。
ボックス1の名前を一部書き換えつつスクリプトを実行するコード 事前にボックス1の名前を「ムXYチ」にしておく。 実行時にボックス1の名前が「を XYチ」になる。 ボックス1の名前が正しい形式でない場合は何もしない。
がリぜいぼぼダヌぐゴよアたひせ空 4おリよチたぼアゃヤてカで
がリぜいぼぼダヌぐゴよアたひせ空 4おリよチたぼアゃヤてカで
加算型
加算型
ボックス1の名前2文字の加算で数値を作るタイプのコード FFhを超えると00hからになることを利用すれば小さな数値のアイテムも手に入れられる。(例:「アイ」で「マスターボール」{80h+81hで01hになる。}) 初期の「ボックス1」のままだと「わざマシン09」(1Ch+ACh=**C8h**)が手に入る。 個数はとりあえず40個(「==ぐ==」28h)にしておくが、お好みで変えても構わない。
ボックス1の名前2文字の加算で数値を作るタイプのコード FFhを超えると00hからになることを利用すれば小さな数値のアイテムも手に入れられる。(例:「アイ」で「マスターボール」{80h+81hで01hになる。}) 初期の「ボックス1」のままだと「わざマシン09」(1Ch+ACh=C8h)が手に入る。 個数はとりあえず40個(「」28h)にしておくが、お好みで変えても構わない。
がリぜいヅばまごキゥびまゆゅひせ ぼアゃヤてカで空ムム==ぐ==チ
がリぜいヅばまごキゥびまゆゅひせ ぼアゃヤてカで空ムム
加算の仕方の例はこちらも参考。
加算の仕方の例はこちらも参考。
[たしざん表](http://www.msmrrenda.net/~renda/select/lib07_addtable.html)
れんだ氏のサイトより。
れんだ氏のサイトより。
4バイトの値を格納する場所としてポケモンの種族~技2を使う場合はこんな感じ。
4バイトの値を格納する場所としてポケモンの種族~技2を使う場合はこんな感じ。
…が、いちいちポケモンを使う程なのか?
…が、いちいちポケモンを使う程なのか?
想定するステータス
想定するステータス
1F ; 種族:ニドクイン
1F ; 種族:ニドクイン
今回メッセージは必要ないので、メッセージ開始処理は入れずに直接giveitemスクリプトを実行することになる。
今回メッセージは必要ないので、メッセージ開始処理は入れずに直接giveitemスクリプトを実行することになる。
XX ; 持ち物
XX ; 持ち物
ここで手に入れたいアイテムを指定する。 つまり、持たせたアイテムを入手することに。
ここで手に入れたいアイテムを指定する。 つまり、持たせたアイテムを入手することに。
63 ; 技1「いかり」
63 ; 技1「いかり」
個数を指定する箇所。 63hで99個手に入る。
個数を指定する箇所。 63hで99個手に入る。
90 ; 技2「へんしん」
90 ; 技2「へんしん」
スクリプト終了。
スクリプト終了。
01 ; 技3「はたく」
01 ; 技3「はたく」
技1との入れ替え用。1個だけ欲しい場合に使用する。 技4は余るが、特定数欲しい場合に何か覚えさせるのもいいかもしれない。
技1との入れ替え用。1個だけ欲しい場合に使用する。 技4は余るが、特定数欲しい場合に何か覚えさせるのもいいかもしれない。
ニドクインゲット(1匹目書き換え)
ニドクインゲット(1匹目書き換え)
がるぜォョぶづぼチづよずづ==にザ==づ ぼぼダづゥァるの
がるぜォョぶづぼチづよずづにザづ ぼぼダづゥァるの
手持ち1匹目の種族をニドクインにし、==きせきのみを持たせて==技をいかり→へんしん→はたくの順にする。 ==ハイライト部==を変えれば他の道具を持たせることも可能。 ピントレンズ(8Ch)の場合は「==ぼス==」 しあわせタマゴ(7Eh)の場合は「==にブ==」 …もうこの時点で本末転倒感が
手持ち1匹目の種族をニドクインにし、きせきのみを持たせて技をいかり→へんしん→はたくの順にする。 ハイライト部を変えれば他の道具を持たせることも可能。 ピントレンズ(8Ch)の場合は「ぼス」 しあわせタマゴ(7Eh)の場合は「にブ」 …もうこの時点で本末転倒感が
ニドクインの修正(持ち物変更)は、手持ち1匹目だとD9F1「がるぜょひゼ」での指定となる。
ニドクインの修正(持ち物変更)は、手持ち1匹目だとD9F1「がるぜょひゼ」での指定となる。
「×」(F1h)はポケスタ金銀でないと入力不能なため、小さい「ょ」(E2h)から右ローテートして作っている。 もちろん、すでに持っているアイテムなら普通に持たせても構わない。
「×」(F1h)はポケスタ金銀でないと入力不能なため、小さい「ょ」(E2h)から右ローテートして作っている。 もちろん、すでに持っているアイテムなら普通に持たせても構わない。
アイテムゲット
アイテムゲット
調整したニドクインを手持ちの先頭に置いてコードを実行し、メニューを閉じるとニドクインの持っていたアイテムが99個(技1を「はたく」にした場合は1個)手に入る。 種族がニドクインでない、または技2が「へんしん」ではない場合は何も起きないようにしている。
調整したニドクインを手持ちの先頭に置いてコードを実行し、メニューを閉じるとニドクインの持っていたアイテムが99個(技1を「はたく」にした場合は1個)手に入る。 種族がニドクインでない、または技2が「へんしん」ではない場合は何も起きないようにしている。
がるぜゅひゼぼぼダせた4/るよチ レたぼアゃヤてカで
がるぜゅひゼぼぼダせた4/るよチ レたぼアゃヤてカで
手持ち1匹目がニドクインでかつ技2が「へんしん」の場合、ニドクインの持っているアイテムが技1の内部番号分の数手に入るスクリプトを予約するコード
手持ち1匹目がニドクインでかつ技2が「へんしん」の場合、ニドクインの持っているアイテムが技1の内部番号分の数手に入るスクリプトを予約するコード
ボックス実行用ニョロボンの作成
ボックス実行用ニョロボンの作成
このコードで作成したニョロボンを手持ちの3匹目に置けば、ボックスの名前に書いたコードを実行できる。
このコードで作成したニョロボンを手持ちの3匹目に置けば、ボックスの名前に書いたコードを実行できる。
適当なポケモンを捕まえて手持ちの先頭に置き、以下のメールを読んでから図鑑を見る。
適当なポケモンを捕まえて手持ちの先頭に置き、以下のメールを読んでから図鑑を見る。
ミラー領域が使える環境ならわざマシン17でも実行可能
ミラー領域が使える環境ならわざマシン17でも実行可能
がるぜォぼりづぼいづぼてづざぼぼ づぜァづの
がるぜォぼりづぼいづぼてづざぼぼ づぜァづの
手持ちの先頭にいるポケモンの技をほろびのうた→わたほうし→おんがえしにし、種族をニョロボンに変える。 能力値は弄っていないので、一度パソコンに預けて引き出すのを推奨。
手持ちの先頭にいるポケモンの技をほろびのうた→わたほうし→おんがえしにし、種族をニョロボンに変える。 能力値は弄っていないので、一度パソコンに預けて引き出すのを推奨。
ボックス名初期化
ボックス名初期化
01:5D16を実行することで、ボックス名を初期値に戻すことができる。 数字は通常ボックス名に使えない(ポケスタ金銀では入力可能だが)なので地味に役立つ。
01:5D16を実行することで、ボックス名を初期値に戻すことができる。 数字は通常ボックス名に使えない(ポケスタ金銀では入力可能だが)なので地味に役立つ。
以下の内容のメールを読んでメール実行。
以下の内容のメールを読んでメール実行。
ョぶがをひしぜデひゆまの
ョぶがをひしぜデひゆまの
パソコン内切り替え
パソコン内切り替え
図鑑モード99hからの実行を切り替えたいときのためのコード。
図鑑モード99hからの実行を切り替えたいときのためのコード。
手持ち3匹目実行
手持ち3匹目実行
`D659: 40 21 50 DA 40 E9`に変える。 40番目個数は64個になる。
D659: 40 21 50 DA 40 E9に変える。 40番目個数は64個になる。
がまぜばごダづよぞづヅニよョぺざ ひでじてよだギ==パ**メメ**れパァ==
がまぜばごダづよぞづヅニよョぺざ ひでじてよだギメメれパァ
「メメ」は実行時に21 50「あ゛終」に書き換えられる。 「ギ」はcレジスタに代入するためだけのものでコードとしては使用していない。
「メメ」は実行時に21 50「あ゛終」に書き換えられる。 「ギ」はcレジスタに代入するためだけのものでコードとしては使用していない。
メール実行
メール実行
`D659: 40 21 21 CF 40 E9`に変える。 40番目個数は64個になる。
D659: 40 21 21 CF 40 E9に変える。 40番目個数は64個になる。
がまぜでごダづづヅニよひでョぐグ ==パ**プタ**まパァ==ペゾギてよだ
がまぜでごダづづヅニよひでョぐグ プタまパァペゾギてよだ
「プタ」は実行時に21 21「あ゛あ゛」に書き換えられる。
「プタ」は実行時に21 21「あ゛あ゛」に書き換えられる。
ボックス実行
ボックス実行
`D659: 26 D8 2E B1 2C E9`に変える。 パークボール×44とか出てくるが気にしない。
D659: 26 D8 2E B1 2C E9に変える。 パークボール×44とか出てくるが気にしない。
がまぜづヅニよひでョペゾギてよだ ==がりぜあじァ==
がまぜづヅニよひでョペゾギてよだ がりぜあじァ
図鑑モード切り替え用コード
図鑑モード切り替え用コード
わざマシン17でバグ図鑑モードと通常の図鑑モードの切り替えができるコード。普通の図鑑を使いたいときに。 バグ図鑑モードからの実行だとうまくいかない。
わざマシン17でバグ図鑑モードと通常の図鑑モードの切り替えができるコード。普通の図鑑を使いたいときに。 バグ図鑑モードからの実行だとうまくいかない。
ヅょよひびビギギひゲくだガぼハデ のョデの
ヅょよひびビギギひゲくだガぼハデ のョデの
図鑑モードが正常でない時はあたらしいずかんモード(00)に切り替え、正常な図鑑モード(00~02)の時は図鑑モードを99にする。
図鑑モードが正常でない時はあたらしいずかんモード(00)に切り替え、正常な図鑑モード(00~02)の時は図鑑モードを99にする。
色々詰め合わせ
色々詰め合わせ
そらをとぶフラグ全開放とバッジ全取得、ポケギア機能全開放にメッセージ送り最速を詰め込んだ欲張りセット。
そらをとぶフラグ全開放とバッジ全取得、ポケギア機能全開放にメッセージ送り最速を詰め込んだ欲張りセット。
がるぜきョべづづづづがゆぜゃひゼ づづじがよぼタづヅンむビ?2デの
がるぜきョべづづづづがゆぜゃひゼ づづじがよぼタづヅンむビ?2デの
「がるぜきョべづづづづ」がそらをとぶフラグ全開放 「がゆぜゃひゼづづ」がバッジ全取得。(単体では「ョべ」を忘れずに。) 「じがよぼタづ」がポケギア機能全開放。(単体では「がよぜ空ひラぼタづの」とする。) 「ヅンむビ?2デ」がメッセージ送り最速。バグ図鑑モードでの実行では図鑑を閉じるときに元の速度に戻ってしまう。
「がるぜきョべづづづづ」がそらをとぶフラグ全開放 「がゆぜゃひゼづづ」がバッジ全取得。(単体では「ョべ」を忘れずに。) 「じがよぼタづ」がポケギア機能全開放。(単体では「がよぜ空ひラぼタづの」とする。) 「ヅンむビ?2デ」がメッセージ送り最速。バグ図鑑モードでの実行では図鑑を閉じるときに元の速度に戻ってしまう。
メッセージ送り最速(バグ図鑑モード用)
メッセージ送り最速(バグ図鑑モード用)
図鑑を開く際は一時的にメッセージ速度を変更しているようで、閉じるときに元に戻す処理が挟まる関係で図鑑からD1ABを直接弄っても意味がない。 そこで、メニューを閉じた後に実行できるスクリプトからメッセージ送り最速コードを実行することで図鑑に邪魔されずにメッセージ送りを最速にできるようにした。
図鑑を開く際は一時的にメッセージ速度を変更しているようで、閉じるときに元に戻す処理が挟まる関係で図鑑からD1ABを直接弄っても意味がない。 そこで、メニューを閉じた後に実行できるスクリプトからメッセージ送り最速コードを実行することで図鑑に邪魔されずにメッセージ送りを最速にできるようにした。
がまぜじぼアゃヤてカでゾヂづまチ ヅンむビ?2デのののののののだっ
がまぜじぼアゃヤてカでゾヂづまチ ヅンむビ?2デのののののののだっ
「だっ」は「てパま」(jp CF40)対応用
「だっ」は「てパま」(jp CF40)対応用
スクリプト内容
スクリプト内容
`CF2C: 0E 10 32 CF 90`
CF2C: 0E 10 32 CF 90
0E 10 32 CF ; callasm 10:CF32
0E 10 32 CF ; callasm 10:CF32
指定したアドレスからコードを実行するスクリプト 最初の引数がROMバンク、次がlレジスタ→hレジスタにそれぞれ入れる数値(rst 08を使うための仕込み) ROMバンクはメール実行時の10hに合わせてこそあるが特に意味はない。
指定したアドレスからコードを実行するスクリプト 最初の引数がROMバンク、次がlレジスタ→hレジスタにそれぞれ入れる数値(rst 08を使うための仕込み) ROMバンクはメール実行時の10hに合わせてこそあるが特に意味はない。
90 ; end
90 ; end
スクリプト終了 コード実行からret後、ここに戻ってきて終了となる。
スクリプト終了 コード実行からret後、ここに戻ってきて終了となる。
callasmからのコード
callasmからのコード
`CF32: 11 AB D1 1A E6 F8 12 C9` わざマシンからの実行の場合はこちらのコードだけでいい。
CF32: 11 AB D1 1A E6 F8 12 C9 わざマシンからの実行の場合はこちらのコードだけでいい。
11 AB D1 ; 「ヅンむ」ld de,D1AB
11 AB D1 ; 「ヅンむ」ld de,D1AB
deレジスタにそれぞれの数値を代入。今回はこれでアドレスを示す。 D1ABは設定の一部で、ここの下位3bitが目的のメッセージ速度となる。
deレジスタにそれぞれの数値を代入。今回はこれでアドレスを示す。 D1ABは設定の一部で、ここの下位3bitが目的のメッセージ速度となる。
1A ; 「ビ」ld a,(de)
1A ; 「ビ」ld a,(de)
aレジスタにdeレジスタで示したアドレスの値を代入。 これで現在の設定を取得する。
aレジスタにdeレジスタで示したアドレスの値を代入。 これで現在の設定を取得する。
E6 F8 ; 「?2」and a,F8
E6 F8 ; 「?2」and a,F8
aレジスタと特定の数値の論理積(一致するbitのみ1にしてそれ以外は0にする)を取り、結果をaレジスタに格納する。 今回は下位3bitを0にしたいため、11111000b(F8h)とすることで、他の設定を保持したままメッセージ速度の部分を0にする。 なお、設定では「はやい」が001b、「ふつう」が011b、「おそい」が101bとなっている。 ボックス実行の場合は「2」が入力できないため、「ゾタひぢ」等でcレジスタにF8hを作り、「モ」で論理和を取る。
aレジスタと特定の数値の論理積(一致するbitのみ1にしてそれ以外は0にする)を取り、結果をaレジスタに格納する。 今回は下位3bitを0にしたいため、11111000b(F8h)とすることで、他の設定を保持したままメッセージ速度の部分を0にする。 なお、設定では「はやい」が001b、「ふつう」が011b、「おそい」が101bとなっている。 ボックス実行の場合は「2」が入力できないため、「ゾタひぢ」等でcレジスタにF8hを作り、「モ」で論理和を取る。
12 ; 「デ」ld (de),a
12 ; 「デ」ld (de),a
deレジスタで示したアドレスにaレジスタの値を代入。 これで設定を書き換える。
deレジスタで示したアドレスにaレジスタの値を代入。 これで設定を書き換える。
C9 ; 「の」ret
C9 ; 「の」ret
プログラム(サブルーチン)を終了して元の処理に戻る。 これにより、スクリプト実行に戻る。
プログラム(サブルーチン)を終了して元の処理に戻る。 これにより、スクリプト実行に戻る。
2匹目秘伝技セット
2匹目秘伝技セット
手持ち2匹目の技構成を、そらをとぶ→あなをほる→いあいぎり→なみのりの順にする。わざマシン17実行補助用メタモンにでも。
手持ち2匹目の技構成を、そらをとぶ→あなをほる→いあいぎり→なみのりの順にする。わざマシン17実行補助用メタモンにでも。
がれぜラひすぼばべづぼダづよえづ ぼドづの
がれぜラひすぼばべづぼダづよえづ ぼドづの
殿堂入り
殿堂入り
ポケスタ金銀の倍速を使用可能にするには殿堂入りが必要だが、直接実行してしまっても条件は満たせる。
ポケスタ金銀の倍速を使用可能にするには殿堂入りが必要だが、直接実行してしまっても条件は満たせる。
がまぜずョぼアゃヤてカでムチ
がまぜずョぼアゃヤてカでムチ
実行後メニューを閉じると殿堂入り画面に移行する。
実行後メニューを閉じると殿堂入り画面に移行する。
直接実行版
直接実行版
バグ図鑑モードで実行するとエンディング終了後メニューに戻るが、メニューを閉じればちゃんとリセットがかかる。
バグ図鑑モードで実行するとエンディング終了後メニューに戻るが、メニューを閉じればちゃんとリセットがかかる。
がレひどぜヤひゼぼがべまの
がレひどぜヤひゼぼがべまの
rst 08(call 0008)を利用して、25:7A51を実行する。
rst 08(call 0008)を利用して、25:7A51を実行する。
ポケモン取り込み?
ポケモン取り込み?
手持ち1匹目のIDと親名を自分のものにする。 ちなみに主人公のIDと名前は地続きになっている。
手持ち1匹目のIDと親名を自分のものにする。 ちなみに主人公のIDと名前は地続きになっている。
がむぜうヅ0るョぺぽズズへよだ空 ヅヂろゾギてよだ
がむぜうヅ0るョぺぽズズへよだ空 ヅヂろゾギてよだ
図鑑完成
図鑑完成
ポケスタ金銀のせいとん機能で他IDのポケモンを64のボックスから引き出すには図鑑を150匹以上埋める必要があるので、せっかくだから251匹埋めてしまおうというもの。 アンノーンずかんには手を出していない。
ポケスタ金銀のせいとん機能で他IDのポケモンを64のボックスから引き出すには図鑑を150匹以上埋める必要があるので、せっかくだから251匹埋めてしまおうというもの。 アンノーンずかんには手を出していない。
がろぜかョべギパガづガつごまぼグ ゥきろゥネろの
がろぜかョべギパガづガつごまぼグ ゥきろゥネろの
1マス壁抜け
1マス壁抜け
使用後、自分の周囲のマスが歩行可能になる。 1マス歩くと当たり判定は再設定されてしまうため、連続で抜けるには何回も使用する必要がある。
使用後、自分の周囲のマスが歩行可能になる。 1マス歩くと当たり判定は再設定されてしまうため、連続で抜けるには何回も使用する必要がある。
がほぜフョづづづづの
がほぜフョづづづづの
時計再設定
時計再設定
本来は長期間プレイしなかった時に出る時計再設定画面を直接呼び出す。 セットアップ時に適当に設定してしまった時計の修正や、夜11時59分に設定することで高速で日付を進めるといった応用法も。 「へロど」はバグ図鑑モード実行用で、これが無いと画面が真っ白になってしまう。
本来は長期間プレイしなかった時に出る時計再設定画面を直接呼び出す。 セットアップ時に適当に設定してしまった時計の修正や、夜11時59分に設定することで高速で日付を進めるといった応用法も。 「へロど」はバグ図鑑モード実行用で、これが無いと画面が真っ白になってしまう。
へロどぼゲがパぜぎまの
へロどぼゲがパぜぎまの
別解:ていリルート(GBビル不可)
別解:ていリルート(GBビル不可)
図鑑モード11対応版。 コードは一度ボックスで書き、メール実行用ニョロボンとメールを生成してメール実行を可能にしていく。 hlレジスタがFB20hになるため、「じがまァ」でCF21に飛べるらしいのだが…
図鑑モード11対応版。 コードは一度ボックスで書き、メール実行用ニョロボンとメールを生成してメール実行を可能にしていく。 hlレジスタがFB20hになるため、「じがまァ」でCF21に飛べるらしいのだが…
図鑑モード11はFB20に飛ぶ。これは手持ち3匹目の親名5文字目(のミラー)となる。 手持ち3匹目の親名の後には手持ち4匹目の親名が並ぶので、4匹目の親名でジャンプ命令を仕込むぐらいはできる。
図鑑モード11はFB20に飛ぶ。これは手持ち3匹目の親名5文字目(のミラー)となる。 手持ち3匹目の親名の後には手持ち4匹目の親名が並ぶので、4匹目の親名でジャンプ命令を仕込むぐらいはできる。
ただし、ポケスタ金銀のGBビルでは実行できないため、別途GB本体が必要。幸いスーパーゲームボーイやゲームボーイプレイヤーなら実行できる。 互換機用のGBアダプタ(16ビットポケット HDMI用 GB用 拡張コンバーター)+SFC実機でもミラー領域は使えることを確認 図鑑モード09hで2匹目の中身(のミラー、FA20)に飛ぶこともできる。
ただし、ポケスタ金銀のGBビルでは実行できないため、別途GB本体が必要。幸いスーパーゲームボーイやゲームボーイプレイヤーなら実行できる。 互換機用のGBアダプタ(16ビットポケット HDMI用 GB用 拡張コンバーター)+SFC実機でもミラー領域は使えることを確認 図鑑モード09hで2匹目の中身(のミラー、FA20)に飛ぶこともできる。
そのため、主人公の名前を「ていリ」[jp D8B2]にすることで、ボックス1の名前に飛ぶことができる。
そのため、主人公の名前を「ていリ」[jp D8B2]にすることで、ボックス1の名前に飛ぶことができる。
主人公名が4文字以下の場合、5・6文字目は終端文字[ld d,b]で埋まるため、次のポケモンの親名には問題なく進める。 「じがまァ」[inc l→ld h,CF→jp hl]なら最後に読んだメールの1文字目に飛べるが、これはあくまで図鑑モード11専用。(lレジスタに入る20hを利用するため) 「てパま」[jp CF40]なら最後に読んだメールの31文字目に飛べ、「だっ」[jr nc,DF]で文頭まで飛べる。 主人公の名前はD1B5~D1B9で5文字まで設定でき、D1BAまでに50を入れる必要がある。
主人公名が4文字以下の場合、5・6文字目は終端文字[ld d,b]で埋まるため、次のポケモンの親名には問題なく進める。 「じがまァ」[inc l→ld h,CF→jp hl]なら最後に読んだメールの1文字目に飛べるが、これはあくまで図鑑モード11専用。(lレジスタに入る20hを利用するため) 「てパま」[jp CF40]なら最後に読んだメールの31文字目に飛べ、「だっ」[jr nc,DF]で文頭まで飛べる。 主人公の名前はD1B5~D1B9で5文字まで設定でき、D1BAまでに50を入れる必要がある。
準備するもの
準備するもの
具体的な用意法は先述のものと変わらないので省略。 他のものは環境を整えてから作成すればいい、
具体的な用意法は先述のものと変わらないので省略。 他のものは環境を整えてから作成すればいい、
主人公「ていリ」
主人公「ていリ」
親名に埋め込むためだけに必要。 セットアップが終わったら好きに書き換えてよくなる。 ライバルの名前は不問。
親名に埋め込むためだけに必要。 セットアップが終わったら好きに書き換えてよくなる。 ライバルの名前は不問。
ポケモンを4匹以上用意し、うち2匹は自分で捕まえたポケモンにする。
ポケモンを4匹以上用意し、うち2匹は自分で捕まえたポケモンにする。
3・4匹目に置くために使用する。交換ポケモンや「ひきゃく」でなければ基本大丈夫。(助手からもらうタマゴも自分のポケモン扱い) ポケスタ金銀から道具を持っていくなら親名がずれることも無い。
3・4匹目に置くために使用する。交換ポケモンや「ひきゃく」でなければ基本大丈夫。(助手からもらうタマゴも自分のポケモン扱い) ポケスタ金銀から道具を持っていくなら親名がずれることも無い。
1匹捕まえることができればボックス増殖で2匹増やすだけで完了となるが、3匹目の親名を「てパま」に書き換えることでメール実行も可能にしたいので、わかりやすくニックネームを付けることを推奨。
1匹捕まえることができればボックス増殖で2匹増やすだけで完了となるが、3匹目の親名を「てパま」に書き換えることでメール実行も可能にしたいので、わかりやすくニックネームを付けることを推奨。
「てあ゛ま」にすれば1文字目にも飛べるが、ポケスタ金銀上での扱いに問題があるのであえてやらない。
「てあ゛ま」にすれば1文字目にも飛べるが、ポケスタ金銀上での扱いに問題があるのであえてやらない。
2個の同名たいせつなもの
2個の同名たいせつなもの
例によってじてんしゃ(07)で解説。
例によってじてんしゃ(07)で解説。
モンスターボール×(2・4・5のいずれか)
モンスターボール×(2・4・5のいずれか)
ライバル命名後に5個もらえる。 ヨシノシティ到達時点でやる場合はポケモンを3匹捕まえる必要があるが、全部ボール一発で捕まえれば2個になるはず。 ガンテツボールが1個だとマスターボールが2つ出てきてしまうので1個は避けた方がいいか? 3個だとボールポケット破壊時に2番目のアイテムがひかりのこなになってしまい、個数調整ができなくなる。(6個以上も同様の問題あり)
ライバル命名後に5個もらえる。 ヨシノシティ到達時点でやる場合はポケモンを3匹捕まえる必要があるが、全部ボール一発で捕まえれば2個になるはず。 ガンテツボールが1個だとマスターボールが2つ出てきてしまうので1個は避けた方がいいか? 3個だとボールポケット破壊時に2番目のアイテムがひかりのこなになってしまい、個数調整ができなくなる。(6個以上も同様の問題あり)
ガンテツボール
ガンテツボール
ボールポケット破壊用
ボールポケット破壊用
ボールポケット破壊~図鑑モード書き換え
ボールポケット破壊~図鑑モード書き換え
ボックス1の名前を「の」にする。
ボックス1の名前を「の」にする。
何もせずにプログラムを終了するだけ。動作確認用。
何もせずにプログラムを終了するだけ。動作確認用。
手持ちの3・4匹目に自分のポケモンを置き、親名が「ていり」であることを確認する。
手持ちの3・4匹目に自分のポケモンを置き、親名が「ていり」であることを確認する。
パソコンの道具預け数を確認し、その個数と同じになるようにどくけしを買い、パソコンの道具1番目に置いておく。
パソコンの道具預け数を確認し、その個数と同じになるようにどくけしを買い、パソコンの道具1番目に置いておく。
図鑑モード書き換え時にパソコンの道具が1個分ずれるため。メールを買えるならそちらの方が安い。 0個の場合は(じてんしゃ等の個数がパソコン預け数に入るのを防ぐためにも)どくけし×1と何か適当なアイテム(きのみ等)を入れておくべきか。
図鑑モード書き換え時にパソコンの道具が1個分ずれるため。メールを買えるならそちらの方が安い。 0個の場合は(じてんしゃ等の個数がパソコン預け数に入るのを防ぐためにも)どくけし×1と何か適当なアイテム(きのみ等)を入れておくべきか。
最初のポケモンが持っているきのみと助手から渡されるキズぐすりで2種の道具があるため、これらをきのみ×1→キズぐすり×1といったように預ければいい。
最初のポケモンが持っているきのみと助手から渡されるキズぐすりで2種の道具があるため、これらをきのみ×1→キズぐすり×1といったように預ければいい。
ボールポケットをガンテツボール→モンスターボール×2~5(3以外)の2種のみにする。
ボールポケットをガンテツボール→モンスターボール×2~5(3以外)の2種のみにする。
ヨシノシティまでではスーパーボールも手に入らないため、持ち込んだガンテツボールと合わせて2種しかないはずだが。
ヨシノシティまでではスーパーボールも手に入らないため、持ち込んだガンテツボールと合わせて2種しかないはずだが。
たいせつポケットの末尾にじてんしゃが2台並ぶよう調整。
たいせつポケットの末尾にじてんしゃが2台並ぶよう調整。
1台目のじてんしゃを末尾に置いてから2台目を引き出したり預かったりするといい。
1台目のじてんしゃを末尾に置いてから2台目を引き出したり預かったりするといい。
たいせつポケットにある1台目のじてんしゃを、2台目のじてんしゃのところに移動する。
たいせつポケットにある1台目のじてんしゃを、2台目のじてんしゃのところに移動する。
これにより、個数まとめ処理でボールポケットが破壊される。
これにより、個数まとめ処理でボールポケットが破壊される。
じてんしゃを便利ボタンに登録する。
じてんしゃを便利ボタンに登録する。
これでじてんしゃがボールポケット67番目に置かれるので、65番目のアイテムの目安にする。
これでじてんしゃがボールポケット67番目に置かれるので、65番目のアイテムの目安にする。
ボールポケットにできている255個のボールを238個捨てる。(17個にする)
ボールポケットにできている255個のボールを238個捨てる。(17個にする)
下×1(1→255)→左×2(255→235)→上×3(235→238)の順番で操作すればいい。
下×1(1→255)→左×2(255→235)→上×3(235→238)の順番で操作すればいい。
ボールポケット例
ボールポケット例
ルアーボール×1→モンスターボール×2でやった場合の並び 所持数が膨大になっているため、「やめる」の下にも行ける。
ルアーボール×1→モンスターボール×2でやった場合の並び 所持数が膨大になっているため、「やめる」の下にも行ける。
マスターボール×5
マスターボール×5
ルアーボールの個数が種類に、モンスターボールの内部番号が個数に入る。
ルアーボールの個数が種類に、モンスターボールの内部番号が個数に入る。
ハイパーボール×255
ハイパーボール×255
ここのボールを捨てて個数調整。 モンスターボールの個数が種類になり、「やめる」が個数に入ってくる。十の位は正しく表示されないが… モンスターボールが3個だとだめなのは、「ひかりのこな」(本来どうぐポケットに入る道具)が出てきてしまって個数調整ができなくなるため。
ここのボールを捨てて個数調整。 モンスターボールの個数が種類になり、「やめる」が個数に入ってくる。十の位は正しく表示されないが… モンスターボールが3個だとだめなのは、「ひかりのこな」(本来どうぐポケットに入る道具)が出てきてしまって個数調整ができなくなるため。
やめる
やめる
本来はたいせつポケットの「やめる」のはずだったもの。
本来はたいせつポケットの「やめる」のはずだったもの。
17個にしたボールを65番目まで移動する。
17個にしたボールを65番目まで移動する。
登録したじてんしゃを目安にし、その2つ上に移動する。
登録したじてんしゃを目安にし、その2つ上に移動する。
パソコンを確認し、正常に「やめる」でカーソルが止まることを確認する。
パソコンを確認し、正常に「やめる」でカーソルが止まることを確認する。
これはできなかったら後で修正することもできるけれど…
これはできなかったら後で修正することもできるけれど…
図鑑を見る。成功していればフリーズせずにバグった図鑑が表示されるだけになるはずなので、Bボタンを押して図鑑を閉じる。
図鑑を見る。成功していればフリーズせずにバグった図鑑が表示されるだけになるはずなので、Bボタンを押して図鑑を閉じる。
修復作業
修復作業
ボックスの名前を以下のようにする。
ボックスの名前を以下のようにする。
ボールポケットを空にする たいせつポケットにわざマシン17を追加する ポケギアを復活させる※2024/7/19 元々のポケギア所持状況を取得するよう変更 手持ち3匹目の親名を「てパま」にする※2・3文字目を書き換えるだけ 手持ち3匹目をほろびのうた・たいあたり・いばるを覚えたニョロボン@はながらメールにする
ボールポケットを空にする たいせつポケットにわざマシン17を追加する ポケギアを復活させる※2024/7/19 元々のポケギア所持状況を取得するよう変更 手持ち3匹目の親名を「てパま」にする※2・3文字目を書き換えるだけ 手持ち3匹目をほろびのうた・たいあたり・いばるを覚えたニョロボン@はながらメールにする
がゆぜゅひゼョべ
がゆぜゅひゼョべ
づョづぜやどぷぽ
づョづぜやどぷぽ
ぺズゴべづぼみづ
ぺズゴべづぼみづ
がよぜれひゼごじ
がよぜれひゼごじ
図鑑モード書き換え時にD66Dにずれたポケギアの情報を取得。
図鑑モード書き換え時にD66Dにずれたポケギアの情報を取得。
づがろぜボじじゾ
づがろぜボじじゾ
ひむギれなぼまづ
ひむギれなぼまづ
ぼパづゅぼまづ
ぼパづゅぼまづ
よュづぼてづぼミ
よュづぼてづぼミ
づぼぼづゥェるの
づぼぼづゥェるの
手持ち3・4匹目に親名「ていリ」のポケモンがいることを確認する。
手持ち3・4匹目に親名「ていリ」のポケモンがいることを確認する。
図鑑を見てBで閉じる。以下のようになっていれば成功。
図鑑を見てBで閉じる。以下のようになっていれば成功。
メニューの「ポケギア」が復活する。
メニューの「ポケギア」が復活する。
ボールポケットが空になる。
ボールポケットが空になる。
たいせつポケットの末尾にわざマシン17が追加され、「やめる」が復活している。
たいせつポケットの末尾にわざマシン17が追加され、「やめる」が復活している。
実行のたびに追加されてしまうため、図鑑は何回も見ないこと。
実行のたびに追加されてしまうため、図鑑は何回も見ないこと。
手持ち3匹目のポケモンが以下のようになっている。
手持ち3匹目のポケモンが以下のようになっている。
これはメール実行用として使う。
これはメール実行用として使う。
種族:ニョロボン
種族:ニョロボン
外見と中身が両方変わっていることを確認する。
外見と中身が両方変わっていることを確認する。
持ち物:はながらメール
持ち物:はながらメール
技:ほろびのうた→たいあたり→いばる
技:ほろびのうた→たいあたり→いばる
C3 21 CFで最後に読んだメールの1文字目を指す
C3 21 CFで最後に読んだメールの1文字目を指す
親名:てパま
親名:てパま
C3 40 CFで最後の読んだメールの31文字目を指す 図鑑モード11から実行するのはこっち
C3 40 CFで最後の読んだメールの31文字目を指す 図鑑モード11から実行するのはこっち
成功したら、念のため**ボックス1の名前を「の」にしておく。**
成功したら、念のためボックス1の名前を「の」にしておく。
ボックス実行が暴発しないようにする保険。
ボックス実行が暴発しないようにする保険。
(パソコン修復)
(パソコン修復)
パソコンが正常になっていない場合のリカバリーチャート 図鑑モード書き換えまでの準備が適切なら必要ない。
パソコンが正常になっていない場合のリカバリーチャート 図鑑モード書き換えまでの準備が適切なら必要ない。
先の修復作業で書き換えたニョロボンを手持ちの3匹目に置く(2匹目は親名「ていリ」のものにしておく)。
先の修復作業で書き換えたニョロボンを手持ちの3匹目に置く(2匹目は親名「ていリ」のものにしておく)。
親名「ていリ」からボックス、ニョロボン(親名「てパま」)からメール実行 メールは先ほどニョロボンに持たせた物を利用する。
親名「ていリ」からボックス、ニョロボン(親名「てパま」)からメール実行 メールは先ほどニョロボンに持たせた物を利用する。
以下のメールを読んでから図鑑を見る。
以下のメールを読んでから図鑑を見る。
「やめる」が消えている(「?」×0だけになっているなど)場合
「やめる」が消えている(「?」×0だけになっているなど)場合
所持数0のまま図鑑モード変更を行うと起こる場合がある。
所持数0のまま図鑑モード変更を行うと起こる場合がある。
がよぜザョべづョづののののののの ののののののののののののののだっ
がよぜザョべづョづののののののの ののののののののののののののだっ
「やめる」が終端の前にある場合
「やめる」が終端の前にある場合
がよぜゴレぐヅぺござよ9つどま づじじじガつごまョべづののだっ
がよぜゴレぐヅぺござよ9つどま づじじじガつごまョべづののだっ
パソコン内の終端以外にある「やめる」を「?」(00h)に変えて、終端を「やめる」にする。
パソコン内の終端以外にある「やめる」を「?」(00h)に変えて、終端を「やめる」にする。
コード内容
コード内容
26 D6 ; 「がよ」ld h,D6
26 D6 ; 「がよ」ld h,D6
2E 09 ; 「ぜゴ」ld l,09
2E 09 ; 「ぜゴ」ld l,09
D609でパソコンの預け数を指す。
D609でパソコンの預け数を指す。
2A ; 「ご」ldi a,(hl)
2A ; 「ご」ldi a,(hl)
aレジスタにhlレジスタで示したアドレスの値を代入し、hlレジスタの値を+1。 これでパソコンの預け数を取得しつつ1番目の種類を指す。
aレジスタにhlレジスタで示したアドレスの値を代入し、hlレジスタの値を+1。 これでパソコンの預け数を取得しつつ1番目の種類を指す。
A7 ; 「レ」and a
A7 ; 「レ」and a
aレジスタとaレジスタの論理積を取り、結果をaレジスタに格納する。 (各bitを比較し、共に1なら1、どちらかが0なら0にする) 同じ数値同士の比較のためaレジスタは変化しないが、00hだった場合はゼロフラグが立つため、条件分岐に使う。
aレジスタとaレジスタの論理積を取り、結果をaレジスタに格納する。 (各bitを比較し、共に1なら1、どちらかが0なら0にする) 同じ数値同士の比較のためaレジスタは変化しないが、00hだった場合はゼロフラグが立つため、条件分岐に使う。
28 11 ; 「ぐヅ」jr z,11
28 11 ; 「ぐヅ」jr z,11
ゼロフラグが立っている場合はコードを11バイト飛ばす。 今回は道具預け数が0の場合に終端を「やめる」にするところまで飛ばすことを目的とする。
ゼロフラグが立っている場合はコードを11バイト飛ばす。 今回は道具預け数が0の場合に終端を「やめる」にするところまで飛ばすことを目的とする。
47 ; 「ぺ」ld b,a
47 ; 「ぺ」ld b,a
bレジスタにaレジスタの値を代入。 これでbレジスタに道具預け数を格納し、今後のループに使用する。
bレジスタにaレジスタの値を代入。 これでbレジスタに道具預け数を格納し、今後のループに使用する。
2A ; 「ご」ldi a,(hl)
2A ; 「ご」ldi a,(hl)
ここからループ開始。 どうぐの種類を取得する。
ここからループ開始。 どうぐの種類を取得する。
2B ; 「ざ」dec hl
2B ; 「ざ」dec hl
hlレジスタの値を-1。 これによって、ldi (hl),aでずれたhlレジスタを元の位置に戻す。
hlレジスタの値を-1。 これによって、ldi (hl),aでずれたhlレジスタを元の位置に戻す。
D6 FF ; 「よ9」sub a,FF
D6 FF ; 「よ9」sub a,FF
aレジスタの値からFFhを引く。 どうぐの種類が「やめる」(FFh)だった場合は00hになることを利用して条件分岐する。
aレジスタの値からFFhを引く。 どうぐの種類が「やめる」(FFh)だった場合は00hになることを利用して条件分岐する。
C2 34 CF ; 「つどま」jp nz,CF34
C2 34 CF ; 「つどま」jp nz,CF34
ゼロフラグが立っていない場合はCF34に飛ぶ。 CF34は最後に読んだメールの19文字目になる。 jr nz,xxさえ使えればシンプルにまとまるのだが…
ゼロフラグが立っていない場合はCF34に飛ぶ。 CF34は最後に読んだメールの19文字目になる。 jr nz,xxさえ使えればシンプルにまとまるのだが…
4E ; 「改行」ld c,(hl)
4E ; 「改行」ld c,(hl)
ゼロフラグが立っていた場合、つまり道具の種類が「やめる」だった場合の処理 メールの仕様上必ず入る改行。 cレジスタにhlレジスタで示したアドレスの値を代入する。 今回は処理上道具の種類が入るが、今回cレジスタは使わないため意味は無い。
ゼロフラグが立っていた場合、つまり道具の種類が「やめる」だった場合の処理 メールの仕様上必ず入る改行。 cレジスタにhlレジスタで示したアドレスの値を代入する。 今回は処理上道具の種類が入るが、今回cレジスタは使わないため意味は無い。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
hlレジスタで示したアドレスにaレジスタの値を代入し、hlレジスタの値を-1。 分岐上、aレジスタには00hが入っているため、道具の種類を「?」(00h)にする効果となる。 ld (hl),aが使えるなら苦労はしない。
hlレジスタで示したアドレスにaレジスタの値を代入し、hlレジスタの値を-1。 分岐上、aレジスタには00hが入っているため、道具の種類を「?」(00h)にする効果となる。 ld (hl),aが使えるなら苦労はしない。
2C ; 「じ」inc l
2C ; 「じ」inc l
lレジスタの値を+1。 ldd (hl),aでずれたhlレジスタを元の位置に戻して分岐点に合流する。 本来ならinc hlを使うべき(もっと言えばld a,(hl)を使うべき)場面だが、入力できないので仕方ない。
lレジスタの値を+1。 ldd (hl),aでずれたhlレジスタを元の位置に戻して分岐点に合流する。 本来ならinc hlを使うべき(もっと言えばld a,(hl)を使うべき)場面だが、入力できないので仕方ない。
2C ; 「じ」inc l
2C ; 「じ」inc l
「つどま」から飛んでくる先。 これでhlレジスタは道具の個数を指す。
「つどま」から飛んでくる先。 これでhlレジスタは道具の個数を指す。
2C ; 「じ」inc l
2C ; 「じ」inc l
これでhlレジスタは次の道具の種類を指す。
これでhlレジスタは次の道具の種類を指す。
05 ; 「ガ」dec b
05 ; 「ガ」dec b
bレジスタの値を-1。 これでbレジスタの値が00hになればゼロフラグが立つため、条件分岐に使用する。
bレジスタの値を-1。 これでbレジスタの値が00hになればゼロフラグが立つため、条件分岐に使用する。
C2 2A CF : 「つごま」jp nz,CF2A
C2 2A CF : 「つごま」jp nz,CF2A
ゼロフラグが立っていない場合、CF2Aに飛ぶ。 CF2Aは最後に読んだメールの10文字目となり、先述のループ開始地点となる。 dec bと合わせることで、パソコンの道具預け数分のループを行う。
ゼロフラグが立っていない場合、CF2Aに飛ぶ。 CF2Aは最後に読んだメールの10文字目となり、先述のループ開始地点となる。 dec bと合わせることで、パソコンの道具預け数分のループを行う。
AF ; 「ョ」xor a
AF ; 「ョ」xor a
ループ終了後の処理。「ぐヅ」で飛んでくる先でもある。 aレジスタとaレジスタの排他的論理和を取り、結果をaレジスタに格納する。 (各ビットを比較し、異なるなら1、同じなら0にする) 同じ数値同士の比較のため、結果は00hになる。ゲーム中のプログラムでもよく使われるaレジスタのリセット処理。
ループ終了後の処理。「ぐヅ」で飛んでくる先でもある。 aレジスタとaレジスタの排他的論理和を取り、結果をaレジスタに格納する。 (各ビットを比較し、異なるなら1、同じなら0にする) 同じ数値同士の比較のため、結果は00hになる。ゲーム中のプログラムでもよく使われるaレジスタのリセット処理。
3D ; 「べ」dec a
3D ; 「べ」dec a
aレジスタの値を-1。 00hから1減らすとFFhになる。(キャリーフラグは立たない) 別にld a,FFでもいい流れ。
aレジスタの値を-1。 00hから1減らすとFFhになる。(キャリーフラグは立たない) 別にld a,FFでもいい流れ。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
ここまでの処理でhlレジスタはパソコンの道具終端を指しているはずなので、そこに「やめる」を入れる。
ここまでの処理でhlレジスタはパソコンの道具終端を指しているはずなので、そこに「やめる」を入れる。
C9 ; 「の」ret
C9 ; 「の」ret
プログラム終了(厳密にはサブルーチンを終えてスタックされたアドレスに帰る)
プログラム終了(厳密にはサブルーチンを終えてスタックされたアドレスに帰る)
わざマシン17仕込み
わざマシン17仕込み
**手持ち3匹目に親名「ていリ」、4匹目に親名「てパま」のニョロボンを置いたうえで**空きを作り、以下のメールを読んでから図鑑を見て、メニューを閉じる。
手持ち3匹目に親名「ていリ」、4匹目に親名「てパま」のニョロボンを置いたうえで空きを作り、以下のメールを読んでから図鑑を見て、メニューを閉じる。
メールはニョロボンに持たせていたものを預かって使用する。順番の入れ替えを忘れるとボックスコードが実行されてしまう。 今回使用するスクリプトは手持ちに加えることしか想定していないようで、ボックスに送られると持ち物が変わってしまう。
メールはニョロボンに持たせていたものを預かって使用する。順番の入れ替えを忘れるとボックスコードが実行されてしまう。 今回使用するスクリプトは手持ちに加えることしか想定していないようで、ボックスに送られると持ち物が変わってしまう。
がまぜぼぼテダづョづざざざざぼア ゃヤてカで空ぺずヂギミ**ミミ**チだっ
がまぜぼぼテダづョづざざざざぼア ゃヤてカで空ぺずヂギミミミチだっ
以下のスクリプトを実行している。(後ろの「ミミ」を実行時に書き換える) `47 2D 10 06 9E 00 49 90` 手持ちに空きを作ってから実行後、メニューを閉じると、はながらメールを持ったLv.6のポッポが手に入る。(金銀ではLv.6のポッポが野生出現しない) このポッポを2匹目、3匹目に作成したニョロボンを置けば、わざマシン17で最後に読んだメールの1文字目から実行可能になる。 メールが不要な場合は「ざざざざ」を「づざざざ」に変えることで持ち物無しにできる。
以下のスクリプトを実行している。(後ろの「ミミ」を実行時に書き換える) 47 2D 10 06 9E 00 49 90 手持ちに空きを作ってから実行後、メニューを閉じると、はながらメールを持ったLv.6のポッポが手に入る。(金銀ではLv.6のポッポが野生出現しない) このポッポを2匹目、3匹目に作成したニョロボンを置けば、わざマシン17で最後に読んだメールの1文字目から実行可能になる。 メールが不要な場合は「ざざざざ」を「づざざざ」に変えることで持ち物無しにできる。
コード内容
コード内容
30 DF ; 「だっ」jr nc,DF
30 DF ; 「だっ」jr nc,DF
「てパま」から飛んでくる先。(31文字目~) 相対ジャンプは数値が80以上の場合マイナス方向に飛ぶ。 この場合はCF42(メール文末の次)から33(21h)バイト後ろに飛んでCF21に行く。
「てパま」から飛んでくる先。(31文字目~) 相対ジャンプは数値が80以上の場合マイナス方向に飛ぶ。 この場合はCF42(メール文末の次)から33(21h)バイト後ろに飛んでCF21に行く。
26 CF ; 「がま」ld h,CF
26 CF ; 「がま」ld h,CF
2E 41 ; 「ぜぼ」ld l,3E
2E 41 ; 「ぜぼ」ld l,3E
CF3Eでメールの30文字目を指す。
CF3Eでメールの30文字目を指す。
3E 90 ; 「ぼテ」ld a,92
3E 90 ; 「ぼテ」ld a,92
0F ; 「ダ」rrca
0F ; 「ダ」rrca
90→49
90→49
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
CF3Eを49に変える。ちなみに49は文字で表現すると(おかあさんの名前)になる。 ここが入力不能文字であるばっかりに手間が増える。
CF3Eを49に変える。ちなみに49は文字で表現すると(おかあさんの名前)になる。 ここが入力不能文字であるばっかりに手間が増える。
AF ; 「ョ」xor a
AF ; 「ョ」xor a
aレジスタの値を00にしつつ(念のため)キャリーフラグを折る。
aレジスタの値を00にしつつ(念のため)キャリーフラグを折る。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
CF3Dを00に変える。
CF3Dを00に変える。
2B ; 「ざ」dec hl ×4
2B ; 「ざ」dec hl ×4
hlレジスタで指す位置をCF38にする。 38は入力不可のため、ld l,xxでは入力できないのがネック。
hlレジスタで指す位置をCF38にする。 38は入力不可のため、ld l,xxでは入力できないのがネック。
3E 80 ; 「ぼア」ld a,80
3E 80 ; 「ぼア」ld a,80
4E ; 「改行」ld c,(hl)
4E ; 「改行」ld c,(hl)
メールの仕様上必ず入る改行。今回はcレジスタの値が47になったところで何の意味もない。
メールの仕様上必ず入る改行。今回はcレジスタの値が47になったところで何の意味もない。
E0 A2 ; 「ゃヤ」ld (FF00+A2),a
E0 A2 ; 「ゃヤ」ld (FF00+A2),a
これはメニューを閉じた後にスクリプトを実行できるようにする準備。
これはメニューを閉じた後にスクリプトを実行できるようにする準備。
C3 33 85 ; 「てカで」
C3 33 85 ; 「てカで」
プログラムはここまで。retは飛んだ先で行う。 飛んだ先でhlレジスタや現在バンクを退避させ、あらかじめFFA2を80にしておいたことで、メニューを閉じた後にCF38:47「へ」からのスクリプトが実行される。
プログラムはここまで。retは飛んだ先で行う。 飛んだ先でhlレジスタや現在バンクを退避させ、あらかじめFFA2を80にしておいたことで、メニューを閉じた後にCF38:47「へ」からのスクリプトが実行される。
スクリプト内容
スクリプト内容
47 ; 「ぺ」opentext
47 ; 「ぺ」opentext
これをやっておかないとメッセージが文字化けしてしまうなどの問題が発生する。
これをやっておかないとメッセージが文字化けしてしまうなどの問題が発生する。
2D ; 「ず」givepoke
2D ; 「ず」givepoke
ポケモンを受け取るイベント。 実際のイベントでは手持ちに空きが無いと受け取れないようになっているが、そのチェックを飛ばしてこのスクリプトを実行すると、ボックスに送られこそするが持ち物が変わってしまう。
ポケモンを受け取るイベント。 実際のイベントでは手持ちに空きが無いと受け取れないようになっているが、そのチェックを飛ばしてこのスクリプトを実行すると、ボックスに送られこそするが持ち物が変わってしまう。
10 ; 「ヂ」ポッポ
10 ; 「ヂ」ポッポ
ポッポの図鑑ナンバー16d(10h)を入れる。
ポッポの図鑑ナンバー16d(10h)を入れる。
06 ; 「ギ」Lv.6
06 ; 「ギ」Lv.6
受け取るポケモンのレベルを入れる場所。 ちなみにLv.100以下かつ入力可能な文字では「ぽ」が一番大きく、これだとLv.72になる。
受け取るポケモンのレベルを入れる場所。 ちなみにLv.100以下かつ入力可能な文字では「ぽ」が一番大きく、これだとLv.72になる。
9E ; 「ミ」はながらメール
9E ; 「ミ」はながらメール
持ち物を入れる場所。 最初にもらうポケモンがきのみを持っているのもこれを利用している。
持ち物を入れる場所。 最初にもらうポケモンがきのみを持っているのもこれを利用している。
00 ; 「(無効)」借り物ではない
00 ; 「(無効)」借り物ではない
借り物というのは、イベントの流れで一時的に預かる「ひきゃく」や「ネッシー」のこと。 これらの(01にする)場合は親のIDと名前、ニックネームを別途参照する必要があるため、スクリプトが長くなる。 ちなみに文字00は初代・金銀までは以降の文字が表示されなくなっていたが、クリスタルでは「?」表記になる模様。
借り物というのは、イベントの流れで一時的に預かる「ひきゃく」や「ネッシー」のこと。 これらの(01にする)場合は親のIDと名前、ニックネームを別途参照する必要があるため、スクリプトが長くなる。 ちなみに文字00は初代・金銀までは以降の文字が表示されなくなっていたが、クリスタルでは「?」表記になる模様。
49 ; 「(おかあさんの名前)」closetext
49 ; 「(おかあさんの名前)」closetext
これをやらないと正常にスクリプトを終了できず、強制リセットが起こる。 「おかあさんの名前」はD1BB~D1C0に書かれたもので、29番道路で捕獲チュートリアルを行う際に主人公の名前に上書きされる。
これをやらないと正常にスクリプトを終了できず、強制リセットが起こる。 「おかあさんの名前」はD1BB~D1C0に書かれたもので、29番道路で捕獲チュートリアルを行う際に主人公の名前に上書きされる。
90 ; 「チ」end
90 ; 「チ」end
スクリプト終了
スクリプト終了
これにより、手持ち2匹目からポッポLv.6→ニョロボンの順で並べ、**たいせつポケットのわざマシン17**を使用するとメールの文頭からコードを実行可能になる。(以降、メール実行と呼ぶ)
これにより、手持ち2匹目からポッポLv.6→ニョロボンの順で並べ、たいせつポケットのわざマシン17を使用するとメールの文頭からコードを実行可能になる。(以降、メール実行と呼ぶ)
適当なポケモンを捕まえて先頭に置き、以下のコードをわざマシン17で実行すればポッポLv.6より確実なメタモンLv.100を用意することが可能になる。
適当なポケモンを捕まえて先頭に置き、以下のコードをわざマシン17で実行すればポッポLv.6より確実なメタモンLv.100を用意することが可能になる。
捕まえるのは先述のポッポLv.6ゲットコードでも構わない。 **実行前に2匹目がポッポLv.6、3匹目がニョロボンになっていることを確認すること。**
捕まえるのは先述のポッポLv.6ゲットコードでも構わない。 実行前に2匹目がポッポLv.6、3匹目がニョロボンになっていることを確認すること。
がれぜギョづぴづべづづガつごまに ざづぼダづじひマぼオづぜァづの
がれぜギョづぴづべづづガつごまに ざづぼダづじひマぼオづぜァづの
手持ちの先頭にいるポケモンをLv.100、個体値0000、完全育成のメタモンにする。 能力の再計算はしないので、**一度パソコンに預けて引き出す**こと。 経験値が100万をオーバーしているのは気にしなくていい。 2匹目に置くことでわざマシン17からの実行で安全に3匹目まで動かす役割を持つ。
手持ちの先頭にいるポケモンをLv.100、個体値0000、完全育成のメタモンにする。 能力の再計算はしないので、一度パソコンに預けて引き出すこと。 経験値が100万をオーバーしているのは気にしなくていい。 2匹目に置くことでわざマシン17からの実行で安全に3匹目まで動かす役割を持つ。
主人公名再設定
主人公名再設定
01:6237を実行することで、ゲーム開始時の名前入力画面(っぽいもの)を出せる。
01:6237を実行することで、ゲーム開始時の名前入力画面(っぽいもの)を出せる。
以下の内容のメールを読んでメール実行。
以下の内容のメールを読んでメール実行。
一応「てパま」からも実行できるようにしてはある。
一応「てパま」からも実行できるようにしてはある。
へロどョぶがょひしぜでひゆまのの ののののののののののののののだっ
へロどョぶがょひしぜでひゆまのの ののののののののののののののだっ
パートナー修正
パートナー修正
手持ち1匹目のIDと親名を自分のものにする。 ちなみに主人公のIDと名前は地続きになっている。
手持ち1匹目のIDと親名を自分のものにする。 ちなみに主人公のIDと名前は地続きになっている。
がむぜうヅ0るョぺぽズズへよだ空 ヅヂろゾギてよだののののののだっ
がむぜうヅ0るョぺぽズズへよだ空 ヅヂろゾギてよだののののののだっ
ボックス名初期化
ボックス名初期化
01:5D16を実行することで、ボックス名を初期値に戻すことができる。
01:5D16を実行することで、ボックス名を初期値に戻すことができる。
以下の内容のメールを読んでメール実行。
以下の内容のメールを読んでメール実行。
一応「てパま」からも(ry
一応「てパま」からも(ry
ョぶがをひしぜデひゆまののののの ののののののののののののののだっ
ョぶがをひしぜデひゆまののののの ののののののののののののののだっ
図鑑モード99用仕込み
図鑑モード99用仕込み
11のままだと手持ち3匹目と4匹目が固定されるため、99にしてメール文頭から実行できるようにしてしまうと楽。図鑑モードの切り替えが終わったら主人公の名前を自由に変えてよくなる。 図鑑モードの切り替えはバグ図鑑モードからだとうまくいかないため、わざマシン17の仕込みを終えてからにする。
11のままだと手持ち3匹目と4匹目が固定されるため、99にしてメール文頭から実行できるようにしてしまうと楽。図鑑モードの切り替えが終わったら主人公の名前を自由に変えてよくなる。 図鑑モードの切り替えはバグ図鑑モードからだとうまくいかないため、わざマシン17の仕込みを終えてからにする。
パソコン預け数変更
パソコン預け数変更
パソコンの預け数が43未満なら43にし、末尾に「やめる」を追加、43番目の道具個数を1する。
パソコンの預け数が43未満なら43にし、末尾に「やめる」を追加、43番目の道具個数を1する。
がよぜゃひすヅゴよビ8ざみョべづ ョぶづぼざデののののののののだっ
がよぜゃひすヅゴよビ8ざみョべづ ョぶづぼざデののののののののだっ
コード内容
コード内容
30 DF; 「だっ」jr nc,DF
30 DF; 「だっ」jr nc,DF
「てパま」から飛んでくる先。 相対ジャンプは数値が80以上の場合マイナス方向に飛ぶ。 この場合はCF42(メール文末の次)から33(21h)バイト後ろに飛んでCF21に行く。
「てパま」から飛んでくる先。 相対ジャンプは数値が80以上の場合マイナス方向に飛ぶ。 この場合はCF42(メール文末の次)から33(21h)バイト後ろに飛んでCF21に行く。
26 D6 ; 「がよ」ld h,D6
26 D6 ; 「がよ」ld h,D6
2E DF ; 「ぜゃ」ld l,E0
2E DF ; 「ぜゃ」ld l,E0
CB BD ; 「ひす」res 7,l
CB BD ; 「ひす」res 7,l
lレジスタのbit7を0にする。 これでE0から60にする。 (D65Fはパソコン43番目個数)
lレジスタのbit7を0にする。 これでE0から60にする。 (D65Fはパソコン43番目個数)
11 09 D6 ; 「ヅゴよ」ld de,D609
11 09 D6 ; 「ヅゴよ」ld de,D609
D609はパソコンの預け数。
D609はパソコンの預け数。
1A ; 「ビ」ld a,(de)
1A ; 「ビ」ld a,(de)
パソコン預け数を取得。
パソコン預け数を取得。
FE 2B ; 「8ざ」cp a,2B
FE 2B ; 「8ざ」cp a,2B
パソコンの預け数が43(2Bh)種あるかどうかをチェック。
パソコンの預け数が43(2Bh)種あるかどうかをチェック。
D0 ; 「み」ret nc
D0 ; 「み」ret nc
パソコン預け数が43種以上あった場合はキャリーフラグが立たないので、それを利用してプログラムを中止する。
パソコン預け数が43種以上あった場合はキャリーフラグが立たないので、それを利用してプログラムを中止する。
AF ; 「ョ」xor a
AF ; 「ョ」xor a
ここからパソコンの預け数が42以下の場合の分岐。 aレジスタを00hにする。
ここからパソコンの預け数が42以下の場合の分岐。 aレジスタを00hにする。
3D ; 「べ」dec a
3D ; 「べ」dec a
aレジスタの値を00hから1減らしてFFhにする。
aレジスタの値を00hから1減らしてFFhにする。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
パソコン44番目の種類を「やめる」に変え、hlレジスタで差すアドレスをD65Fにする。
パソコン44番目の種類を「やめる」に変え、hlレジスタで差すアドレスをD65Fにする。
4E ; 「改行」ld c,(hl)
4E ; 「改行」ld c,(hl)
メールの仕様上必ず入る改行。 cレジスタにパソコン43番目個数の値を入れるが、今回cレジスタは使わないので気にしない。
メールの仕様上必ず入る改行。 cレジスタにパソコン43番目個数の値を入れるが、今回cレジスタは使わないので気にしない。
AF ; 「ョ」xor a
AF ; 「ョ」xor a
aレジスタを00hにする。 別に「ぶ」[inc a]でもいいんだけれど。
aレジスタを00hにする。 別に「ぶ」[inc a]でもいいんだけれど。
3C ; 「ぶ」inc a
3C ; 「ぶ」inc a
aレジスタの値を1増やして00h→01hにする。
aレジスタの値を1増やして00h→01hにする。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
パソコン43番目個数を1にする。 hlレジスタはもう使わない。
パソコン43番目個数を1にする。 hlレジスタはもう使わない。
3E 2B ; 「ぼざ」ld a,2B
3E 2B ; 「ぼざ」ld a,2B
aレジスタの値を43(2Bh)にする。
aレジスタの値を43(2Bh)にする。
12 ; 「デ」ld (de),a
12 ; 「デ」ld (de),a
パソコン預け数を43にする。
パソコン預け数を43にする。
C9 ; 「の」ret
C9 ; 「の」ret
プログラム終了。
プログラム終了。
メール実行用セットアップ
メール実行用セットアップ
`D659: 40 21 21 CF 40 E9`に変える。 40番目個数は64個になる。
D659: 40 21 21 CF 40 E9に変える。 40番目個数は64個になる。
がまぜでごダづづヅニよひでョぐグ ==パ**プタ**まパァ==ペゾギてよだ
がまぜでごダづづヅニよひでョぐグ プタまパァペゾギてよだ
「プタ」は実行時に21 21「あ゛あ゛」に書き換えられる。
「プタ」は実行時に21 21「あ゛あ゛」に書き換えられる。
図鑑モード切り替え用コード
図鑑モード切り替え用コード
わざマシン17でバグ図鑑モードと通常の図鑑モードの切り替えができるコード。普通の図鑑を使いたいときに。 バグ図鑑モードからの実行だとうまくいかない。
わざマシン17でバグ図鑑モードと通常の図鑑モードの切り替えができるコード。普通の図鑑を使いたいときに。 バグ図鑑モードからの実行だとうまくいかない。
ヅょよひびビギギひゲくだガぼハデ のョデののののののののののののの
ヅょよひびビギギひゲくだガぼハデ のョデののののののののののののの
図鑑モードが正常でない時はあたらしい ずかん モード(00)に切り替え、正常な図鑑モード(00~02)の時は図鑑モードを99にする。
図鑑モードが正常でない時はあたらしい ずかん モード(00)に切り替え、正常な図鑑モード(00~02)の時は図鑑モードを99にする。
パソコンの0個の道具を1個にする。
パソコンの0個の道具を1個にする。
ポケスタ金銀上では0個の道具が表示されないので一緒に仕込んでおく。
ポケスタ金銀上では0個の道具が表示されないので一緒に仕込んでおく。
がよぜゴごレねぺじョキぐグじガね そだォどだ0ののののののののだっ
がよぜゴごレねぺじョキぐグじガね そだォどだ0ののののののののだっ
別解:てパまルート(GBビル不可)
別解:てパまルート(GBビル不可)
図鑑モード06である必要がなかった。
図鑑モード06である必要がなかった。
図鑑モード06はFB0Eに飛ぶ。これは手持ち6匹目のとくぼう実数値上桁(のミラー)となる。 ゲーム開始直後で手持ちが6匹埋まっていない場合、この場所は00[nop]で埋まっているため、その直後にある手持ち1匹目の親名に進むことができる。
図鑑モード06はFB0Eに飛ぶ。これは手持ち6匹目のとくぼう実数値上桁(のミラー)となる。 ゲーム開始直後で手持ちが6匹埋まっていない場合、この場所は00[nop]で埋まっているため、その直後にある手持ち1匹目の親名に進むことができる。
ただし、ポケスタ金銀のGBビルでは実行できないため、別途GB本体が必要。幸いスーパーゲームボーイやゲームボーイプレイヤーなら実行できる。 互換機用のGBアダプタ(16ビットポケット HDMI用 GB用 拡張コンバーター)+SFC実機でもミラー領域は使えることを確認 図鑑モード09hで2匹目の中身(のミラー、FA20)に飛ぶこともできる。
ただし、ポケスタ金銀のGBビルでは実行できないため、別途GB本体が必要。幸いスーパーゲームボーイやゲームボーイプレイヤーなら実行できる。 互換機用のGBアダプタ(16ビットポケット HDMI用 GB用 拡張コンバーター)+SFC実機でもミラー領域は使えることを確認 図鑑モード09hで2匹目の中身(のミラー、FA20)に飛ぶこともできる。
そのため、主人公の名前を「てパま」[jp CF40]にすることで、最後に読んだメールの31文字目に飛ぶことができ、「だっ」[jr nc,DF]で文頭まで飛ぶことができる。
そのため、主人公の名前を「てパま」[jp CF40]にすることで、最後に読んだメールの31文字目に飛ぶことができ、「だっ」[jr nc,DF]で文頭まで飛ぶことができる。
「ていり」[jp D8B2]ならボックス1の名前に飛べる。 主人公の名前はD1B5~D1B9で5文字まで設定でき、D1BAまでに50を入れる必要がある。
「ていり」[jp D8B2]ならボックス1の名前に飛べる。 主人公の名前はD1B5~D1B9で5文字まで設定でき、D1BAまでに50を入れる必要がある。
準備するもの
準備するもの
具体的な用意法は先述のものと変わらないので省略。 他のものは環境を整えてから作成すればいい、
具体的な用意法は先述のものと変わらないので省略。 他のものは環境を整えてから作成すればいい、
主人公「てパま」
主人公「てパま」
親名に埋め込むためだけに必要。 セットアップが終わったら好きに書き換えてよくなる。 ライバルの名前は不問。
親名に埋め込むためだけに必要。 セットアップが終わったら好きに書き換えてよくなる。 ライバルの名前は不問。
ゲーム開始からポケモンを6匹埋めないようにする。
ゲーム開始からポケモンを6匹埋めないようにする。
虫取りバグチャートの場合はタマゴのステータスで無理やり通すが、ポケスタ金銀から道具を持っていくなら6匹埋めないのが確実。 6匹埋まってしまった場合はアルフのいせきで捕まえたアンノーンLv.5か、キキョウジム攻略後にもらえるタマゴを6匹目に置くことでリカバリーは可能。
虫取りバグチャートの場合はタマゴのステータスで無理やり通すが、ポケスタ金銀から道具を持っていくなら6匹埋めないのが確実。 6匹埋まってしまった場合はアルフのいせきで捕まえたアンノーンLv.5か、キキョウジム攻略後にもらえるタマゴを6匹目に置くことでリカバリーは可能。
2個の同名たいせつなもの
2個の同名たいせつなもの
例によってじてんしゃ(07)で解説。
例によってじてんしゃ(07)で解説。
モンスターボール×5
モンスターボール×5
ライバル命名後に5個もらえるので(ry
ライバル命名後に5個もらえるので(ry
ガンテツボール
ガンテツボール
ボールポケット破壊用
ボールポケット破壊用
メール数通
メール数通
コード書き込み用 はながらメールはキキョウシティまで行かないと買えないので、ヒワダタウンでセットアップをしたいときは別途用意する必要がある。
コード書き込み用 はながらメールはキキョウシティまで行かないと買えないので、ヒワダタウンでセットアップをしたいときは別途用意する必要がある。
ボールポケット破壊~図鑑モード書き換え
ボールポケット破壊~図鑑モード書き換え
ボールポケットをガンテツボール→モンスターボール×1~5(3以外)の2種のみにする。
ボールポケットをガンテツボール→モンスターボール×1~5(3以外)の2種のみにする。
ヨシノシティまでではスーパーボールも手に入らないため、持ち込んだガンテツボールと合わせて2種しかないはずだが。
ヨシノシティまでではスーパーボールも手に入らないため、持ち込んだガンテツボールと合わせて2種しかないはずだが。
たいせつなものポケットの末尾にじてんしゃが2台並ぶよう調整。
たいせつなものポケットの末尾にじてんしゃが2台並ぶよう調整。
1台目のじてんしゃを末尾に置いてから2台目を引き出したり預かったりするといい。
1台目のじてんしゃを末尾に置いてから2台目を引き出したり預かったりするといい。
たいせつなものポケットにある1台目のじてんしゃを、2台目のじてんしゃのところに移動する。
たいせつなものポケットにある1台目のじてんしゃを、2台目のじてんしゃのところに移動する。
これにより、個数まとめ処理でボールポケットが破壊される。
これにより、個数まとめ処理でボールポケットが破壊される。
じてんしゃを便利ボタンに登録する。
じてんしゃを便利ボタンに登録する。
これでじてんしゃがボールポケット67番目に置かれるので、65番目のアイテムの目安にする。
これでじてんしゃがボールポケット67番目に置かれるので、65番目のアイテムの目安にする。
ボールポケットにできている255個のボールを249個捨てる。(6個にする)
ボールポケットにできている255個のボールを249個捨てる。(6個にする)
下×7(1→249)の順番で操作すればいい。
下×7(1→249)の順番で操作すればいい。
6個にしたボールを65番目まで移動する。
6個にしたボールを65番目まで移動する。
登録したじてんしゃを目安にし、その2つ上に移動する。
登録したじてんしゃを目安にし、その2つ上に移動する。
以下のメールを持たせて図鑑を見る。成功していればフリーズせずにバグった図鑑が表示されるだけになるはずなので、Bボタンを押して図鑑を閉じる。
以下のメールを持たせて図鑑を見る。成功していればフリーズせずにバグった図鑑が表示されるだけになるはずなので、Bボタンを押して図鑑を閉じる。
のののののののののののののののの ののののののののののののののだっ
のののののののののののののののの ののののののののののののののだっ
ボールポケット修復
ボールポケット修復
先述のとほぼ同じだが、文末に「だっ」が必要。
先述のとほぼ同じだが、文末に「だっ」が必要。
以下のメールを読んでから図鑑を見る。
以下のメールを読んでから図鑑を見る。
がゆぜゅひゼョべづョづぜやどぺパ ズゴべづにむづののののののの**だっ**
がゆぜゅひゼョべづョづぜやどぺパ ズゴべづにむづのののののののだっ
ボールポケットを空にし、たいせつなものポケットに終端を復活させつつわざマシン17を追加する。
ボールポケットを空にし、たいせつなものポケットに終端を復活させつつわざマシン17を追加する。
コード内容
コード内容
30 DF : 「だっ」jr DF
30 DF : 「だっ」jr DF
「てパま」から飛んでくる先。(31文字目~) 相対ジャンプは数値が80以上の場合マイナス方向に飛ぶ。 この場合はCF42(メール文末の次)から33(21h)バイト後ろに飛んでCF21に行く。
「てパま」から飛んでくる先。(31文字目~) 相対ジャンプは数値が80以上の場合マイナス方向に飛ぶ。 この場合はCF42(メール文末の次)から33(21h)バイト後ろに飛んでCF21に行く。
26 D5 ; 「がゆ」ld h,D5
26 D5 ; 「がゆ」ld h,D5
2E E1 ; 「ぜゅ」 ld l,E1
2E E1 ; 「ぜゅ」 ld l,E1
CB 0D ; 「ひゼ」rrc l
CB 0D ; 「ひゼ」rrc l
E1→F0 D5F0はボールポケット1種目の種類
E1→F0 D5F0はボールポケット1種目の種類
AF ; 「ョ」xor a
AF ; 「ョ」xor a
aレジスタを00に。
aレジスタを00に。
3D ; 「べ」dec a
3D ; 「べ」dec a
00→FF
00→FF
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
ボールポケットの先頭を「やめる」に。
ボールポケットの先頭を「やめる」に。
AF ; 「ョ」xor a
AF ; 「ョ」xor a
aレジスタをを再び0に。別に3C「ぶ」[inc a]でもいいんだけれど。
aレジスタをを再び0に。別に3C「ぶ」[inc a]でもいいんだけれど。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
ボールポケットの所持数を0に。これでボールポケットは空になり、「やめる」の下にも行けなくなる。
ボールポケットの所持数を0に。これでボールポケットは空になり、「やめる」の下にも行けなくなる。
2E D4; 「ぜや」ld l,D4
2E D4; 「ぜや」ld l,D4
D5D4はたいせつなものポケットの所持数
D5D4はたいせつなものポケットの所持数
34 ; 「ど」 inc (hl)
34 ; 「ど」 inc (hl)
わざマシン17を入れるスペースを作るため、所持数を1個増やす。
わざマシン17を入れるスペースを作るため、所持数を1個増やす。
47 ; 「ぺ」ld b,a
47 ; 「ぺ」ld b,a
bレジスタの値を00にする。
bレジスタの値を00にする。
40 ; 「パ」ld b,b
40 ; 「パ」ld b,b
改行を使ってからでないと次の工程に進めないため、無意味な命令を挟む。
改行を使ってからでないと次の工程に進めないため、無意味な命令を挟む。
4E ; 「改行」ld c,(hl)
4E ; 「改行」ld c,(hl)
メールを使う上で17文字目に必ず入る改行。 現在hlレジスタはたいせつなものポケット所持数(D5D4)を指しているため、そこの数値をcレジスタに代入する。
メールを使う上で17文字目に必ず入る改行。 現在hlレジスタはたいせつなものポケット所持数(D5D4)を指しているため、そこの数値をcレジスタに代入する。
0C ; 「ズ」inc c
0C ; 「ズ」inc c
cレジスタの値をたいせつなものポケット所持数+1にする。
cレジスタの値をたいせつなものポケット所持数+1にする。
09 ; 「ゴ」add hl,bc
09 ; 「ゴ」add hl,bc
hlレジスタの参照をたいせつなものポケットの末尾に移動。 たいせつなものは個数が管理されていないため、数値を倍にする必要はない。
hlレジスタの参照をたいせつなものポケットの末尾に移動。 たいせつなものは個数が管理されていないため、数値を倍にする必要はない。
3D ; 「べ」dec a
3D ; 「べ」dec a
aレジスタをFFに。
aレジスタをFFに。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
たいせつなものポケットの末尾を「やめる」に。これでたいせつなものポケットの「やめる」が復活する。
たいせつなものポケットの末尾を「やめる」に。これでたいせつなものポケットの「やめる」が復活する。
C5 D1 ; 「むに」add a,D1
C5 D1 ; 「むに」add a,D1
FF+D1でD0に。(繰り上がりは気にしない) D0が入力できないわけではないため、3E D0「ぼみ」[ld d,3D]にしても問題なかったりする。
FF+D1でD0に。(繰り上がりは気にしない) D0が入力できないわけではないため、3E D0「ぼみ」[ld d,3D]にしても問題なかったりする。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
たいせつなものポケットにわざマシン17を追加。
たいせつなものポケットにわざマシン17を追加。
C9 ; 「の」ret
C9 ; 「の」ret
コード終了。
コード終了。
わざマシン17仕込み
わざマシン17仕込み
まず、**手持ち3匹以下の状態にし、**「以下のメールを読んでから図鑑を見てメニューを閉じる」工程を2回行う。
まず、手持ち3匹以下の状態にし、「以下のメールを読んでから図鑑を見てメニューを閉じる」工程を2回行う。
一応、ポッポLv,6が6匹目に入る分には問題なく親名まで行けるが念のため。 今回使用するスクリプトは手持ちに加えることしか想定していないようで、ボックスに送られると持ち物が変わってしまう。
一応、ポッポLv,6が6匹目に入る分には問題なく親名まで行けるが念のため。 今回使用するスクリプトは手持ちに加えることしか想定していないようで、ボックスに送られると持ち物が変わってしまう。
がまぜぼぼテダづョづざざざざぼア ゃヤてカで空ぺずヂギミ**ミミ**チだっ
がまぜぼぼテダづョづざざざざぼア ゃヤてカで空ぺずヂギミミミチだっ
以下のスクリプトを実行している。(後ろの「ミミ」を実行時に書き換える) `47 2D 10 06 9E 00 49 90` 手持ちに空きを作ってから実行後、メニューを閉じると、はながらメールを持ったLv.6のポッポが手に入る。(金銀ではLv.6のポッポが野生出現しない) 1匹は個体値と経験値を書き換えて2匹目用に、もう1匹はニョロボンに書き換えて3匹目用にする。 メールが不要な場合は「ざざざざ」を「づざざざ」に変えることで持ち物無しにできる。
以下のスクリプトを実行している。(後ろの「ミミ」を実行時に書き換える) 47 2D 10 06 9E 00 49 90 手持ちに空きを作ってから実行後、メニューを閉じると、はながらメールを持ったLv.6のポッポが手に入る。(金銀ではLv.6のポッポが野生出現しない) 1匹は個体値と経験値を書き換えて2匹目用に、もう1匹はニョロボンに書き換えて3匹目用にする。 メールが不要な場合は「ざざざざ」を「づざざざ」に変えることで持ち物無しにできる。
コード内容
コード内容
30 DF ; 「だっ」jr nc,DF
30 DF ; 「だっ」jr nc,DF
「てパま」から飛んでくる先。(31文字目~) 相対ジャンプは数値が80以上の場合マイナス方向に飛ぶ。 この場合はCF42(メール文末の次)から33(21h)バイト後ろに飛んでCF21に行く。
「てパま」から飛んでくる先。(31文字目~) 相対ジャンプは数値が80以上の場合マイナス方向に飛ぶ。 この場合はCF42(メール文末の次)から33(21h)バイト後ろに飛んでCF21に行く。
26 CF ; 「がま」ld h,CF
26 CF ; 「がま」ld h,CF
2E 41 ; 「ぜぼ」ld l,3E
2E 41 ; 「ぜぼ」ld l,3E
CF3Eでメールの30文字目を指す。
CF3Eでメールの30文字目を指す。
3E 90 ; 「ぼテ」ld a,92
3E 90 ; 「ぼテ」ld a,92
0F ; 「ダ」rrca
0F ; 「ダ」rrca
90→49
90→49
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
CF3Eを49に変える。ちなみに49は文字で表現すると(おかあさんの名前)になる。 ここが入力不能文字であるばっかりに手間が増える。
CF3Eを49に変える。ちなみに49は文字で表現すると(おかあさんの名前)になる。 ここが入力不能文字であるばっかりに手間が増える。
AF ; 「ョ」xor a
AF ; 「ョ」xor a
aレジスタの値を00にしつつ(念のため)キャリーフラグを折る。
aレジスタの値を00にしつつ(念のため)キャリーフラグを折る。
32 ; 「づ」ldd (hl),a
32 ; 「づ」ldd (hl),a
CF3Dを00に変える。
CF3Dを00に変える。
2B ; 「ざ」dec hl ×4
2B ; 「ざ」dec hl ×4
hlレジスタで指す位置をCF38にする。 38は入力不可のため、ld l,xxでは入力できないのがネック。
hlレジスタで指す位置をCF38にする。 38は入力不可のため、ld l,xxでは入力できないのがネック。
3E 80 ; 「ぼア」ld a,80
3E 80 ; 「ぼア」ld a,80
4E ; 「改行」ld c,(hl)
4E ; 「改行」ld c,(hl)
メールの仕様上必ず入る改行。今回はcレジスタの値が47になったところで何の意味もない。
メールの仕様上必ず入る改行。今回はcレジスタの値が47になったところで何の意味もない。
E0 A2 ; 「ゃヤ」ld (FF00+A2),a
E0 A2 ; 「ゃヤ」ld (FF00+A2),a
これはメニューを閉じた後にスクリプトを実行できるようにする準備。
これはメニューを閉じた後にスクリプトを実行できるようにする準備。
C3 33 85 ; 「てカで」
C3 33 85 ; 「てカで」
プログラムはここまで。retは飛んだ先で行う。 飛んだ先でhlレジスタや現在バンクを退避させ、あらかじめFFA2を80にしておいたことで、メニューを閉じた後にCF38:47「へ」からのスクリプトが実行される。
プログラムはここまで。retは飛んだ先で行う。 飛んだ先でhlレジスタや現在バンクを退避させ、あらかじめFFA2を80にしておいたことで、メニューを閉じた後にCF38:47「へ」からのスクリプトが実行される。
スクリプト内容
スクリプト内容
47 ; 「ぺ」opentext
47 ; 「ぺ」opentext
これをやっておかないとメッセージが文字化けしてしまうなどの問題が発生する。
これをやっておかないとメッセージが文字化けしてしまうなどの問題が発生する。
2D ; 「ず」givepoke
2D ; 「ず」givepoke
ポケモンを受け取るイベント。 実際のイベントでは手持ちに空きが無いと受け取れないようになっているが、そのチェックを飛ばしてこのスクリプトを実行すると、ボックスに送られこそするが持ち物が変わってしまう。
ポケモンを受け取るイベント。 実際のイベントでは手持ちに空きが無いと受け取れないようになっているが、そのチェックを飛ばしてこのスクリプトを実行すると、ボックスに送られこそするが持ち物が変わってしまう。
10 ; 「ヂ」ポッポ
10 ; 「ヂ」ポッポ
ポッポの図鑑ナンバー16d(10h)を入れる。
ポッポの図鑑ナンバー16d(10h)を入れる。
06 ; 「ギ」Lv.6
06 ; 「ギ」Lv.6
受け取るポケモンのレベルを入れる場所。 ちなみにLv.100以下かつ入力可能な文字では「ぽ」が一番大きく、これだとLv.72になる。
受け取るポケモンのレベルを入れる場所。 ちなみにLv.100以下かつ入力可能な文字では「ぽ」が一番大きく、これだとLv.72になる。
9E ; 「ミ」はながらメール
9E ; 「ミ」はながらメール
持ち物を入れる場所。 最初にもらうポケモンがきのみを持っているのもこれを利用している。
持ち物を入れる場所。 最初にもらうポケモンがきのみを持っているのもこれを利用している。
00 ; 「(無効)」借り物ではない
00 ; 「(無効)」借り物ではない
借り物というのは、イベントの流れで一時的に預かる「ひきゃく」や「ネッシー」のこと。 これらの(01にする)場合は親のIDと名前、ニックネームを別途参照する必要があるため、スクリプトが長くなる。 ちなみに文字00は初代・金銀までは以降の文字が表示されなくなっていたが、クリスタルでは「?」表記になる模様。
借り物というのは、イベントの流れで一時的に預かる「ひきゃく」や「ネッシー」のこと。 これらの(01にする)場合は親のIDと名前、ニックネームを別途参照する必要があるため、スクリプトが長くなる。 ちなみに文字00は初代・金銀までは以降の文字が表示されなくなっていたが、クリスタルでは「?」表記になる模様。
49 ; 「(おかあさんの名前)」closetext
49 ; 「(おかあさんの名前)」closetext
これをやらないと正常にスクリプトを終了できず、強制リセットが起こる。 「おかあさんの名前」はD1BB~D1C0に書かれたもので、29番道路で捕獲チュートリアルを行う際に主人公の名前に上書きされる。
これをやらないと正常にスクリプトを終了できず、強制リセットが起こる。 「おかあさんの名前」はD1BB~D1C0に書かれたもので、29番道路で捕獲チュートリアルを行う際に主人公の名前に上書きされる。
90 ; end
90 ; end
スクリプト終了
スクリプト終了
1匹目のポッポを先頭に置き、以下のメールを読んで図鑑を見る。
1匹目のポッポを先頭に置き、以下のメールを読んで図鑑を見る。
2匹目のポッポは2番目に置いておく。
2匹目のポッポは2番目に置いておく。
がるぜォぼみづよョづぼてづざぼぼ づぜァづののののののののののだっ
がるぜォぼみづよョづぼてづざぼぼ づぜァづののののののののののだっ
手持ちの先頭にいるポケモンの技をほろびのうた→たいあたり→いばるにし、種族をニョロボンに変える。 これを3匹目に置くことで、わざマシン17からメールの文頭に飛ぶことができるようになる。 能力値は弄っていないので、一度パソコンに預けて引き出すのを推奨。
手持ちの先頭にいるポケモンの技をほろびのうた→たいあたり→いばるにし、種族をニョロボンに変える。 これを3匹目に置くことで、わざマシン17からメールの文頭に飛ぶことができるようになる。 能力値は弄っていないので、一度パソコンに預けて引き出すのを推奨。
手持ち2匹目からポッポLv.6→ニョロボンの形ができたら**たいせつなものポケットのわざマシン17**でメールの文頭からコードを実行可能になるので、適当なポケモンを捕まえて先頭に置き、以下のコードを実行すればポッポLv.6より確実なメタモンLv.100を用意することが可能になる。
手持ち2匹目からポッポLv.6→ニョロボンの形ができたらたいせつなものポケットのわざマシン17でメールの文頭からコードを実行可能になるので、適当なポケモンを捕まえて先頭に置き、以下のコードを実行すればポッポLv.6より確実なメタモンLv.100を用意することが可能になる。
捕まえるのは先述のポッポLv.6ゲットコードでも構わない。
捕まえるのは先述のポッポLv.6ゲットコードでも構わない。
がれぜギョづぴづべづづガつごまに ざづぼダづじひマぼオづぜァづの
がれぜギョづぴづべづづガつごまに ざづぼダづじひマぼオづぜァづの
手持ちの先頭にいるポケモンをLv.100、個体値0000、完全育成のメタモンにする。 能力の再計算はしないので、**一度パソコンに預けて引き出す**こと。 経験値が100万をオーバーしているのは気にしなくていい。 2匹目に置くことでわざマシン17からの実行で安全に3匹目まで動かす役割を持つ。
手持ちの先頭にいるポケモンをLv.100、個体値0000、完全育成のメタモンにする。 能力の再計算はしないので、一度パソコンに預けて引き出すこと。 経験値が100万をオーバーしているのは気にしなくていい。 2匹目に置くことでわざマシン17からの実行で安全に3匹目まで動かす役割を持つ。
図鑑モード99用仕込み
図鑑モード99用仕込み
06のままだと手持ち1匹目と6匹目が固定されるため、99にして文頭から実行できるようにしてしまうと楽。図鑑モードの切り替えが終わったら主人公の名前を自由に変えてよくなる。 図鑑モードの切り替えはバグ図鑑モードからだとうまくいかないため、わざマシン17の仕込みを終えてからにする。
06のままだと手持ち1匹目と6匹目が固定されるため、99にして文頭から実行できるようにしてしまうと楽。図鑑モードの切り替えが終わったら主人公の名前を自由に変えてよくなる。 図鑑モードの切り替えはバグ図鑑モードからだとうまくいかないため、わざマシン17の仕込みを終えてからにする。
パソコン預け数変更
パソコン預け数変更
パソコンの預け数が43未満なら43にし、末尾に「やめる」を追加、43番目の道具個数を1する。
パソコンの預け数が43未満なら43にし、末尾に「やめる」を追加、43番目の道具個数を1する。
がよぜっひすヅゴよビ8ざみョべじ づョぶづぼざデのののののののだっ
がよぜっひすヅゴよビ8ざみョべじ づョぶづぼざデのののののののだっ
2024/7/15 一部間違っていたので修正しました。申し訳ありません。
2024/7/15 一部間違っていたので修正しました。申し訳ありません。
メール実行用セットアップ
メール実行用セットアップ
`D659: 40 21 21 CF 40 E9`に変える。 40番目個数は64個になる。
D659: 40 21 21 CF 40 E9に変える。 40番目個数は64個になる。
がまぜでごダづづヅニよひでョぐグ ==パ**プタ**まパァ==ペゾギてよだ
がまぜでごダづづヅニよひでョぐグ プタまパァペゾギてよだ
「プタ」は実行時に21 21「あ゛あ゛」に書き換えられる。
「プタ」は実行時に21 21「あ゛あ゛」に書き換えられる。
図鑑モード切り替え用コード
図鑑モード切り替え用コード
わざマシン17でバグ図鑑モードと通常の図鑑モードの切り替えができるコード。普通の図鑑を使いたいときに。 バグ図鑑モードからの実行だとうまくいかない。
わざマシン17でバグ図鑑モードと通常の図鑑モードの切り替えができるコード。普通の図鑑を使いたいときに。 バグ図鑑モードからの実行だとうまくいかない。
ヅょよひびビギギひゲくだガぼハデ のョデの
ヅょよひびビギギひゲくだガぼハデ のョデの
図鑑モードが正常でない時はあたらしいずかんモード(00)に切り替え、正常な図鑑モード(00~02)の時は図鑑モードを99にする。
図鑑モードが正常でない時はあたらしいずかんモード(00)に切り替え、正常な図鑑モード(00~02)の時は図鑑モードを99にする。
参考資料
参考資料
任意コードニモニック表 : 魚肉の雑記帳
任意コードニモニック表 : 魚肉の雑記帳
http://blog.livedoor.jp/lpt9705/archives/34450797.html
ぽけもんばぐ・りっちーず(アーカイブ)
ぽけもんばぐ・りっちーず(アーカイブ)
https://web.archive.org/web/20181001140126id_/http://www.geocities.jp/kattempla/pokebug/index.html
理解できなくても出来る任意コード実行解説【ポケモン金銀ver】 - nakayoshibaddi’s blog
理解できなくても出来る任意コード実行解説【ポケモン金銀ver】 - nakayoshibaddi’s blog
https://nakayoshibaddi.hatenadiary.jp/entry/2017/08/15/223932
金銀の「バグモード図鑑」と「分類違いわざマシン」のジャンプ先リスト - オーキドせんせい研究者のページ
金銀の「バグモード図鑑」と「分類違いわざマシン」のジャンプ先リスト - オーキドせんせい研究者のページ
https://vs-prof-oak.hatenablog.com/entry/2023/08/17/011620
【クリスタル版】誰でも簡単!任意コード実行環境構築チャート解説【ポケモン第二世代 バグ技 任意コード実行】 - YouTube
【クリスタル版】誰でも簡単!任意コード実行環境構築チャート解説【ポケモン第二世代 バグ技 任意コード実行】 - YouTube
https://www.youtube.com/watch?v=dUdnOKiu_7s
ポケモン金銀で任意コード実行! ポケモン第二世代任意コード実行講座 Part.01
ポケモン金銀で任意コード実行! ポケモン第二世代任意コード実行講座 Part.01
https://www.youtube.com/watch?v=S2Oe38vW8pg&t=1003s
ポケットモンスター 金・銀 バイナリエディタ - flag3
ポケットモンスター 金・銀 バイナリエディタ - flag3
https://flag3.github.io/blog/posts/ram-writer-in-pokemon-gold-silver/
Move item
    No results were found.
    Insert template
      No results were found.

      No document is open

      Cannot open document

      Sorry, the document link is not valid.

      Failed to load document.

      Back to document
      You can bookmark search results for quicker access.
      in items
      in notes

      Triggers
      Tag autocomplete@ or #
      Pick date!
      Link to another item[[
      Formatting
      **Bold**bold
      __Italics__Italics
      ~~Strikethrough~~Strikethrough
      ==Highlight==Highlight
      `code`code
      ```print('Hello world')```print('Hello world')
      [Dynalist](dynalist.io)Dynalist
      ![Cat](example.com/cat.jpg)Cat
      $$E = mc^2$$
      Shortcuts
      Basics
      IndentTab
      UnindentShift+Tab
      Expand/collapseCtrl+.
      Zoom inCtrl+]
      Zoom outCtrl+[
      Delete itemCtrl+Shift+⌫
      General
      Toggle helpCtrl+/
      Open settingsCtrl+,
      Toggle file paneCtrl+Shift+F
      Toggle bookmark paneCtrl+Shift+B
      Toggle tag paneBlank
      Toggle checked itemsBlank
      Toggle checked items for current docBlank
      Toggle notesBlank
      Toggle notes for current docBlank
      SaveCtrl+S
      Toggle spell checkerBlank
      Capture to inbox (Pro)Ctrl+Shift+I
      Switch to mind mapBlank
      Toggle bookmark for current stateBlank
      Working with lists
      Delete from aboveCtrl+Shift+Del
      Move between item & noteShift+↵
      Toggle checkedCtrl+↵
      Uncheck all childrenBlank
      Expand/collapse allCtrl+Shift+.
      Expand/collapse all siblingsBlank
      Toggle checkboxCtrl+Shift+C
      Toggle checkbox for childrenBlank
      Toggle numbered listCtrl+Shift+X
      Duplicate current itemBlank
      Insert templateBlank
      Select this and previous itemShift+↑
      Select this and next itemShift+↓
      Select everythingCtrl+Shift+A
      UndoCtrl+Z
      RedoCtrl+Y
      Copy current item linkBlank
      Delete checked itemsBlank
      Show all references of itemBlank
      Sort by title (A-Z)Blank
      Sort by title (Z-A)Blank
      Sort by date (new to old)Blank
      Sort by date (old to new)Blank
      Expand to 1 level deepBlank
      Expand to 2 levels deepBlank
      Expand to 3 levels deepBlank
      Expand to 4 levels deepBlank
      Navigating & moving
      Move itemCtrl+Shift+M
      Swap with previousCtrl+↑
      Swap with nextCtrl+↓
      Zoom in previous itemCtrl+Shift+[
      Zoom in next itemCtrl+Shift+]
      Go to inbox locationBlank
      Go to parent itemBlank
      Go to previous sibling itemBlank
      Go to next sibling itemBlank
      Go to start of first itemCtrl+Home
      Go to end of last itemCtrl+End
      Go to start of textBlank
      Go to end of textBlank
      Search
      Search in docCtrl+F
      Search everywhereCtrl+↵
      Enter flat searchShift+↵
      Open file finderCtrl+O
      Open item finder (Pro)Ctrl+Shift+O
      Open search and replaceBlank
      Formatting
      Make boldCtrl+B
      Make italicsCtrl+I
      Format as codeCtrl+`
      Format as code blockBlank
      Add linkCtrl+K
      StrikethroughBlank
      HighlightBlank
      Format as LaTeXBlank
      Insert new line in itemCtrl+Shift+↵
      Toggle headingCtrl+Shift+H
      Make heading 1Blank
      Make heading 2Blank
      Make heading 3Blank
      Clear headingBlank
      Toggle color labelCtrl+Shift+L
      Apply color label 1Blank
      Apply color label 2Blank
      Apply color label 3Blank
      Apply color label 4Blank
      Apply color label 5Blank
      Apply color label 6Blank
      Clear color labelBlank
      Insert current dateBlank
      Insert current timeBlank

      Hi there, this is Erica from Dynalist. Let me help you get familiar with Dynalist!

      Start tutorial
      No results found.
        ↑↓ to navigate
        to jump
        esc to dismiss
        No results found.
          ↑↓ to navigate
          to jump
          esc to dismiss
          Add to inbox
          Add
          Cancel
          to capture
          esc to dismiss
          No results found.
            No results found.

              Aw, snap!

              This image failed to load.

              Red
              Orange
              Yellow
              Green
              Blue
              Purple
              Clear color
              Cancel
              Heading 1
              Heading 2
              Heading 3
              Clear heading
              Cancel

              Welcome to Dynalist

              Sign up

              Oh no, Dynalist crashed while loading!
              Try reloading Dynalist first. If that doesn't work, let us know with the details below so we can fix it!