ピロ彦の何か置き場

じゅうべえくえすと サブフレームリセット初心者向けRTAチャート

※2/5追記

www.nicovideo.jp

 

www.youtube.com

はじめに

このチャートはサブフレームリセットの初心者に対するチャートであり、サブフレームリセットの成功率に自身がない人でも1回成功すれば完走できるチャートとなっています。

また、大会や並走会などの一発通しタイムで競う場合は、前回の難しめのサブフレームリセットをするチャートよりも安定して完走できるため、習得しておいて損はないものとなっています。

必要なもの

じゅうべえくえすと

リセットボタンが押しやすい実機または互換機

結局のところじゅうべえウォークでタイムが決まるという事実から逃げない精神

ダメなもの

リセットボタンが押しにくい実機または互換機

レトロフリークのようなエミュレータ

エミュレータはリセットの処理タイミングがフレーム境界で一定なのでサブフレームリセットに対応していない。

実家でやること

柳生の里で無の小間物屋を作るサブフレームリセットに挑戦する場合は、母上から50両をもらっておく。

柳生の里でサブフレームリセットするよりも、安芸で実行する方がサブフレームリセットの猶予が7ミリ秒から9ミリ秒にあがるので、そちらのチャートを走りたい場合はここで50両を貰わずに尾張で薬草を多めに買うと良い。

前回の難しい方のサブフレームリセットは成功猶予2.4ミリ秒なので、7ミリ秒の方は幾分初心者向けである。

後述する新陰まんじゅうチャートであれば、まんじゅう1個を拾うだけで良いが、無の小間物屋でまんじゅうの売値4両を利用した場合は80両を持っていないと予言の玉と同等効果の青い本が買えないため、柳生の里でサブフレームリセットに挑戦する場合はまんじゅうは利用できない。

柳生の里の小間物屋

サブフレームリセットをする前にやくそうまんじゅうを購入しておく。

買い物が終わったら店外でセーブをしてサブフレームリセットの準備をする。

無の小間物屋を作るサブフレームリセット

サブフレームリセット初心者向けチャートでは、柳生の里で無の小間物屋を作ることに挑戦する。

最序盤でなのでここでタイムが溶けたらタイマーをリセットして走り直すことを想定している。

小間物屋に一旦入ってから店外に出てセーブする。

店の中でセーブと同時にリセットをする。

出入りを忘れると商品が消えないので注意。

成功パターン

部屋の色が変わり、店主に話しかけると商品が0種類でカーソル位置がバグっている。

極稀に色違いでも普通の商品が売ってる惜しいケースがある。

成功例

リセットが速いパターン

店外でセーブしたままの状態で再開されるので、そのまま店内に入ってすぐサブフレームリセットに挑戦して良い。

速いパターン

リセットが遅いパターン

店内でセーブが正常に完了した状態で再開されるので、一度外でセーブしてから再び店内でサブフレームリセットに挑戦する必要がある。

遅いパターン

無の小間物屋でメモリの海から買い物

無の小間物屋で「かいたい」を選択すると、商品が存在しないせいでカーソルがメモリの海を泳ぐ。

無の小間物屋では$6C80~$6D7Fの一時領域のアイテムを無料で購入することが可能。

上を押す度に$2Eの値が0x00→0xFF→0xFEと減少し、$6C80+$2Eの値の商品を購入できる。

下を押すと$2Eの値が0x00に戻ってしまうため、行き過ぎに注意。

上を押した回数によってカーソルの出現位置が決まっているため、下図のようにカーソルが動くことを覚えておくと159回を数えなくても大丈夫。

105回目から109回目が右から左にカーソルが小刻みに移動する特徴的な動きで、そこを過ぎたら左下から上に向かってカーソルが移動して右下にカーソルが出たら130回、その後しばらく連打してもカーソルが画面に出ず、久々に下に出たところが153回、左に出たところが157回、右上に出たところが159回と覚えておくと良い。

覚えるべきカーソル位置

りゅうのたまを購入

「かいたい」を押してから上を159回押してAを押すと「りゅうのたま」が買える。

「なんの ごようですか?」の「ん」の文字がそれに該当するので、別のメッセージが出た後に購入しようとすると別のアイテムになるので注意。

よげんのたまを購入

「うりたい」を押して先程買ったやくそうの売値15両を画面に表示したらキャンセルし、15両が画面に表示された状態で「かいたい」で上を159回押してAを押すと「よげんのたま」が買える。

ウシまつ

一撃で倒せるがたまに倒せない。

貰ったダメージは忘れないうちにまんじゅうで回復しておくと良い。

じゅうべえウォーク

エンカウント率に留意して数歩ごとにセーブする。

8/256 = 1/32 ≒ 3% 沼

13/256 ≒ 1/19.7 ≒ 5% 橋, 砂漠, 草原南端, 雪原南端

18/256 ≒ 1/14.2 ≒ 7% 草原, 雪原

26/256 ≒ 1/9.84 ≒ 10% 林, 木, 山, 樹氷, ヤシ

 

尾張まで

山林のエンカウント率は10%と高く、数歩毎にこまめにセーブするほうが初心者は安定する。

平原のエンカウント率も7%とそんなに低くないので、山林と比べてもそんなに多くは歩けないと思ったほうが良い。

一方で沼はエンカウント率が3%と低く、速度は半分になるがエンカウント回避のために長めに歩くことも一考の余地がある。

尾張

ポチからくすねた500両で武器と防具を買う。

安芸サブフレームリセットチャートであれば、ここで薬草を多めに買うと良い。

なまず大明神まで

エンカウント率は、森が10%で南端(崖)は5%と倍も違うので、最短ルートを通るよりも海沿いを歩くほうが安全に歩ける。

低エンカウント率地帯

おおなまず

レベル1でも装備を整えていれば5~6発で倒せる。

薬草で回復するラインはHP40以下にすると良い。

勝率は体感9割位はあるはずなのでノーセーブで突っ込む。

失敗してもじゅうべえウォーク1回分前の地点からの再開となる。

安芸まで

林と草原南端とではエンカウント率が倍も違うので、なるべくエンカウント率が低い草原南端を通ると良い。ただし角を曲がるのも時間がかかるので時間とリスクのトレードオフになる。

安芸

初心者向けチャートであればスルーして船守に龍の玉を渡すだけで良い。

安芸でサブフレームリセットをするチャートであれば、小間物屋に出入りしてから、NPCに隣接した状態でセーブをしてから店内でサブフレームリセットに挑戦すると良い。

その状態であれば、NPCの座標ワープが発生してもNPCに話しかけて買い物することが可能。

NPCの位置が邪魔であれば、無の小間物屋で購入した予言の玉を使うことでNPC位置をリセットすることが可能である。

呉別府

名前登録所までにNPCにブロックされる確率が非常に高い為、左下の角あたりで予言の玉を使うと戻ってきたときにNPCの位置がリセットされてスムーズに通行が可能となる。

オニクス城スキップ

オニクス城の上半分に乗った位置で予言の玉を使用してじゅうべえに戻る。

じゅうべえが名前登録所にマップチェンジしてから一歩も動かずに予言の玉を使うと、シロが次の一歩でオニクス城の下半分に乗ってもマップチェンジが発生しなくなるため、オニクス城のイベントがカットできる。

オニクス城の下半分のみマップ移動が発生

メモリの海調整

オニクス城の右下から左に移動した下図の位置で予言の玉を使って戻る。

必ず左移動した状態で予言の玉を使う必要がある。

一歩上の列で調整をした場合は上を押す回数が1回ずつ減るので、オニクス城の2マス右の🌳から左に一歩移動した位置で予言の玉を使っても良い。

前回よりも1歩下なことに注意

無の名前登録所

名前登録所では仲間がいない状態だと無の名前登録所となり、上を押した回数でメモリの海を参照し、バグキャラの名前を変更可能となる。

上の画像のように調整できていれば、上11回で「おおなまず」、上12回で「両いあ」というバグキャラが出現するので、「おおなまず」と一瞬表示されたキャラは1文字だけ名前を入れて名前を決定し、「両いあ」と表示されたキャラは名前の2文字目に「4」を入れて決定する。

これで江戸崩壊フラグとエンディングフラグがそれぞれ立つ。

実家に帰還

外に出て適当に戦闘に入り全滅して崩壊後の柳生の里に帰る。

実家に帰り、上に進むと自動的にエンディングに入るので後は文字送りをするだけとなる。

ちなみに、エンディングフラグが立つと「すけっと」の使用も出来なくなるため、安芸でカゴちゃんと契約しても使用することは出来ない。

計測区間は最初にリセットを押して離してから、「NEVER ENDING JUVEIQUEST」が表示されるまでとなっている。

おまけ

じゅうべえくえすと文字コード一覧表

メッセージ欄に展開された後の文字コード

EE=りょう、のように変換されるので表の中に収まっていない文字はアイテム変換に使用できない。

文字コード一覧

アイテムコード一覧

00   00 FF FF FF FF FF FF 80 みていぶぐ 22 14 02 00 9D 88 FF
01 しろのまきもの 0C 2D 1A 21 07 25 1A 81 みていぶぐ 22 14 02 00 9D 88 FF
02 10りょう 31 30 EE FF FF FF FF 82 みていぶぐ 22 14 02 00 9D 88 FF
03 いちごだいふく 02 12 8A 91 02 1D 08 83 バラモス DB 69 65 4D FF FF FF
04 50りょう 35 30 EE FF FF FF FF 84 ガメラ C6 64 69 7F FF FF FF
05 100りょう 31 30 30 EE FF FF FF 85 けんし 09 3F 0C FF FF FF FF
06 キバのもと2 47 DB 1A 25 15 32 FF 86 オーロラガード 45 5E 6D 69 C6 5E D5
07 どうのもと1 95 03 1A 25 15 31 FF 87 くさりのくびわ 08 0B 2A 1A 08 9C 2E
08 スノーガン 4D 5A 5E C6 7F FF FF 88 やまおにのキバ 26 21 05 17 1A 47 DB
09 500りょう 35 30 30 EE FF FF FF 89 アイスのつるぎ 41 42 4D 1A 13 2B 87
0A 1000りょう 31 30 30 30 EE FF FF 8A ピラミッドけん A7 69 62 78 D5 09 3F
0B ゴールドコイン CA 5E 6B D5 4A 42 7F 8B かんぽうのつえ 06 3F A5 03 1A 13 04
0C みてい12 22 14 02 00 31 32 FF 8C ハイテクけん 5B 42 54 48 09 3F FF
0D バグラのみ DB C8 69 1A 22 FF FF 8D アイアンスピア 41 42 41 7F 4D A7 41
0E アースのつえ 41 5E 4D 1A 13 04 FF 8E むてきのキバ 23 14 07 1A 47 DB FF
0F ガイナブースト C6 42 56 DD 5E 4D 55 8F こがたな 0A 86 11 16 FF FF FF
10 コスモトロン 4A 4D 65 55 6D 7F FF 90 しんかげ 0C 3F 06 89 FF FF FF
11 まむしだま 21 23 0C 91 21 FF FF 91 むらさめ 23 29 0B 24 FF FF FF
12 ひのはね 1C 1A 1B 19 FF FF FF 92 やまあらし 26 21 01 29 0C FF FF
13 ロバロバ 6D DB 6D DB FF FF FF 93 うんりゅう 03 3F 2A 80 03 FF FF
14 あぶらあげ 01 9D 29 01 89 FF FF 94 まさむね 21 0B 23 19 FF FF FF
15 じっぽのあぶら 8C 7D A5 1A 01 9D 29 95 レイザーソード 6C 42 CB 5E 4F 5E D5
16 やけどのくさ 26 09 95 1A 08 0B FF 96 しのびがたな 0C 1A 9C 86 11 16 FF
17 みてい23 22 14 02 00 32 33 FF 97 じんばおり 8C 3F 9B 05 2A FF FF
18 でんやくき 94 3F 26 08 07 FF FF 98 しのびのふく 0C 1A 9C 1A 1D 08 FF
19 やみのハンマー 26 22 1A 5B 7F 61 5E 99 くさりかたびら 08 0B 2A 06 11 9C 29
1A トランポりン 55 69 7F AA 2A 7F FF 9A しのびのよろい 0C 1A 9C 1A 28 2D 02
1B もやし 25 26 0C FF FF FF FF 9B さざなみのどう 0B 8B 16 22 1A 95 03
1C ビンビンエキス DC 7F DC 7F 44 47 4D 9C うずしおのどう 03 8D 0C 05 1A 95 03
1D すなふきランプ 0D 16 1D 07 69 7F A8 9D ばらのよろい 9B 29 1A 28 2D 02 FF
1E このはセット 0A 1A 1B 4E 78 55 FF 9E むらさきずきん 23 29 0B 07 8D 07 3F
1F メガトンコイン 64 C6 55 7F 4A 42 7F 9F のぎくのよろい 1A 87 08 1A 28 2D 02
20 ちず 12 8D FF FF FF FF FF A0 ヒバゴンスーツ 5C DB CA 7F 4D 5E 53
21 ちずいれ 12 8D 02 2C FF FF FF A1 いかづちのどう 02 06 93 12 1A 95 03
22 みてい34 22 14 02 00 33 34 FF A2 きぼりのけん 07 9F 2A 1A 09 3F FF
23 ノルンのなみだ 5A 6B 7F 1A 16 22 91 A3 やまぶしのつえ 26 21 9D 0C 1A 13 04
24 ひのさけ 1C 1A 0B 09 FF FF FF A4 ぞうげのナイフ 8F 03 89 1A 56 42 5D
25 バルドナイト DB 6B D5 56 42 55 FF A5 せんごくけん 0E 3F 8A 08 09 3F FF
26 ピカりムックり A7 46 2A 63 78 48 2A A6 しおさいのけん 0C 05 0B 02 1A 09 3F
27 バルドロンブイ DB 6B D5 6D 7F DD 42 A7 なぎなた 16 87 16 11 FF FF FF
28 かえんのもと 06 04 3F 1A 25 15 FF A8 キバのやり 47 DB 1A 26 2A FF FF
29 てつパイプ 14 13 A6 42 A8 FF FF A9 ぞうげのかたな 8F 03 89 1A 06 11 16
2A カルトン 45 46 6B 55 7F FF FF AA よなきのけん 28 16 07 1A 09 3F FF
2B じゅうのもと 8C 80 03 1A 25 15 FF AB セメントダイン 4E 64 7F 55 D1 42 7F
2C ?のもと 3B 1A 25 15 FF FF FF AC やまたのけん 26 21 11 1A 09 3F FF
2D みてい45 22 14 02 00 34 35 FF AD くだきのキバ 08 91 07 1A 47 DB FF
2E ドールのカギ D5 5E 6B 1A 46 C7 FF AE はやぶさのどう 1B 26 9D 0B 1A 95 03
2F まがつたま 21 86 13 11 21 FF FF AF はかいのキバ 1B 06 02 1A 47 DB FF
30 キバのもと3 47 DB 1A 25 15 33 FF B0 むらくものけん 23 29 08 25 1A 09 3F
31 どうのもと2 95 03 1A 25 15 32 FF B1 やまじしのやり 26 21 8C 0C 1A 26 2A
32 どうのもと3 95 03 1A 25 15 33 FF B2 しらくものけん 0C 29 08 25 1A 09 3F
33 すけべなほん 0D 09 9E 16 1F 3F FF B3 えんげつとう 04 3F 89 13 15 03 FF
34 あおいほん 01 05 02 1F 3F FF FF B4 ふつう 1D 13 03 FF FF FF FF
35 よげんのたま 28 89 3F 1A 11 21 FF B5 にんじゃ 17 3F 8C 7E FF FF FF
36 なみだのしずく 16 22 91 1A 0C 8D 08 B6 とげのかたあて 15 89 1A 06 11 01 14
37 みてい55 22 14 02 00 35 35 FF B7 せいなるどう 0E 02 16 2B 95 03 FF
38 きんのこうら 07 3F 1A 0A 03 29 FF B8 ママりック 61 61 2A 78 48 FF FF
39 テレポストーン 54 6C AA 4D 55 5E 7F B9 むさし 23 0B 0C FF FF FF FF
3A ミサイルポッド 62 4B 42 6B AA 78 D5 BA いだてん 02 91 14 3F FF FF FF
3B パームロケット A6 5E 63 6D 49 78 55 BB ジンギスマン CC 7F C7 4D 61 7F FF
3C キバのもと1 47 DB 1A 25 15 31 FF BC マりファ 61 2A 5D 7C FF FF FF
3D びわのもと 08 9C 2E 1A 25 15 FF BD けんこう 09 3F 0A 03 FF FF FF
3E キバのもと4 47 DB 1A 25 15 34 FF BE おにのつめ 05 17 1A 13 24 FF FF
3F りゅうのたま 2A 80 03 1A 11 21 FF BF オニのきば 45 57 1A 07 9B FF FF
40 もどりんのたま 25 95 2A 3F 1A 11 21 C0 こだいのつらら 0A 91 02 1A 13 29 29
41 みてい65 22 14 02 00 36 35 FF C1 よさくのまるた 28 0B 08 1A 21 2B 11
42 やくそう 26 08 0F 03 FF FF FF C2 ブッキラボウ DD 78 47 69 DF 43 FF
43 ドクダミ D5 48 D1 62 7F FF FF C3 こんぼう 0A 3F 9F 03 FF FF FF
44 きくそう 07 08 0F 03 FF FF FF C4 おにのくびわ 05 17 1A 08 9C 2E FF
45 やけどのくすり 26 09 95 1A 08 0D 2A C5 かわのくびわ 06 2E 1A 08 9C 2E FF
46 ぴっぷ A2 7D A3 FF FF FF FF C6 トラのパンツ 55 69 1A A6 7F 53 FF
47 タスカル 51 4D 46 6B FF FF FF C7 やいばのつばさ 26 02 9B 1A 13 9B 0B
48 タスカルオール 51 4D 46 6B 45 5E 6B C8 ゆうきのパンツ 27 03 07 1A A6 7F 53
49 ちかろうのカギ 12 06 2D 03 1A 46 C7 C9 へッドギアー 1E 78 D5 C7 41 5E FF
4A ろうやのカギ 2D 03 26 1A 46 C7 FF CA ほのおのつばさ 1F 1A 05 1A 13 9B 0B
4B うつぼのカギ 03 13 9F 1A 46 C7 FF CB にょいぼう 17 81 02 9F 03 FF FF
4C サザエのカギ 4B CB 44 1A 46 C7 FF CC あかふんどし 01 06 1D 3F 95 0C FF
4D コウモりのカギ 4A 43 65 2A 1A 46 C7 CD きんのふんどし 07 3F 1A 1D 3F 95 0C
4E みてい78 22 14 02 00 37 38 FF CE オッカナボウ 45 78 46 56 DF 43 FF
4F シガレット 4C C6 6C 78 55 FF FF CF ストーンへッド 4D 55 5E 7F 1E 78 D5
50 ファラオのカギ 5D 7C 69 45 1A 46 C7 D0 らいらいけん 29 02 29 02 09 3F FF
51 つめたいカギ 13 24 11 02 46 C7 FF D1 りょうざんけん 2A 81 03 8B 3F 09 3F
52 まんじゅう 21 3F 8C 80 03 FF FF D2 メタルスピア 64 51 6B 4D A7 41 FF
53 チョコレート 52 7B 4A 6C 5E 55 FF D3 おうごんのけん 05 03 8A 3F 1A 09 3F
54 みてい84 22 14 02 00 38 34 FF D4 ひょうがのけん 1C 81 03 86 1A 09 3F
55 やばいさけ 26 9B 02 0B 09 FF FF D5 りゅうのやり 2A 80 03 1A 26 2A FF
56 にほんしゅ 17 1F 3F 0C 80 FF FF D6 しらぬい 0C 29 18 02 FF FF FF
57 うめしゅ 03 24 0C 80 FF FF FF D7 オーラのつるぎ 45 5E 69 1A 13 2B 87
58 マヒンビール 61 5C 7F DC 5E 6B FF D8 こうてつのキバ 0A 03 14 13 1A 47 DB
59 さかだる 0B 06 91 2B FF FF FF D9 えどまえのけん 04 95 21 04 1A 09 3F
5A のろいのカギ 1A 2D 02 1A 46 C7 FF DA セラミックぼう 4E 69 62 78 48 9F 03
5B くさぶえ 08 0B 9D 04 FF FF FF DB アーススピア 41 5E 4D 4D A7 41 FF
5C コウモりぶえ 4A 43 65 2A 9D 04 FF DC チタンのはしら 52 51 7F 1A 1B 0C 29
5D ごへいもち 8A 1E 02 25 12 FF FF DD チャイナドレス 52 79 42 56 D5 6C 4D
5E アイスミン 41 42 4D 62 7F FF FF DE カーボンスーツ 46 5E DF 7F 4D 5E 53
5F ガトりングほう C6 55 2A 7F C8 1F 03 DF りゅうのころも 2A 80 03 1A 0A 2D 25
60 みてい96 22 14 02 00 39 36 FF E0 あかずきん 01 06 8D 07 3F FF FF
61 みてい97 22 14 02 00 39 37 FF E1 バトルアーマー DB 55 6B 41 5E 61 5E
62 オニのなみだ 45 57 1A 16 22 91 FF E2 ミンクのスーツ 62 7F 48 1A 4D 5E 53
63 ゆいのうセット 27 02 1A 03 4E 78 55 E3 アルファオイル 41 6B 5D 7C 45 42 6B
64 ぶっとびだま 9D 7D 15 9C 91 21 FF E4 メタルアーマー 64 51 6B 41 5E 61 5E
65 きんのたま 07 3F 1A 11 21 FF FF E5 ブランドスーツ DD 69 7F D5 4D 5E 53
66 マシンガン 61 4C 7F C6 7F FF FF E6 ゴールドクロス CA 5E 6B D5 48 6D 4D
67 スノーマシーン 4D 5A 5E 61 4C 5E 7F E7 おとひめのふく 05 15 1C 24 1A 1D 08
68 かえんじって 06 04 3F 8C 7D 14 FF E8 ラストアーマー 69 4D 55 41 5E 61 5E
69 ファイアボール 5D 7C 42 41 DF 5E 6B E9 プラズマオイル A8 69 CD 61 45 42 6B
6A フアイアガン 5D 41 42 41 C6 7F FF EA ドラゴンスーツ D5 69 CA 7F 4D 5E 53
6B おおづつ 05 05 93 13 FF FF FF EB ハイパースーツ 5B 42 A6 5E 4D 5E 53
6C バズーカ DB CD 5E 46 FF FF FF EC てつのくびわ 14 13 1A 08 9C 2E FF
6D アースハンマー 41 5E 4D 5B 7F 61 5E ED ゼウス CE 43 4D FF FF FF FF
6E アクアガン 41 48 41 C6 7F FF FF EE アイアン 41 42 41 7F FF FF FF
6F スタンガン 4D 51 7F C6 7F FF FF EF タイソン 51 42 4F 7F FF FF FF
70 ひらいしん 1C 29 02 0C 3F FF FF F0 やくよけ 26 08 28 09 FF FF FF
71 まきびし 21 07 9C 0C FF FF FF F1 せんにん 0E 3F 17 3F FF FF FF
72 みてい 22 14 02 00 FF FF FF F2 ふろうふし 1D 2D 03 1D 0C FF FF
73 ゴールドダイヤ CA 5E 6B D5 D1 42 66 F3 みろくぼさつ 22 2D 08 9F 0B 13 FF
74 クレイジーガス 48 6C 42 CC 5E C6 4D F4 ガーデアン C6 5E D4 41 7F FF FF
75 メタルのもと 64 51 6B 1A 25 15 FF F5 コスモ 4A 4D 65 FF FF FF FF
76 フルメタルボム 5D 6B 64 51 6B DF 63 F6 まぼろし 21 9F 2D 0C FF FF FF
77 けむりだま 09 23 2A 91 21 FF FF F7 アイスピック 41 42 4D A7 78 48 FF
78 みてい 22 14 02 00 FF FF FF F8 まじないのつえ 21 8C 16 02 1A 13 04
79 でんげきダイコ 94 3F 89 07 D1 42 4A F9 アイスカッター 41 42 4D 46 78 51 5E
7A とりもち 15 2A 25 12 FF FF FF FA ひょうがのつえ 1C 81 03 86 1A 13 04
7B わらいだけ 2E 29 02 91 09 FF FF FB タキシード 51 47 4C 5E D5 FF FF
7C けむりだけ 09 23 2A 91 09 FF FF FC オーロラスーツ 45 5E 6D 69 4D 5E 53
7D オニのたいこ 45 57 1A 11 02 0A FF FD まじないのふく 21 8C 16 02 1A 1D 08
7E アイスボール 41 42 4D DF 5E 6B FF FE ひょうがのふく 1C 81 03 86 1A 1D 08
7F アイスハープ 41 42 4D 5B 5E A8 FF FF つかわないこと 13 06 2E 16 02 0A 15

 

 

 

じゅうべえくえすと サブフレームリセットRTAチャート


www.youtube.com

はじめに

いわゆるサブフレームリセットとは

セーブ中に1フレーム未満の精度でリセットボタンを押すことで、狙ったタイミングでセーブデータの上書きを途中で止めることで、通常ではありえないセーブデータなどを捏造する行為を指す。

じゅうべえくえすとにはチェックサムなどのような誤り検出訂正がないので、ドラクエのようにデータを消されることはない。やったね!

そんなものはハードウェアチートと一緒と言われることもあるが、大技林にもウル技として紹介されている。

必要なもの

じゅうべえくえすと

リセットボタンが押しやすい実機または互換機

ノリと勢い

くじけぬ心

ダメなもの

リセットボタンが押しにくい実機または互換機

レトロフリークのようなエミュレータ

エミュレータはリセットの処理タイミングがフレーム境界で一定なのでサブフレームリセットに対応していない。

最初のサブフレームリセット(省略可能)

実家屋内の出口前でセーブ

実家屋外の入口で上書きセーブと同時にリセット

成功猶予は2.4ミリ秒ほど(1フレームは約16.6ミリ秒)

※1ミリ秒=1/1000秒、1秒=1000ミリ秒=1,000,000マイクロ秒

成功パターン

色違いの柳生の里の南側に出る。

ちょっと遅いパターン

色だけ変わったセーブ位置で再開。

屋内セーブからやり直す。

リセットが完全に遅いケース

セーブが完了し、セーブした位置で再開。

屋内セーブからやり直す。

リセットが速いケース

屋内で再開

屋外に出てもう一度サブフレームリセット。

備考

後述のメモリの海での買い物を柳生の里でしても問題ないが、成功猶予が安芸の9ミリ秒よりも2ミリ秒ほど下がる。

 

じゅうべえウォーク

エンカウント率に留意して数歩ごとにセーブする。

8/256 = 1/32 ≒ 3% 沼

13/256 ≒ 1/19.7 ≒ 5% 橋, 砂漠, 草原南端, 雪原南端

18/256 ≒ 1/14.2 ≒ 7% 草原, 雪原

26/256 ≒ 1/9.84 ≒ 10% 林, 木, 山, 樹氷, ヤシ

 

尾張

サブフレームリセットを省略した場合はここで買い物をする。

ポチから500両を奪って装備と薬草を買う。

アルバス兄貴が発見した"メガトンじゅうべえ"を使わなくても500両あれば足りるはず。

なまず大明神

新陰があれば2ターンで倒せる。

レベル1でも装備と薬草を買い込めば勝てるので歩き狩りの必要性は低いかも?

安芸まで

林と草原南端とではエンカウント率が倍も違うので、なるべくエンカウント率が低い草原南端を通ると良い。ただし角を曲がるのも時間がかかるので時間とリスクのトレードオフになる。



安芸の小間物屋は入口すぐ近くにある。

 

小間物屋サブフレームリセット

小間物屋に一旦入ってから外に出た位置でセーブする。

店の中でセーブと同時にリセットをする。

出入りを忘れると商品が消えないので注意。

小間物屋の色が変わっていれば成功だが、安芸以外の場合は色が変わっていても画面外に飛ばされる場合がある。

安芸ではNPCが店の出口を塞ぐ形で成功するケースがあるが、予言の玉買ったあとに使うとNPC位置が戻るので退くのを待つ必要はない。

メモリの海での買い物

無の小間物屋では$6C80~$6D7Fの一時領域のアイテムを無料で購入することが可能。

上を押す度に$2Eの値が0x00→0xFF→0xFEと減少し、$6C80+$2Eの値の商品

下を押すと0x00に戻ってしまうので行き過ぎないように注意。

上を押す回数をリズムで計る方法は動画を参照。

片手で上キー、もう片方の手でスマホアプリなどでカウントする方法が推奨。

りゅうのたまを購入

「かいたい」を押してから上を159回押してAを押すと「りゅうのたま」が買える。

「なんの ごようですか?」の「ん」の文字がそれに該当するので、別のメッセージが出た後に購入しようとすると別のアイテムになるので注意。

159回目はカーソルが右上に来るので近い回数になったらカーソルを見ながら押すと良い。

よげんのたまを購入

上を40回押した位置で「50両」というアイテムが買える。

40回押すとカーソルがつよさの左に来るのでそれを見てAを押すと良い。

メッセージ欄に「50りょう」と表示させた状態で更に上を202回押した位置で「よげんのたま」が買える。

202回目はカーソルが表示されないが、190回目がカーソル左上一段下で残り12回、191回目がカーソル左上で残り11回、192回目がカーソル上で残り10回、193回目がカーソル下で残り9回、195回目がカーソル左上一段下で残り残り7回、196回目がカーソル左上で残り残り6回、197回目がカーソル左下で残り残り5回、と覚えておくと目印になる。

予言の玉は安芸から右上にあるカブトガニ大明神で入手可能なので、無の買い物が難しければ歩いて取りに行って「もどりんのたま」で帰るのもアリ。

 

呉別府

安芸の渡守に向かって「りゅうのたま」を使えば呉別府に船を出してくれる。

名前登録所

左下の建物が名前登録所なのでそこに入る。

名前登録所では仲間がいない状態だと無の名前登録所となり、上を押した回数でメモリの海を参照し、バグキャラの名前を変更可能となる。

名前登録所で「よげんのたま」を使ってオニガランド編を始める。

メモリの海の調整

オニクス城に入ると強制イベントがあるので終わらせて外に出たら、右右左と移動、もしくは右左と移動して城に入った位置で「よげんのたま」を再度使う。

オニクス城に入った後は、周辺の地面のエンカウント率が15%と極めて高いのでセーブしておくことが推奨される。

※画像より1マス下のラインを使う場合は、次の説明で上を押す回数をそれぞれ1回増やす必要がある。

江戸崩壊フラグ取得

メモリの海の調整が出来ていれば、カーソルを上に10回押した位置のキャラ名を「おおなまず」から1文字の名前に変更すると崩壊フラグが立つ。

エンディングフラグ取得

メモリの海の調整が出来ていれば、カーソルを上に11回押した位置のキャラ名を「両いあ」から「44あ」のように2文字目が4になるように変更するか、1文字だけにするとエンディングフラグが立ち、「とくぎ」「すけっと」の表示が消え、「たびにっき」も使用不可能となる。

 

実家に帰還

外に出て適当に戦闘に入り全滅して崩壊後の柳生の里に帰る。

実家に帰り、上に進むと自動的にエンディングに入るので後は文字送りをするだけとなる。

ちなみに、エンディングフラグが立つと「すけっと」の使用も出来なくなるため、安芸でカゴちゃんと契約しても使用することは出来ない。

計測区間は最初にリセットを押して離してから、「NEVER ENDING JUVEIQUEST」が表示されるまでとなっている。

ドラゴンクエスト4なんでもありRTA サブフレームリセット任意コード実行チャート

RTAの実況動画はこちら


www.youtube.com

生放送アーカイブはこちら


www.youtube.com

サブフレームリセット

  • CRCを調整するために、名前「き」、性別「男」、表示速度「2」を選択。
  • 教会でセーブするまでに、足元を調べたりするとCRCが変化するので注意。
  • 城を出てまっさきにセーブ、音楽が切り替わってからリセット。
  • 冒険の書コピーを押して2F後にリセット、ピスって感じの音で成功判定。
  • 失敗したらデータ1を削除して2から1へコピー。
  • 成功していたらデータ1から開始。*1

第一章

  • いつもと違うBGMで第一章が開始したら成功なので教会でセーブしてBGMが終わるのを待ってからリセット。*2
  • 冒険の書再開後、外でエンカウントしたらコマンド選択画面で、セレクト・左・Aと押して表示速度を正常化する。*3
  • 気球で南西にあるエンドールへ行き、キメラの翼を二つ買う。安定突破したい場合は銅の剣を売って薬草を買うと良い。
  • カジノにて闘技場でモンスターを選んだあと掛け枚数を選択せずにキャンセルすることでコインを999999枚にする、次に39枚賭けて試合の途中にBを押して「はい」で離脱。
  • はぐれメタルの盾・ラーの鏡・いのりの指輪とコインを交換して946960枚にする。*4
  • カジノは天井に頭をぶつけないのでキメラの翼でバトランドへ。
  • 気球でバトランドから東にあるメダル王の城へ行き、奇跡の剣とはぐれメタルヘルムを貰って装備する。はぐれメタルの盾は装備できない。
  • キメラの翼でバトランドへ戻り、気球で湖の塔へ行く。
  • レベルが3まで上がれば大目玉が確殺になるが、Lv2以下では低乱数を引くと大目玉が発狂して敗北する可能性がある。また、一撃で倒すと奇跡の剣の追加効果が発動しないため残りHPには注意が必要。はぐれメタルの盾を使えばギラが怖くなくなるが、確実に後攻するのでピサロのてさきを先に殴るのならば盾は使用しなくても良い。
  • 気球に乗ってイムルで子供を返す。バトランドへは気球に乗らず、渡し船で歩いて帰るほうが速い。

第二章

  • 壁を蹴破るのは遅いため、普通に下に行くだけで良い。

第三章

  • 最速で毒の沼地で最速死亡すれば速いが、トーマスの前に立つとイベントが発生するので注意が必要。*5
  • 復帰後、外で気球が待っているので南南東にある洞窟に東側から入る。

第四章

  • 朝になって右側から外に出た場合、NPCが避けてくれても最速で1.5歩分程度しか速くならないので、動画のように外は出ずに街の中を歩いて教会へ行ってセーブをしたほうが安全。
  • セーブ後リセットして再開したら気球に乗って北のハバリアを出入りしたら東の海を渡りミントスへ。
  • ミントスに入ったらすぐ下の道具屋でキメラの翼を2個購入。
  • 宿屋に入って歩数調整のために一泊する。
  • 宿屋の二階でブライ・クリフトの順に話しかける。
  • ▶どうぐ▶ミネア ▶きぬのローブ ▶わたす▶ブライ
  • ▶どうぐ▶クリフト▶たびびとのふく▶すてる
  • 屋上に出てキメラの翼でモンバーバラへ飛んで、南のスタンシアラから西へ行ってメダル王の城へ。
  • ▶てんばつのつえ▶クリフトx2
  • きせきのつるぎ▶ミネア
  • 気球で西のガーデンブルグへ行ってさいごのカギを貰う。
  • 歩いて外に出てブランカへ。
  • 武器屋▶ 売る ▶ミネア    ▶きせきのつるぎ▶はい
  • 武器屋▶ 買う ▶どうのつるぎ ▶ブライ▶はい
  • 武器屋▶ 買う ▶いばらのむち ▶クリフト
  • どうぐ▶クリフト▶てんばつのつえ▶わたす▶クリフト
  • 防具屋▶ 買う ▶かわのぼうし ▶クリフト
  • 宝物庫の左上の宝箱から、ふしぎなきのみを入手して徒歩で外に出る。
  • 気球でエンドールへ行って一泊して朝にする。*6
  • 防具屋▶ 買う ▶てつのよろい ▶クリフト
  • どうぐ▶クリフト▶かわのぼうし ▶わたす▶クリフト
  • どうぐ▶クリフト▶こんぼう   ▶わたす▶クリフト
  • 武器屋▶ 買う ▶どくがのナイフ▶ミネアx2
  • 武器屋▶ 買う ▶どくがのナイフ▶マーニャ
  • 武器屋▶ 買う ▶どくがのナイフ▶ブライ
  • 武器屋▶ 買う ▶モーニングスタ▶マーニャ▶はい
  • どうぐ▶ブライ ▶ひのきのぼう ▶わたす▶マーニャ
  • エンドール城左扉から左下の隠し階段へ行き、いのちのきのみを入手。
  • キメラの翼でハバリアへ。
  • 街の右にある地下牢で左右の壺からちいさなメダルを2枚入手。
  • どうぐ▶ミネア ▶ちいさなメダル▶わたす▶ブライ
  • どうぐ▶ミネア ▶さいごのカギ ▶わたす▶ブライ
  • どうぐ▶ブライ ▶どくがのナイフ▶わたす▶ブライ
  • どうぐ▶ブライ ▶ぬののふく  ▶わたす▶ブライ
  • どうぐ▶ミネア ▶いのちのきのみ▶わたす▶ブライ
  • どうぐ▶ミネア ▶どうのつるぎ ▶わたす▶ブライ
  • どうぐ▶ミネア ▶ふしぎなきのみ▶わたす▶ミネア
  • 防具屋▶ 買う ▶かわのドレス ▶ミネア
  • 防具屋▶ 買う ▶かわのドレス ▶マーニャ
  • 防具屋▶ 買う ▶かわのドレス ▶クリフト▶はい
  • どうぐ▶クリフト▶てんばつのつえ▶わたす▶クリフト
  • どうぐ▶ミネア ▶どくがのナイフ▶わたす▶ミネア
  • どうぐ▶マーニャ▶どくがのナイフ▶わたす▶マーニャ
  • そうび▶ミネア ▶どくがのナイフ(上)▶BBB
  • そうび▶マーニャひのきのぼう ▶BBB
  • そうび▶ブライ ▶どくがのナイフ▶BBB
  • そうび▶クリフト▶こんぼう▶てつのよろい▶なし▶かわのぼうし
  • 下リストのようになっていればOK*7
  • 船室の地下へ行き、上の部屋の女性に話しかけた後に船長に話しかけて出航。

ミネアのアイテム

  1. Eどくがのナイフ
  2.  ちいさなメダル
  3.  ふしぎなきのみ
  4.  かわのドレス
  5.  どくがのナイフ

マーニャのアイテム

  1. Eおどりこのふく
  2.  モーニングスター
  3. ひのきのぼう
  4.  かわのドレス
  5.  どくがのナイフ

ブライのアイテム

  1.  きぬのローブ
  2.  どうのつるぎ
  3.  ちいさなメダル
  4.  さいごのカギ
  5. Eどくがのナイフ
  6. Eぬののふく
  7.  いのちのきのみ
  8.  どうのつるぎ

クリフトのアイテム

  1.  いばらのむち
  2.  てんばつのつえ
  3. Eてつのよろい
  4. Eかわのぼうし
  5. Eこんぼう
  6.  かわのドレス
  7.  てんばつのつえ

第五章

  • 村の右上の階段を登り降りすると村が滅ぶので毒死する。
  • ブランカの教会にワープするのでセーブしてリセット
  • 冒険の書2と3がアイテム調整済みのデータになるようにコピーして冒険の書1から再開。
  • 歩いて外に出てホフマンが離脱したら0人PTになる。*8
  • つよさ▶じょうたい▶HP.MPにカーソルを合わせる。
  • 2Pの上下左Bを押した状態に何らかの方法で固定する。
  • 1Pの左を先に押したまま、左下セレクトスタートを押しながらAを1フレームだけ押す。
  • 画面がフリーズしたら電源をONOFFする。*9
  • 入力が完璧なら10%程度の確率で任意コードが実行される。
  • 任意コードが実行されると50%の確率でCRC不一致によりデータが削除される。
  • 成功すると天空城から再開するので歩いて外に出るとエンディングへ

任意コードの内容

コントローラ入力コード

$0014:6C 72 D0  JMP ($D072) = $686F

冒険の書2の鋼の剣鎧納入数フラグ

$686F:4B 05     ALR #$05

~~~~~~~~~~~~~~~~~~~

$688D:10 73     BPL $6902

冒険の書3のクリフトのアイテム

$6902:09 17     ORA #$17                   A:00 X:00 Y:3F S:BC P:nvUBdIZc
$6904:A8          TAY                        A:17 X:00 Y:3F S:BC P:nvUBdIzc
$6905:C6 81     DEC $0081 = #$00           A:17 X:00 Y:17 S:BC P:nvUBdIzc
$6907:30 17     BMI $6920                  A:17 X:00 Y:17 S:BC P:NvUBdIzc

冒険の書3のミネアのアイテム
$6920:99 69 65  STA $6569,Y @ $6580 = #$05 A:17 X:00 Y:17 S:BC P:NvUBdIzc
$6923:30 19       BMI $693E                  A:17 X:00 Y:17 S:BC P:NvUBdIzc

冒険の書3のマーニャのアイテム
$693E:AC 0A 80  LDY $800A = #$ED           A:17 X:00 Y:17 S:BC P:NvUBdIzc
$6941:30 19        BMI $695C                  A:17 X:00 Y:ED S:BC P:NvUBdIzc

冒険の書3のブライのアイテム
$695C:2B 02      ANC #$02              A:17 X:00 Y:ED S:BC P:NvUBdIzc
$695E:69 73     ADC #$73                   A:02 X:00 Y:ED S:BC P:nvUBdIzc
$6960:99 A4 64  STA $64A4,Y @ $6591 = #$4B A:75 X:00 Y:ED S:BC P:nvUBdIzc
$6963:02          HLT                        A:75 X:00 Y:ED S:BC P:nvUBdIzc

0人PT状態でHP.MPを表示すると、プログラムが暴走して$0000が実行される。

この時、プログラムカウンタがコントローラ入力が反映されるアドレスである$0014に到達するとコントローラによる任意のコードが可能となる。

コントローラ入力は、右=0x80、左=0x40、下=0x20、上=0x10、スタート=0x08、セレクト=0x04、B=0x02、A=0x01、の合算になり、$0014が1P、$0015が2P、$0016は0x10、0x40、0x70、0xA0、0xD0の5つのうちのいずれかになる。

1Pは左下セレクトスタートと押すことで0x6Cに、2Pは上下左Bを押すことで0x72にします。任意コード実行時に$0016が0xD0であれば、6C 72 D0 というコードが実行され、JMP($D072)という$D072の内容を参照した間接ジャンプになります。$D072には0x686Fという値が入ってるので$686Fへ飛ぶことになる。

$686Fは冒険の書2の鋼の剣と鋼の鎧の納品数フラグで、これはサブフレームリセットの影響で0x4Bになっている。ここからカジノコインまではほぼ0x4Bで埋め尽くされているのでフリーズすることなく通過可能。

カジノコインは24bitの値を持つので、946960枚=0x0E7310に調整することで 10 73 というコードを実行出来る。10はBPLという分岐命令で、直前の計算結果が8ビットの符号付きの整数でのプラスであった場合に分岐ので、10 73 はクリフトのアイテム欄へのジャンプとなる。

クリフトのアイテムコード

  1. ORA #$17でAレジスタを0x17にする。
  2. TAY命令でYレジスタをY=Aの0x17に。
  3. DEC $81で$0081=#$00から1を引いて0xFFにし、ネガティブフラグを立てる。
  4. BMI $17でネガティブフラグが立ってるので、ミネアのアイテム欄へ相対ジャンプする。

理力の杖(0x10)があればネガティブフラグを建てずにジャンプ可能だが、かわのドレス(0x30)で代用している。かわのドレス(0x30)+キラーピアス(0x16)を使えばアイテム欄を8個全て使えるが、1バイトを犠牲にして手に入りやすい天罰の杖(0x17)を使っている。

ミネアのアイテムコード

  1. STA $6569+Y=$6580で$6580にAレジスタの0x17を書き込む。
  2. BMI $19でネガティブフラグが立ってるので、ミネアのアイテム欄へジャンプする。

$6580は冒険の書1の復帰場所で、0x17で天空城からの再開となる。ネガティブフラグを維持したいのでコードを詰め込まずに5バイトだけ使用している。

マーニャのアイテムコード

  1. LDY $800A=#$EDでYレジスタに$800Aの中身である0xEDを書き込む。
  2. BMI $19でネガティブフラグが立ってるので、ブライのアイテム欄へジャンプする。

$800AはROMアドレスなのでバンクが切り替わると全く別な値になる。リセットを押すともう一度コードが実行されるがその時は別のバンクに切り替わってしまっているので実行してはいけない。

ブライのアイテムコード

  1. ANC #$02でAレジスタの0x17と0x02のビット論理積を取る。
  2. ADC #$73でAレジスタを0x02+0x073=0x75にする。
  3. STA $64A4+Y=$6591にAレジスタの0x75を書き込む。
  4. HLT命令でCPUを止める。

ANC命令はAND命令と似ている未定義命令で、元々持っているきぬのローブを活用するために使用している。ADC命令は入手しやすいちいさなメダル(69)とさいごのカギ(73)の再利用で0x75という値を作り出している。$6591:20でエンディングフラグが立つので、先程の書き込みと合わせてCRC値が同じになる0x75という値を入れている。コードが2度実行されるのを避けるため、HLT命令でCPUを止めているがリセットを押すと再び動き出すのでリセットをしないように気をつける。HLT命令が無い場合は一度に何度もコードが実行される事もある。

CRCは16biあるが、チェック時には8bitしか見てないので1バイト分だけ揃えれば良いが、直前の繰り上がりフラグが影響するのでCRC値が一致する確率は1/2となる。

*1:※FCEUX系統のエミュレータはリセットがVBlank直前に処理されるため、VBlank割り込みタイミングを狙ったリセットが不可能だが、Bizhawk(NEShawk)では逆に実機よりも簡単に成功する。レトロフリークにはFCEU系列のエミュレータが搭載されているので、成功しないかもしれない。

*2:セーブせずに外に出て全滅ついでに表示速度を正常化するのも要検討

*3:表示速度の初期値が4なので左から3つ目の3を選択する

*4:はぐれメタルのたてとラーのかがみは捨てる事が出来ないので薬草を買いすぎると持てなくなるので注意。

*5:教会へのルートが子供に塞がれてる時以外は教会でセーブしてリセット再開する方が良いが、毒の沼地のほうが見栄えが良いので採用している。

*6:ブランカで昼夜調整の為に一泊する方が移動歩数は少ないが、外での歩数猶予がほぼ無いためエンドールで泊まるほうが安全

*7:アイテム配置に不安がある場合はここでセーブして冒険の書を3に複製しておくと良い

*8:キメラの翼で外に出ると$16が00になって絶対に成功しなくなるので必ず徒歩で外に出る

*9:バンクが狂っているのでリセットボタンを押しても正しくリセットされない上に任意コードが何度も実行されてデータが消える恐れがある。リセット信号が発生しないタイプの互換機であればリセットが効くかもしれない。

ドラゴンクエスト3 ファミリーベーシック任意コード新チャートについて

アーカイブはこちらから

www.twitch.tv

youtu.be

ファミコンは電源を入れたままカセットを抜くと、
通常はROMが読み込めなくなってプログラムが動作しなくなる。
しかし、『メモリ上の』プログラムを無限ループで実行している間は
ファミコンのカセットを抜いてもCPUは動作し続けているので
別のカセットに差し替えてもコードが実行され続けることになる。

ファミリーベーシックにはファミコンバイナリーコード(ネイティブコード)を
実行できる『CALL命令』があるため、ファミべ上で任意コード実行することは容易である。
$0300-$03FFには1行分のプログラムバッファが格納されるので
CALL773'~というコードを入れてReturnキーかF8を押すと、メモリアドレス$0305(773)
つまり「'」以降の文字がバイナリコードとして実行される。

しかし、メモリ上に無限ループを作って実行しても
1/60秒毎の垂直同期タイミングであるVBlank時にNMI割り込みが発生して
描画・音声を更新するためのROM上のプログラムなどを実行しようとしてしまうので、
NMI割り込みを止める命令をループ前に書く必要がある。
※I/Oレジスタ$2000(のミラーアドレス$2020)のBit7に0をセットすることでNMI割込がオフになる。

無限ループ中には冒険中のゾーマ討伐フラグ($60C5)、復帰場所フラグ($60C3)、
NMI割り込みオフ($2020)、カートリッジRAMオフ($AEAE)の4箇所に書き込むコードを書いている。
カートリッジRAMオフには$A000-$BFFFのどこかに5回書き込む必要があるので
無限ループ中のどのタイミングで挿しても問題ないが
斜め差しをするとROMSEL(A15)が中央寄りなのでアドレスバスが小さくズレたままカートリッジRAMがオフになり、
目当てのアドレスへの書き込みがされず失敗することがあるので
左側から挿すか、まっすぐ勢いよく挿す必要がある。
https://wiki.nesdev.org/w/index.php?title=Cartridge_connector

 

冒険の書を作成した後、朝になるタイミングで冒険中フラグである$6A58がONになるので
そこでカセットを入れ替え、ファミリーベーシックでコードを実行して再度差し替え
DQ3のカートリッジRAMがオフになると電源バグの準備状態になるので、
リセットを押すか電源ON/OFFをしてAボタン等を押すと
王様セーブまでの過程を省略しバグアイテムを使うこともなく
エンディングを建てた状態でラダトームで全滅復帰することが可能になった。


        A:02 X:03 Y:00 S:FC P:nvUbdizc  レジスタの初期値、Cフラグはクリア
$0300   CALL773                         $0305(773)をバイナリコードとして実行。
$0304   '                               引用符、これがないと一部の文字列が無視される。
$0305   コザ    69 9C     ADC #$9C      Aレジスタに0x9Cを足す、A:02だったので0x9Eになる。
$0307   ゾエ    A0 63     LDY #$63      Yレジスタに0x63を入れる。
$0309   グウア  99 62 60  STA $6062,Y   $6062+Y = $60C5のゾーマ討伐フラグにA:9Eを書き込む、0x80ビットでゾーマ討伐状態。
$030C   グアア  99 60 60  STA $6060,Y   $6060+Y = $60C3の城復帰場所フラグにA:9Eを書き込む、06または0Eでラダトーム。8箇所ループ。
$030F   ァ    8E 20 20  STX $2020     $2000のミラーアドレスである$2020にX:03を書き込み、MNI割込をオフにする。
$0312   ァペペ  8E AE AE  STX $AEAE     $A000-$BFFFの間に5回書き込みがあるとカートリッジRAMへのアクセスがオフになる。
$0315   ゥ┛    90 F2     BCC $0309     キャリーフラグがクリアなら分岐、$0309へループ。
※"┛"は、[GPRH]+ラ
CALL  773   ’ コ ザ ゾ エ グ ウ ア グ ア ア ァ     ァ ペ ペ ゥ ┛(ラ+[GRPH])
AD 12 05 03 27 69 9C A0 63 99 62 60 99 60 60 8E 20 20 8E AE AE 90 F2
↑$0300    ↑$0305   ↑$0309

ファミリーベーシックの$0700~$07FFは文字出力バッファのため、
そのままでは00で埋め尽くされていて0勇者が出て大ロスしてしまうので
電源ON/OFFバグを併用してキャラ生成する必要がある。


※要約
ファミリーベーシックでCALL773'+文字列と打ち込んで
RETURNキーか改行を含んだファンクションキーを押すと、
引用符以降の文字列がファミコンの命令として直接実行される。
文字列で書かれた任意コードはファミコン本体メモリ上でループするように書かれ、
その状態だとカセットを引っこ抜いてもファミコンのCPUは動き続けているので、
ファミリーベーシック任意コードがドラクエ3に差し替えた後もそのまま実行され続ける。
今まではファミリーベーシックではDQ3のカートリッジ上のフラグ類は直接いじることが
出来ないと思われていたがこれによって可能となった。


ファミリーベーシックのキー配列はWikipedia画像を参照

ja.wikipedia.org

 

4レーへとは何なのか?

4レーへを使用した時の不具合を簡潔にいうと、アイテム名とルーラ登録名の間に2バイトの開始アドレスが挟まっているせいでバグアイテム名としてルーラ登録名を参照すると文字数が0になって文字展開バッファ$0634から255文字展開しようとしてバンク設定が記憶されてるメモリ$06C7まで侵食してしまってバンク切り替えミスが発生して壮大にバグるというものである。

1/60に一回発生するNMI割り込み発生後、バンク切り替えミスでプログラムカウンタが最終的にカートリッジRAMである$6167に到達するので、$6167に任意のコードを仕込むんで実行することが可能になる。


名前配列 1~7文字  8:濁点ビット 9:文字数
$02800E = 10 80            アイテム名開始アドレス $8010
$028010 = 25 23 11 23 28 0D 00 04 06  ひのきのぼう  0b0000100 6文字
$028019 = 14 38 28 0D 00 00 00 10 04  こんぼう    0b0010000 4文字
$028022 = 1E 0D 23 1C 33 11 00 42 06  どうのつるぎ  0b1000010 6文字
$02802B = 18 0C 1F 33 4A 3E 4F 00 07  せいなるナイフ 0b0000000 7文字
$028020 = 24 10 22 23 1C 33 11 21 07  はがねのつるぎ 0b0100001 7文字
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$02845A = CD 7F CF 57 3F 7F 4F 51 07  パープルオーブ 0b1010001 7文字
$028463 = 4F 57 7F 3F 7F 4F 00 42 06  ブルーオーブ  0b1000010 6文字
$02846C = 42 32 7F 5A 3F 7F 4F 41 07  グリーンオーブ 0b1000001 7文字
$028475 = 77 84            ルーラ登録名開始アドレス $8477
$028477 = 3D 32 3D 4D 5A 00 00 00 05 アリアハン     0b0000000 5文字
$028480 = 58 7F 27 00 00 00 00 10 03 レーベ         0b0010000 3文字
$028489 = 59 51 32 3D 00 00 00 00 04  ロマリア    0b0000000 4文字

↓バグアイテム名として文字列展開する場合、文字数と濁点フラグが00になる
$02845A = CD 7F CF 57 3F 7F 4F 51 07  パープルオーブ 0b1010001 7文字
$028463 = 4F 57 7F 3F 7F 4F 00 42 06  ブルーオーブ  0b1000010 6文字
$02846C = 42 32 7F 5A 3F 7F 4F 41 07  グリーンオーブ 0b1000001 7文字
$028475 = 77 84 3D 32 3D 4D 5A 00 00   ̄→アリアハン 0b0000000 0文字
$02847E = 00 05 58 7F 27 00 00 00 00   4レーヘ   0b0000000 0文字
$028487 = 10 03 59 51 32 3D 00 00 00  か2ロマリア  0b0000000 0文字


$0634に展開される文字列
77 84 3D 32 3D 4D 5A 00 00  ̄→アリアハン  
00 05 58 7F 27 00 00 00 00  4レーヘ     
10 03 59 51 32 3D 00 00 00 か2ロマリア  
00 04 40 44 7F 4F 00 00 00  3カサーフ   
28 04 5E 3D 5C 7F 57 00 00 ほ3ノアニール     
00 05 3D 60 44 56 7F 53 00  4アッサラーム 
00 06 3E 45 46 00 00 00 00  5イシス
00 03 D0 57 49 40 00 00 00  2ホルトカ
48 04 4D 4D 56 47 00 00 00 テ3ハハラタ    
40 04 47 7F 51 00 00 00 00 カ3ターマ    
40 03 56 5A 45 7F 57 00 00 カ2ランシール    
00 05 45 CD 5A 42 00 00 00  4シINンク
68 04 5B 45 5A 27 3D 00 00 。3エシンヘア    
28 05 44 51 5A 3F 44 00 00 ほ4サマンオサ    
00 04 46 7F 00 00 00 00 00  3スー
00 02 56 47 49 7F 53 00 00  1ラタトーム    
20 05 49 53 49 7F 56 00 00 に4トムトーラ
     ↑ ̄→アリアハンを使うとバンク設定が53
50 05 54 57 41 49 00 01 01 メルキド
     ↑ 4レーへを使うとバンク設定が57
08 04 51 3E 56 00 00 00 0E マイラ
     ↑か2ロマリア(ID:7Fの空白)を使うとバンクが設定3Eになるが確定フリーズ

↓4レーへを捨てた時のNMI後
$C955:48        PHA                        A:E4 X:A6 Y:0F S:D0 P:nvUBdIzC
$C956:98        TYA                        A:E4 X:A6 Y:0F S:CF P:nvUBdIzC
$C957:48        PHA                        A:0F X:A6 Y:0F S:CF P:nvUBdIzC
$C958:8A        TXA                        A:0F X:A6 Y:0F S:CE P:nvUBdIzC
$C959:48        PHA                        A:A6 X:A6 Y:0F S:CE P:NvUBdIzC
$C95A:A9 10     LDA #$10                   A:A6 X:A6 Y:0F S:CD P:NvUBdIzC
$C95C:25 1B     AND $001B = #$00           A:10 X:A6 Y:0F S:CD P:nvUBdIzC
$C95E:D0 07     BNE $C967                  A:00 X:A6 Y:0F S:CD P:nvUBdIZC
$C960:A9 00     LDA #$00                   A:00 X:A6 Y:0F S:CD P:nvUBdIZC
$C962:85 33     STA $0033 = #$02           A:00 X:A6 Y:0F S:CD P:nvUBdIZC
$C964:20 35 CA  JSR $CA35                  A:00 X:A6 Y:0F S:CD P:nvUBdIZC
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$CAD8:60        RTS                        A:02 X:A6 Y:0F S:CB P:nvUBdIzC
$C967:20 B6 C9  JSR $C9B6                  A:02 X:A6 Y:0F S:CD P:nvUBdIzC
$C9B6:EE DF FF  INC $FFDF = #$80           A:02 X:A6 Y:0F S:CB P:nvUBdIzC
----------------↓$06C7は通常0x0Eが入っている----------------------------
$C9B9:AD C7 06  LDA $06C7 = #$57           A:02 X:A6 Y:0F S:CB P:NvUBdIzC
$C9BC:20 37 C6  JSR $C637                  A:57 X:A6 Y:0F S:CB P:nvUBdIzC
$C637:8D C7 06  STA $06C7 = #$57           A:57 X:A6 Y:0F S:C9 P:nvUBdIzC
$C63A:8D FF 9F  STA $9FFF = #$AF           A:57 X:A6 Y:0F S:C9 P:nvUBdIzC
$C63D:4A        LSR                        A:57 X:A6 Y:0F S:C9 P:nvUBdIzC
$C63E:8D FF 9F  STA $9FFF = #$AF           A:2B X:A6 Y:0F S:C9 P:nvUBdIzC
$C641:4A        LSR                        A:2B X:A6 Y:0F S:C9 P:nvUBdIzC
$C642:8D FF 9F  STA $9FFF = #$AF           A:15 X:A6 Y:0F S:C9 P:nvUBdIzC
$C645:4A        LSR                        A:15 X:A6 Y:0F S:C9 P:nvUBdIzC
$C646:8D FF 9F  STA $9FFF = #$AF           A:0A X:A6 Y:0F S:C9 P:nvUBdIzC
$C649:4A        LSR                        A:0A X:A6 Y:0F S:C9 P:nvUBdIzC
$C64A:8D FF 9F  STA $9FFF = #$AF           A:05 X:A6 Y:0F S:C9 P:nvUBdIzc
--------↑ここでバンクサイズが16KBモードから32KBモードになる-------------
--------$8000-$BFFFがバンク0Aだった場合、$C000-$FFFFはバンク0Bになる------
$C64D:94 5A     STY $5A,X @ $0100 = #$03   A:05 X:A6 Y:0F S:C9 P:nvUBdIzc
--------↓メッセージ群のバンク0Bがプログラムとして実行されている---------
$C64F:82        UNDEFINED                  A:05 X:A6 Y:0F S:C9 P:nvUBdIzc
$C651:2B        UNDEFINED                  A:05 X:A6 Y:0F S:C9 P:nvUBdIzc
$C653:78        SEI                        A:05 X:A6 Y:0F S:C9 P:nvUBdIzc
$C654:B7        UNDEFINED                  A:05 X:A6 Y:0F S:C9 P:nvUBdIzc
$C656:DA        UNDEFINED                  A:40 X:40 Y:0F S:C9 P:nvUBdIzc
$C657:BA        TSX                        A:40 X:40 Y:0F S:C9 P:nvUBdIzc
$C658:66 DC     ROR $00DC = #$44           A:40 X:C9 Y:0F S:C9 P:NvUBdIzc
$C65A:5F        UNDEFINED                  A:40 X:C9 Y:0F S:C9 P:nvUBdIzc
$C65D:C9 75     CMP #$75                   A:6B X:C9 Y:0F S:C9 P:nvUBdIzC
$C65F:E8        INX                        A:6B X:C9 Y:0F S:C9 P:NvUBdIzc
$C660:9F        UNDEFINED                  A:6B X:CA Y:0F S:C9 P:NvUBdIzc
$C663:96 36     STX $0036,Y @ $0045 = #$01 A:6B X:CA Y:0F S:C9 P:NvUBdIzc
$C665:80        UNDEFINED                  A:6B X:CA Y:0F S:C9 P:NvUBdIzc
$C667:6C E8 C1  JMP ($C1E8) = $6167        A:6B X:CA Y:0F S:C9 P:NvUBdIzc
----------------↑$6167にジャンプ----------------------------------------

$9FFFへの書き込みについては下記を参照
https://wiki.nesdev.org/w/index.php/MMC1#Control_.28internal.2C_.248000-.249FFF.29
http://www43.tok2.com/home/cmpslv/Famic/Fcmp1.htm
Control (internal, $8000-$9FFF)
4bit0
-----
CPPMM
|||||
|||++- Mirroring (0: one-screen, lower bank; 1: one-screen, upper bank;
|||               2: vertical; 3: horizontal)
|++--- PRG ROM bank mode (0, 1: switch 32 KB at $8000, ignoring low bit of bank number;
|                         2: fix first bank at $8000 and switch 16 KB bank at $C000;
|                         3: fix last bank at $C000 and switch 16 KB bank at $8000)
+----- CHR ROM bank mode (0: switch 8 KB at a time; 1: switch two separate 4 KB banks)

 

MMC1は通常$8000-$BFFFの16KBは動的に切り替えられ$C000-$FFFFの16KBは最終バンクに固定されているが、PRG ROMバンクモードが32KBに切り替わると$8000-$FFFFまでが一括に読み込まれることになる。

文字展開ルーチン中は文字列を読み込むためのバンク0Aと文字書き込みプログラムのバンク0Eが交互に切り替わっているため、バンク0AのタイミングでNMI割り込みが発生すると最終バンク0Fで固定されてる$C000-$FFFFがバンク0Bになる。

$C5F4:20 BD FF  JSR $FFBD                  A:0A X:10 Y:0D S:E7 P:nvUbdizC
----------------↑バンク0Aに変更
$C5F7:B5 00     LDA $00,X @ $0010 = #$7E   A:00 X:10 Y:0D S:E7 P:nvUbdiZC
$C5F9:85 21     STA $0021 = #$7E           A:7E X:10 Y:0D S:E7 P:nvUbdizC
$C5FB:B5 01     LDA $01,X @ $0011 = #$84   A:7E X:10 Y:0D S:E7 P:nvUbdizC
$C5FD:85 22     STA $0022 = #$84           A:84 X:10 Y:0D S:E7 P:NvUbdizC
$C5FF:B1 21     LDA ($21),Y @ $848B = #$32 A:84 X:10 Y:0D S:E7 P:NvUbdizC
----------------↑バンク0Aからテキストを読み込み
$C601:85 23     STA $0023 = #$51           A:32 X:10 Y:0D S:E7 P:nvUbdizC
$C603:68        PLA                        A:32 X:10 Y:0D S:E7 P:nvUbdizC
$C604:20 BD FF  JSR $FFBD                  A:0E X:10 Y:0D S:E8 P:nvUbdizC
----------------↑バンク0Eに変更
$C607:A6 34     LDX $0034 = #$10           A:00 X:10 Y:0D S:E8 P:nvUbdiZC
$C609:A4 35     LDY $0035 = #$0D           A:00 X:10 Y:0D S:E8 P:nvUbdizC
$C60B:A5 23     LDA $0023 = #$32           A:00 X:10 Y:0D S:E8 P:nvUbdizC
$C60D:60        RTS                        A:32 X:10 Y:0D S:E8 P:nvUbdizC
$B005:99 34 06  STA $0634,Y @ $0641 = #$EA A:32 X:10 Y:0D S:EA P:nvUbdizC
----------------↑$0634+Yに文字展開するプログラム
$B008:C8        INY                        A:32 X:10 Y:0D S:EA P:nvUbdizC
----------------↑Y=Y+1
$B009:C4 7B     CPY $007B = #$00           A:32 X:10 Y:0E S:EA P:nvUbdizC
$B00B:D0 F1     BNE $AFFE                  A:32 X:10 Y:0E S:EA P:nvUbdizC
$AFFE:A9 0A     LDA #$0A                   A:32 X:10 Y:0E S:EA P:nvUbdizC
$B000:A2 10     LDX #$10                   A:0A X:10 Y:0E S:EA P:nvUbdizC
$B002:20 E8 C5  JSR $C5E8                  A:0A X:10 Y:0E S:EA P:nvUbdizC
$C5E8:85 36     STA $0036 = #$0A           A:0A X:10 Y:0E S:E8 P:nvUbdizC
$C5EA:AD D5 06  LDA $06D5 = #$0E           A:0A X:10 Y:0E S:E8 P:nvUbdizC
$C5ED:48        PHA                        A:0E X:10 Y:0E S:E8 P:nvUbdizC
$C5EE:86 34     STX $0034 = #$10           A:0E X:10 Y:0E S:E7 P:nvUbdizC
$C5F0:84 35     STY $0035 = #$0D           A:0E X:10 Y:0E S:E7 P:nvUbdizC
$C5F2:A5 36     LDA $0036 = #$0A           A:0E X:10 Y:0E S:E7 P:nvUbdizC
$C5F4:20 BD FF  JSR $FFBD                  A:0A X:10 Y:0E S:E7 P:nvUbdizC
----------------↑バンク0Aに変更


計算するとバンク0Aの間は74サイクル、バンク0Eは98サイクルで合計172サイクル。
バンク0Aのタイミングは43%ほどの計算になる。
とはいえ1フレーム中の処理量によって変化するのである程度音声タイミングやグラフィック処理で偏る。

DQ3は最終バンク以外にはリセットベクタ等が正しく記述されていないため、PRG ROMバンクモードが32KBだとリセットをしても、電源を入れ直しても、正しく起動しないことがある。

 

なぜ"電源ON/OFFバグ"は発生するのか? ~ファミコン版ドラゴンクエスト3~

【電源ON/OFFバグ】を簡潔に言い表すと

「りせっとをおさずに
 でんげんをきると
 ぼうけんのしょが きえてしまう
 ばあいがあります!!」

というメッセージの表示後に電源をON/OFFすると
メモリがグチャグチャになるバグである。



電源ON/OFFバグ後にコントローラのいずれかのボタンを押す、
またはボタンに反応がない場合はリセットボタンを押してから操作をすると
画面がバグった状態で『全滅復帰』に遷移するので、
バグった画面のまま王様に話しかけてセーブした後に
リセットをすることで画面が正常化される。

バージョンによる違い

FC版DQ3にはいくつかのバージョンがあり、ツルツル無印のガワが初期版で
写真では判別しにくいが右上に薄っすらと刻印があり、無印とA刻印は問題ないが
後期版(ザラザラB刻印)ではこのバグが発生しないことが知られている。

この後期版は初期版と比べてセーブデータが消えにくいとの噂があるが、
DQ3初期版にはMMC1Aという制御回路が搭載され、
DQ3後期版にはDQ4にも搭載されているMMC1B2が使用されているため
前者に比べて比較的安定していると推測される。



また、海外版"Dragon Warrior III"にはMMC1B3が搭載されているので
電源ON/OFFバグは発生しないのではないかと予想され、
森田将棋にはMMC1が搭載されている。

バッテリーバックアップの仕様

wikipediaの"バッテリーバックアップ"の頁によると

  • ファミリーコンピュータはバッテリーバックアップを考慮していないプラットフォームである[注 1]。すなわちCPUとカートリッジのメモリ空間がCPUのバスを通じて直接接続されており、さらに一定容量以上のカートリッジは、カートリッジ内にメモリ空間を拡張するための制御回路(MMC, Multi Memory Controller)を搭載しバンク切り替えを行っている。このため単純に電源を切ると、電源を切断して回路の電圧・電流が低下した瞬間に、CPUやMMCが誤動作する可能性がある。カートリッジバス上のMMCの誤動作やメモリ空間にSRAMが見えている最中にこのような状況が発生すると、SRAMのデータ化けを起こす確率が非常に高くなる。バッテリーバックアップ機能を搭載したファミリーコンピュータ用カートリッジの多くは、電源を切る際に、リセットボタンを押したまま電源スイッチをOFFにする必要があるが、これはリセットボタンを押している間はCPUの動作が完全に停止する為である[注 2]
  • 前述のエラーや書き込まれるデータの問題によってセーブデータが化けていた場合、そのエラーの大小にかかわらず該当データはゲームによって破棄される実装になっているものが多く、取り扱いや接続端子の状態によっては記録したデータを喪失するケースも発生する。

とのことで冒険の書にエラーが発生しやすい設計になっているが、
少しでもデータに不具合があるとCRCによる誤り検出に引っかかり
【呪いのモチーフ】とメッセージが流れた後、
ボタン操作をすると冒険の書を削除する処理が発生する。

この時、MMCの誤動作によってバッテリーバックアップの
読み込みミスがあった場合も同様に冒険の書の削除が行われてしまうが、
ごく稀に冒険の書5番などが消えてしまうことがある。

電源バグ検証中に冒険の書5が消えたぜ。これだからドラクエ3はやめられないぜ。

FC版 ドラクエ3の電源バグ 雑談 / ニコ生TS https://t.co/U1vR0ef0hK pic.twitter.com/vtn74sAVaI

— Hitsheegame (@Hitsheegame) October 29, 2020

このような読み込みミスが発生した場合は、
冒険の書が削除される前にリセットをすることで
冒険の書が復活したように見えることがあるが、
本当に誤り検出に引っかかっている場合は
何度リセットをしても冒険の書が復活することはない。

復活することはないのだが、
データの先頭である主人公のレベルが0に削除された瞬間にリセットを押して
仲間の誰かがレベル0ではないという状態を作れれば
誤り検出をスルー出来る冒険の書になるという仕様があるため、
いわゆるサブフレームリセットTASへの利用が期待されている。


またDQ4は削除してから曲とメッセージを流す無慈悲な仕様であるため
いくらリセットをしても意味はない。

MMCについて

調査したところ、
DQ3後期版ではバンク切り替え時にカートリッジ上のSRAMへのアクセスを
ON/OFF可能なMMC1B2を搭載しているので
ぼうけんのしょが きえてしまう ばあいがあります!!」
の最後の文字が表示され無限ループ処理に入る直前に
SRAMへのアクセスを無効にするコードが書かれているが、

DQ3初期版のMMC1AはカートリッジのSRAMへのアクセスが常に有効であるために
SRAMへのアクセスを無効にするコードの名残りのようなものが存在しているが
仕様上オフにはならず無限ループ時には不安定になっていると予想され、
SNROM+MMC1の構成では$A000~$BFFFの4ビットを1にすることで
カートリッジのSRAMへのアクセスがオフにされるらしく、
その画面でリセットを押すと王様の前から全滅復帰する。

DQ3 後期版
0D:BBC7:AD D5 06 LDA $06D5 = #$0D // bank 0Dへの切り替え準備
0D:BBCA:09 10   ORA #$10     // bank 1xでSRAMへのアクセス無効
0D:BBCC:20 BD FF JSR $FFBD     // バンク切り替えのサブルーチン
0D:BBCF:4C CF BB JMP $BBCF     // 無限ループ

DQ3 初期版
0D:BBC7:A9 10   LDA #$10     //4bit=1
0D:BBC9:8D C8 06 STA $06C8 = #$00 // NMI内で$BFFF=#$10になる
0D:BBCC:4C CC BB JMP $BBCC    // 無限ループ
-------------------------NMI-----------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~
0F:C64E:8D C8 06 STA $06C8 = #$10
0F:C651:8D FF BF STA $BFFF = #$BF
0F:C654:4A LSR
0F:C655:8D FF BF STA $BFFF = #$BF
0F:C658:4A LSR
0F:C659:8D FF BF STA $BFFF = #$BF
0F:C65C:4A LSR
0F:C65D:8D FF BF STA $BFFF = #$BF
0F:C660:4A LSR
0F:C661:8D FF BF STA $BFFF = #$BF
0F:C664:60 RTS
~~~~~~~~~~~~~~~~~~~~~~~~~~

全滅復帰する理由について

調査すると一つのフラグが影響してることがわかる。

バッテリーバックアップ上の$6A58というフラグは通常
冒険の書を作成してマップが読み込まれる際に0x03にセットされたり
冒険の書を選択して再開した場合には0xFFにセットされたりしている。
このフラグはリセットもしくは電源投入時にこの$6A58が0に初期化され、
そのしばらく後に$6A58=0であれば条件分岐によってタイトル画面へ遷移するが
何らかの理由で$6A58が0以外であれば全滅復帰へ分岐する。
通常の全滅時に何らかの理由でこのフラグがオフになっていれば
タイトル画面に戻ることになると予想される。

後期版では$6A58への書き込みがMMCの初期化後に行われているが、
初期版ではMMCの初期化前に$6A58に書き込みを行おうとするために
MMCが不安定になった状態では$6A58への書き込みが失敗し、
$6A58を読み込む際に0以外の値が取得されて全滅復帰に分岐していると考えられる。

メモリがグチャグチャになる理由

本体側のメモリは電源を切ることで時間経過とともに揮発していくが、
本来必要な初期化処理は冒険の書選択時に行われているため
タイトル画面がスキップされたことで揮発したメモリがそのまま使用されることになる。

文字がグチャグチャになる理由としては、
大半の画像は暗転時に読み込み直されるのに対して
文字の画像だけはタイトル画面で一度しか読み込まれないため、
電源ON/OFFバグ時にはタイトル画面がスキップされて
文字が読み込み直されないことが原因であると考えられる。

出来ることと出来ないこと

本体メモリをバグらせられるのは主にキャラステータスである名前や習得呪文や
キャラステータスに含まれる所持アイテムとルーラ登録地などで、
フラグ類はすべてカートリッジ側で管理しているため
復活場所やゾーマ打倒フラグなどをイジることは出来ません。
また後期版は使えないため、2コンAボタン押しノーエンカ技も使えません。

カセットの抜き差しや交換などをしていると
イキナリ全滅復帰する事例も報告されているので
もしかしたら抜き差しによってMMCを不安定化させて
王様までの道のりを全滅復帰でショートカットすることも可能かもしれません。

ついでにRTAについて

電源ON/OFFバグによってメモリのビットが立ちやすい本体であれば
高レベル高ステータスやにじのしずくが期待しやすくRTA向きであり、
逆にビットが下がりやすい本体であればPTの存在フラグなども消え
低レベル低ステータスになりやすくRTAには不向きであると言える。

DQ3なんでもありRTAガチ勢は本体ガチャを行っているが、
初期型ファミコンNEWファミコン(AV仕様)ではバグでの変化が乏しく
一部のファミコン互換機なども出荷時期によっては
期待できるロットと期待できないロットが混在し混迷を極めているらしい。


また、時間と温度によってバグり方が変化することが知られているが
メモリの揮発速度が温度で変化することが原因の一つとして考えられ、
それ以外にも本体内部の各種コンデンサなども熱の影響を受けそうである。

電源タップのスイッチを用いた電源ON/OFFバグもあり、この場合は
アダプタの性能や本体電源部の三端子レギュレータの温度も考慮する必要がある。

うちには3種類のACアダプタがあるが、
うちの後期型ファミコンと純正アダプタの組み合わせでは
にじのしずくが出やすいのは2.5~8秒前後電源を落とした時で、
コロンバスサークルのミニACアダプタでは1.2~3秒程度でにじのしずくが出やすかった。

最後は電源タップのスイッチを入れてから映像が来るまでに1秒かかるアダプタで
定格電流が1000mAと他のアダプタの850mAと違うことも影響しているのか
メモリの変化も乏しく、RTAには不向きであった。

また、本体温度が上がると酒場に登録された賢者が高火力になりやすいが、
賢者が遊び人に変化しやすくなるというジレンマがあるため
RTAでは温度管理が非常に大事になってくるため、
ファミコンの下に古いPCケースのサイドパネルを放熱板として敷いている。

当初は本体側の電源ON/OFFによって棺桶バグを誘発して
アイテム変化を狙う安定型チャートだったが、
電源タップのスイッチを使うことでにじのしずくが狙えて
理力の杖持ちルカニ僧侶とバイキルト商人と高攻撃力の賢者が出る
何気に記録が狙える神個体だったことが判明し、リアルラック勢への転向を決意。


最後に

2020年12月27日~31日に行われる『RTA in Japan 2020』では、初日の15:50あたりに
ドラゴンクエスト3 なんでもありRTA 4人レース』が行われます。
日曜日のいい感じの時間なので、お時間がある人は是非応援してください!
お時間のない人もアーカイブでのご視聴をどうぞ!

また走者も増えているのでこれを見て自分もRTAしてみたいと思った方は是非!!

本体個体値、時間調整、温度調整、
ACアダプタ、電源タップ、
組み合わせは無限大!
君だけのRTAチャートを作ろう!!!