SFC風来のシレン研究ノート

元々ブロマガでやってたやつ

【補足】道具命名による肉入手の文字数について

twitterで頂いたご質問について。

Q:「ダ8_0@」で任意のレベルの肉が出せるのに「ー01」や「ぞ02」が別に書かれている(しかも何故か3文字だけ)のは何故でしょうか?

A:名付けはE0から始まる11バイトの行動
E0 XX ?? YY YY YY YY YY YY FF FF
なのですが、
(参考:http://oyasen20.tripod.com/action.html

どうやらこの3バイト目の??は、
3文字目(すなわち3つ目のYY=6バイト目)のメモリと同一のようなのです。
(多分レジスタの設定ミス)

デバッグ開始のE1から並べると
E1:E0:命名道具番号:3文字目:1文字目:2文字目:3文字目・・・
となり、3文字目の効果が2箇所に現れてしまいます。

そしてこれはデバッグの意味合い上
E1:(05以上は道具指定):(使われない):道具カテゴリ:カテゴリ内番号:(以降はカテゴリによって異なる)
と解釈されます。

肉以外のアイテムは「道具カテゴリ」:「カテゴリ内番号」:「修正値」

の順で高々3つのパラメータで指定できるため、
これらを3-1-2文字目に対応させればうまくいきます。

ところが、肉は普通に指定する場合
道具カテゴリ肉(9)」:「中分類カテゴリ0」:「キャラコード」:「レベル
と4つの指定が必要になります。
結果、道具カテゴリとレベルが同じ3文字目のメモリに対応してしまうため、
通常のやり方ではまともに指定することができません。
(レベル9の肉しか作れない)

そこで、回避策として二通りの方法があります。
1:文字コード80「ダ」以降は選択キャンセルを意味するので、
  1文字目にこれを指定すると「1回目の3文字目の選択」をキャンセルでき、
  (3文字目):(1文字目キャンセル):2文字目:3文字目:4文字目:5文字目
  の5文字で4つのパラメータを指定できる

2:肉以外のカテゴリを指定してから、
  カテゴリ内順位が肉の番号E0になるような大きいコードを入力して
  強引に肉を選ぶ

しかし2には制限があり、カテゴリ毎に肉の道具番号E0を取れる値は決まっています。

例えば「矢」(カテゴリ8)を指定した場合、
初期値である「木の矢」はアイテムコード10hなので、
カテゴリ内の順番としてE0を指定するためには
順番コードとしてD0を入力する必要があります。

しかし前述の通り、80h以上の文字はキャンセルを意味してしまうため、
80より大きい番号の指定はできません。

このように、ある程度アイテムコードの初期値が大きいカテゴリでしか、
アイテムコードE0は指定出来ないことになります。

カテゴリは0(草)~9(肉など)までありますが、
これが可能なカテゴリは1~4、7に限られます。

これは、3文字で表現できる肉のレベルが2~5、8に限られることを意味し、
レベル1の肉はどうしても5文字必要になってしまいます。

(逆にレベル4,5,8も3文字で行けますが、
 表が煩雑になるので略してます。需要も小さいですし)

もちろん5文字使えば任意のレベルが指定できるわけですが、
TAS的な需要としては3文字も重要な場合もあり得るので併記しました。


以上が、3文字と5文字、及び任意レベルと特定レベルが混在している理由でした。

あーややこしい。


回想バグ+道具命名で作れる肉一覧

その他のアイテムはこっち

使い方
・回想バグで、β世界線(回想)側だけNPCの前にいる状態にする
・攻撃+保存の壺から2番目のアイテムを出す(デバッグ呼び出し、ここまでいつもの)
・任意の未識別アイテムまたは白紙の巻物に下表の名前を付ける
 ※「_」は空白
 ※1文字目の「ダ」に限り、「ダ」~「ォ」のどの文字でも良い
 (例:「ダ8_00」=「ン8_00」=マムルの肉)
 ※「@」は任意の文字で、その文字コードがレベル(181まで)になる(参照
 (例:「ダ8_03」=「ン8_03」=マムル4の肉)
 ※指定の文字以降は行動コードに対応
・B6以降のNPCは指定できない(入力できる文字のコード範囲外)
・リセットするとアイテムを入手+行動後になる

レベル1レベル2レベル3レベル@
00(主人公の名前)ダ8__0
01マムルダ8_00ー01ぞ02ダ8_0@
02死の使いダ8_10ー11ぞ12ダ8_1@
03ギャザーダ8_20ー21ぞ22ダ8_2@
04ボウヤーダ8_30ー31ぞ32ダ8_3@
05ガマラダ8_40ー41ぞ42ダ8_4@
06デブータダ8_50ー51ぞ52ダ8_5@
07きり仙人ダ8_60ー61ぞ62ダ8_6@
08火炎入道ダ8_70ー71ぞ72ダ8_7@
09ミドロダ8_80ー81ぞ82ダ8_8@
0Aぬすっトドダ8_90ー91ぞ92ダ8_9@
0Bパルテノスダ8_+0ー+1ぞ+2ダ8_+@
0Cキグニ族ダ8_-0ー-1ぞ-2ダ8_-@
0Dくねくねハニーダ8_?0ー?1ぞ?2ダ8_?@
0Eエーテルデビルダ8_!0ー!1ぞ!2ダ8_!@
0Fンドゥバダ8_/0ー/1ぞ/2ダ8_/@
10アイアンヘッドダ8_(0ー(1ぞ(2ダ8_(@
11おばけ大根ダ8_)0ー)1ぞ)2ダ8_)@
12吸引幼虫ダ8_[0ー[1ぞ[2ダ8_[@
13セルアーマーダ8_]0ー]1ぞ]2ダ8_]@
14ドラゴンダ8_あ0ーあ1ぞあ2ダ8_あ@
15タウロスダ8_い0ーい1ぞい2ダ8_い@
16いやしウサギダ8_う0ーう1ぞう2ダ8_う@
17鬼面武者ダ8_え0ーえ1ぞえ2ダ8_え@
18ぼうれい武者ダ8_お0ーお1ぞお2ダ8_お@
19マスターチキンXダ8_か0ーか1ぞか2ダ8_か@
1Aチキンダ8_が0ーが1ぞが2ダ8_が@
1Bやみふくろうダ8_き0ーき1ぞき2ダ8_き@
1Cナイフゲータダ8_ぎ0ーぎ1ぞぎ2ダ8_ぎ@
1Dぴーたんダ8_く0ーく1ぞく2ダ8_く@
1E正面戦士ダ8_ぐ0ーぐ1ぞぐ2ダ8_ぐ@
1Fシューベルダ8_け0ーけ1ぞけ2ダ8_け@
20とおせんりゅうダ8_げ0ーげ1ぞげ2ダ8_げ@
21パコレプキンダ8_こ0ーこ1ぞこ2ダ8_こ@
22オヤジ戦車ダ8_ご0ーご1ぞご2ダ8_ご@
23妖怪にぎり変化ダ8_さ0ーさ1ぞさ2ダ8_さ@
24ノロージョダ8_ざ0ーざ1ぞざ2ダ8_ざ@
25ガイコツまどうダ8_し0ーし1ぞし2ダ8_し@
26ゲイズダ8_じ0ーじ1ぞじ2ダ8_じ@
27まわるポリゴンダ8_す0ーす1ぞす2ダ8_す@
28魔蝕虫ダ8_ず0ーず1ぞず2ダ8_ず@
29兵隊アリダ8_せ0ーせ1ぞせ2ダ8_せ@
2Aラクロイドダ8_ぜ0ーぜ1ぞぜ2ダ8_ぜ@
2Bドレムラスダ8_そ0ーそ1ぞそ2ダ8_そ@
2Cハブーンダ8_ぞ0ーぞ1ぞぞ2ダ8_ぞ@
2D畠荒らしダ8_た0ーた1ぞた2ダ8_た@
2Eコドモ戦車ダ8_だ0ーだ1ぞだ2ダ8_だ@
2F武器ダ8_ち0ーち1ぞち2ダ8_ち@
30ダ8_ぢ0ーぢ1ぞぢ2ダ8_ぢ@
31ダ8_つ0ーつ1ぞつ2ダ8_つ@
32腕輪ダ8_づ0ーづ1ぞづ2ダ8_づ@
33巻物ダ8_て0ーて1ぞて2ダ8_て@
34ダ8_で0ーで1ぞで2ダ8_で@
35ダ8_と0ーと1ぞと2ダ8_と@
36ダ8_ど0ーど1ぞど2ダ8_ど@
37おにぎりダ8_な0ーな1ぞな2ダ8_な@
38豆山賊ダ8_に0ーに1ぞに2ダ8_に@
39小僧天狗ダ8_ぬ0ーぬ1ぞぬダ8_ぬ@
3A予備3ダ8_ね0ーね1ぞね2ダ8_ね@
3B予備4ダ8_の0ーの1ぞの2ダ8_の@
3C老人ダ8_は0ーは1ぞは2ダ8_は@
3D少女ダ8_ば0ーば1ぞば2ダ8_ば@
3E強そうな男ダ8_ぱ0ーぱ1ぞぱ2ダ8_ぱ@
3F小太りの男ダ8_ひ0ーひ1ぞひ2ダ8_ひ@
40ダ8_び0ーび1ぞび2ダ8_び@
41倉庫の番人ダ8_ぴ0ーぴ1ぞぴ2ダ8_ぴ@
42ララダ8_ふ0ーふ1ぞふ2ダ8_ふ@
43二番弟子ダ8_ぶ0ーぶ1ぞぶ2ダ8_ぶ@
44三番弟子ダ8_ぷ0ーぷ1ぞぷ2ダ8_ぷ@
45四番弟子ダ8_へ0ーへ1ぞへ2ダ8_へ@
46五番弟子ダ8_べ0ーべ1ぞべ2ダ8_べ@
47サルヤマダ8_ぺ0ーぺ1ぞぺ2ダ8_ぺ@
48ガイバラダ8_ほ0ーほ1ぞほ2ダ8_ほ@
49風来人ダ8_ぼ0ーぼ1ぞぼ2ダ8_ぼ@
4A盗賊番ダ8_ぽ0ーぽ1ぞぽ2ダ8_ぽ@
4B番犬ダ8_ま0ーま1ぞま2ダ8_ま@
4C78ダ8_み0ーみ1ぞみ2ダ8_み@
4D店主ダ8_む0ーむ1ぞむ2ダ8_む@
4E老婆ダ8_め0ーめ1ぞめ2ダ8_め@
4F泊客ダ8_も0ーも1ぞも2ダ8_も@
50ペケジダ8_や0ーや1ぞや2ダ8_や@
51おかみダ8_ゆ0ーゆ1ぞゆ2ダ8_ゆ@
52ナオキダ8_よ0ーよ1ぞよ2ダ8_よ@
53トシオダ8_ら0ーら1ぞら2ダ8_ら@
54旅人ダ8_り0ーり1ぞり2ダ8_り@
55トメダ8_る0ーる1ぞる2ダ8_る@
56酒場の店主ダ8_れ0ーれ1ぞれ2ダ8_れ@
57番付屋ダ8_ろ0ーろ1ぞろ2ダ8_ろ@
58峠屋料理長ダ8_わ0ーわ1ぞわ2ダ8_わ@
59山師ダ8_を0ーを1ぞを2ダ8_を@
5A異国の風来人ダ8_ん0ーん1ぞん2ダ8_ん@
5B少女ダ8_っ0ーっ1ぞっ2ダ8_っ@
5C老人ダ8_ゃ0ーゃ1ぞゃ2ダ8_ゃ@
5Dじじいダ8_ゅ0ーゅ1ぞゅ2ダ8_ゅ@
5Eカマヒゲダ8_ょ0ーょ1ぞょ2ダ8_ょ@
5Fスズコダ8_ぁ0ーぁ1ぞぁ2ダ8_ぁ@
60スララダ8_ぃ0ーぃ1ぞぃ2ダ8_ぃ@
61お竜ダ8_ぅ0ーぅ1ぞぅ2ダ8_ぅ@
62ダ8_ぇ0ーぇ1ぞぇ2ダ8_ぇ@
63サギ師ダ8_ぉ0ーぉ1ぞぉ2ダ8_ぉ@
64飛脚ダ8_ー0ーー1ぞー2ダ8_ー@
65飛脚ダ8_ア0ーア1ぞア2ダ8_ア@
66飛脚ダ8_イ0ーイ1ぞイ2ダ8_イ@
67座頭ケチダ8_ウ0ーウ1ぞウ2ダ8_ウ@
684人組ダ8_ヴ0ーヴ1ぞヴ2ダ8_ヴ@
69子供ダ8_エ0ーエ1ぞエ2ダ8_エ@
6Aダ8_オ0ーオ1ぞオ2ダ8_オ@
6B店主ダ8_カ0ーカ1ぞカ2ダ8_カ@
6Cダ8_ガ0ーガ1ぞガ2ダ8_ガ@
6Dおばばダ8_キ0ーキ1ぞキ2ダ8_キ@
6Eかじ屋ダ8_ギ0ーギ1ぞギ2ダ8_ギ@
6Fボボロダ8_ク0ーク1ぞク2ダ8_ク@
70女の子ダ8_グ0ーグ1ぞグ2ダ8_グ@
71母親ダ8_ケ0ーケ1ぞケ2ダ8_ケ@
72酒場の店主ダ8_ゲ0ーゲ1ぞゲ2ダ8_ゲ@
73カンパチダ8_コ0ーコ1ぞコ2ダ8_コ@
74シブタレダ8_ゴ0ーゴ1ぞゴ2ダ8_ゴ@
75農夫ダ8_サ0ーサ1ぞサ2ダ8_サ@
76車屋のゴロダ8_ザ0ーザ1ぞザ2ダ8_ザ@
77辻占いダ8_シ0ーシ1ぞシ2ダ8_シ@
78ツムリダ8_ジ0ージ1ぞジ2ダ8_ジ@
79オビトダ8_ス0ース1ぞス2ダ8_ス@
7Aカズラダ8_ズ0ーズ1ぞズ2ダ8_ズ@
7B町のおじいさんダ8_セ0ーセ1ぞセ2ダ8_セ@
7C飛脚のトビダ8_ゼ0ーゼ1ぞゼ2ダ8_ゼ@
7D番人ダ8_ソ0ーソ1ぞソ2ダ8_ソ@
7Eダ8_ゾ0ーゾ1ぞゾ2ダ8_ゾ@
7F酒場の娘ダ8_タ0ータ1ぞタ2ダ8_タ@
80こそどろダ8_ダ0ーダ1ぞダ2ダ8_ダ@
81盗賊人ダ8_チ0ーチ1ぞチ2ダ8_チ@
82風来人ダ8_ヂ0ーヂ1ぞヂ2ダ8_ヂ@
83遺跡荒らしダ8_ツ0ーツ1ぞツ2ダ8_ツ@
84料理人ダ8_ヅ0ーヅ1ぞヅ2ダ8_ヅ@
85壺じいさんダ8_テ0ーテ1ぞテ2ダ8_テ@
86地変学者フェイダ8_デ0ーデ1ぞデ2ダ8_デ@
87車屋のガラダ8_ト0ート1ぞト2ダ8_ト@
88父親ダ8_ド0ード1ぞド2ダ8_ド@
89老人ダ8_ナ0ーナ1ぞナ2ダ8_ナ@
8A老婆ダ8_ニ0ーニ1ぞニ2ダ8_ニ@
8B母親ダ8_ヌ0ーヌ1ぞヌ2ダ8_ヌ@
8C子供ダ8_ネ0ーネ1ぞネ2ダ8_ネ@
8Dヤブメダ8_ノ0ーノ1ぞノ2ダ8_ノ@
8Eダ8_ハ0ーハ1ぞハ2ダ8_ハ@
8Fダ8_バ0ーバ1ぞバ2ダ8_バ@
90シロのヘイジダ8_パ0ーパ1ぞパ2ダ8_パ@
91母親ダ8_ヒ0ーヒ1ぞヒ2ダ8_ヒ@
92おじいさんダ8_ビ0ービ1ぞビ2ダ8_ビ@
93男の子ダ8_ピ0ーピ1ぞピ2ダ8_ピ@
94女の子ダ8_フ0ーフ1ぞフ2ダ8_フ@
95ダ8_ブ0ーブ1ぞブ2ダ8_ブ@
96ダ8_プ0ープ1ぞプ2ダ8_プ@
97ダ8_ヘ0ーヘ1ぞヘ2ダ8_ヘ@
98ダ8_ベ0ーベ1ぞベ2ダ8_ベ@
99ダ8_ペ0ーペ1ぞペ2ダ8_ペ@
9Aダ8_ホ0ーホ1ぞホ2ダ8_ホ@
9Bマムルダ8_ボ0ーボ1ぞボ2ダ8_ボ@
9Cマムルダ8_ポ0ーポ1ぞポ2ダ8_ポ@
9Dマムルダ8_マ0ーマ1ぞマ2ダ8_マ@
9Eマムルダ8_ミ0ーミ1ぞミ2ダ8_ミ@
9Fシキタリのムグラダ8_ム0ーム1ぞム2ダ8_ム@
A0クルクルのセンゾウダ8_メ0ーメ1ぞメ2ダ8_メ@
A1ナナメのジロキチダ8_モ0ーモ1ぞモ2ダ8_モ@
A2チビのビエーダ8_ヤ0ーヤ1ぞヤ2ダ8_ヤ@
A3シロのヘイジダ8_ユ0ーユ1ぞユ2ダ8_ユ@
A4飛脚のトビダ8_ヨ0ーヨ1ぞヨ2ダ8_ヨ@
A5ダ8_ラ0ーラ1ぞラ2ダ8_ラ@
A6酔っ私いのタゲダ8_リ0ーリ1ぞリ2ダ8_リ@
A7シケのハンザキダ8_ル0ール1ぞル2ダ8_ル@
A8投テキのツブテダ8_レ0ーレ1ぞレ2ダ8_レ@
A9聞き耳のサブダ8_ロ0ーロ1ぞロ2ダ8_ロ@
AA親切なおじいさんダ8_ワ0ーワ1ぞワ2ダ8_ワ@
AB流浪のシジマダ8_ヲ0ーヲ1ぞヲ2ダ8_ヲ@
AC橋タタキのヤマケダ8_ン0ーン1ぞン2ダ8_ン@
ADダ8_ッ0ーッ1ぞッ2ダ8_ッ@
AEサルヤマダ8_ャ0ーャ1ぞャ2ダ8_ャ@
AFガイバラダ8_ュ0ーュ1ぞュ2ダ8_ュ@
B0息子ダ8_ョ0ーョ1ぞョ2ダ8_ョ@
B1母親ダ8_ァ0ーァ1ぞァ2ダ8_ァ@
B2父親ダ8_ィ0ーィ1ぞィ2ダ8_ィ@
B3鍛冶屋の娘ダ8_ゥ0ーゥ1ぞゥ2ダ8_ゥ@
B4ダ8_ェ0ーェ1ぞェ2ダ8_ェ@
B5ヒゲの男ダ8_ォ0ーォ1ぞォ2ダ8_ォ@
B6
B7
B8食通じじい
B9壺マニア
BAフラッときた客
BB食通じじい
BC
BDソダテのカンジ
BE192
BF193
C0何者か

回想バグ+道具命名で作れるアイテム一覧(肉以外)

肉はこっち

使い方
・回想バグで、β世界線(回想)側だけNPCの前にいる状態にする
・攻撃+保存の壺から2番目のアイテムを出す(デバッグ呼び出し、ここまでいつもの)
・任意の未識別アイテムまたは白紙の巻物に下表の名前を付ける
 ※「_」は空白
 ※「@」は任意の文字で、その文字コードが修正値になる(参照
 (例:「__4」→こん棒 「_04」→こん棒+1 「_14」→こん棒+2)
 ※同じ行の文字どれでもOK
 (例:「(94」=「_97」=10本の木の矢)
 ※4文字以降は行動コードに対応
 (例:「_04555」→こん棒+1入手後、下に移動(06)を3回)
・リセットするとアイテムを入手+行動後になる

00こん棒_@4
01長巻0@4
02ブフーの包丁1@4
03カタナ2@4
04ドラゴンキラー3@4
05どうたぬき4@4
06剛剣マンジカブラ5@4
07成仏の鎌6@4
08つるはし7@4
09必中の剣8@4
0Aミノタウロスの斧9@4
0B妖刀かまいたち+@4
0C1ツ目殺し-@4
0Dドレインバスター?@4
0E火迅風魔刀!@4
0F秘剣カブラステギ/@4
10木の矢(@4_@7
11鉄の矢)@40@7
12銀の矢[@41@7
13新規アイテム]@42@7
14新規アイテムあ@43@7
15新規アイテムい@44@7
16皮甲の盾う@45@7_@5
17青銅甲の盾え@46@70@5
18無どくの盾お@47@71@5
19木甲の盾か@48@72@5
1A鉄甲の盾が@49@73@5
1Bドラゴンシールドき@4+@74@5
1C風魔の盾ぎ@4-@75@5
1Dバトルカウンターく@4?@76@5
1E重装の盾ぐ@4!@77@5
1Fやまびこの盾け@4/@78@5
20見切りの盾げ@4(@79@5
21見かけだおしの盾こ@4)@7+@5
22使い捨ての盾ご@4[@7-@5
23地雷ナバリの盾さ@4]@7?@5
24トドの盾ざ@4あ@7!@5
25ラセン風魔の盾し@4い@7/@5
26新規アイテムじ@4う@7(@5
27新規アイテムす@4え@7)@5
28薬草ず@4お@7[@5___(+何かの文字)
29弟切草せ@4か@7]@50@_
2Aしあわせ草ぜ@4が@7あ@51@_
2Bめぐすり草そ@4き@7い@52@_
2Cドラゴン草ぞ@4ぎ@7う@53@_
2D無敵草た@4く@7え@54@_
2E天使の種だ@4ぐ@7お@55@_
2F復活の草ち@4け@7か@56@_
30消え去り草ぢ@4げ@7が@57@_
31くねくね草つ@4こ@7き@58@_
32不幸の種づ@4ご@7ぎ@59@_
33超不幸の種て@4さ@7く@5+@_
34キグニ族の種で@4ざ@7ぐ@5-@_
35物忘れの草と@4し@7け@5?@_
36---ど@4じ@7げ@5!@_
37命の草な@4す@7こ@5/@_
38胃拡張の種に@4ず@7ご@5(@_
39胃縮小の種ぬ@4せ@7さ@5)@_
3A話の種ね@4ぜ@7ざ@5[@_
3Bちからの草の@4そ@7し@5]@_
3Cどく消し草は@4ぞ@7じ@5あ@_
3Dどく草ば@4た@7す@5い@_
3E混乱草ぱ@4だ@7ず@5う@_
3F睡眠草ひ@4ち@7せ@5え@_
40雑草び@4ぢ@7ぜ@5お@_
41新規アイテムぴ@4つ@7そ@5か@_
42新規アイテムふ@4づ@7ぞ@5が@_
43新規アイテムぶ@4て@7た@5き@_
44新規アイテムぷ@4で@7だ@5ぎ@_
45新規アイテムへ@4と@7ち@5く@_
46新規アイテムべ@4ど@7ぢ@5ぐ@_
47新規アイテムぺ@4な@7つ@5け@_
48新規アイテムほ@4に@7づ@5げ@_
49新規アイテムぼ@4ぬ@7て@5こ@_
4A新規アイテムぽ@4ね@7で@5ご@_
4B新規アイテムま@4の@7と@5さ@_
4C新規アイテムみ@4は@7ど@5ざ@_
4D新規アイテムむ@4ば@7な@5し@_
4E新規アイテムめ@4ぱ@7に@5じ@_
4F新規アイテムも@4ひ@7ぬ@5す@_
50新規アイテムや@4び@7ね@5ず@_
51新規アイテムゆ@4ぴ@7の@5せ@_
52新規アイテムよ@4ふ@7は@5ぜ@_
53新規アイテムら@4ぶ@7ば@5そ@_
54新規アイテムり@4ぷ@7ぱ@5ぞ@_
55新規アイテムる@4へ@7ひ@5た@_
56おはらいの巻物れ@4べ@7び@5だ@__@0
57識別の巻物ろ@4ぺ@7ぴ@5ち@_0@0
58あかりの巻物わ@4ほ@7ふ@5ぢ@_1@0
59壺増大の巻物を@4ぼ@7ぶ@5つ@_2@0
5A真空斬りの巻物ん@4ぽ@7ぷ@5づ@_3@0
5Bくちなしの巻物っ@4ま@7へ@5て@_4@0
5C--の巻物(時の砂)ゃ@4み@7べ@5で@_5@0
5Dワナの巻物ゅ@4む@7ぺ@5と@_6@0
5E困った時の巻物ょ@4め@7ほ@5ど@_7@0
5F敵倍速の巻物ぁ@4も@7ぼ@5な@_8@0
60バクスイの巻物ぃ@4や@7ぽ@5に@_9@0
61パワーアップの巻物ぅ@4ゆ@7ま@5ぬ@_+@0
62--の巻物(全滅)ぇ@4よ@7み@5ね@_-@0
63自爆の巻物ぉ@4ら@7む@5の@_?@0
64大部屋の巻物ー@4り@7め@5は@_!@0
65モンスターハウスの巻物ア@4る@7も@5ば@_/@0
66混乱の巻物イ@4れ@7や@5ぱ@_(@0
67ジェノサイドの巻物ウ@4ろ@7ゆ@5ひ@_)@0
68白紙の巻物ヴ@4わ@7よ@5び@_[@0
69迷子の巻物エ@4を@7ら@5ぴ@_]@0
6A天の恵みの巻物オ@4ん@7り@5ふ@_あ@0
6B地の恵みの巻物カ@4っ@7る@5ぶ@_い@0
6Cメッキの巻物ガ@4ゃ@7れ@5ぷ@_う@0
6D吸い出しの巻物キ@4ゅ@7ろ@5へ@_え@0
6E拾えずの巻物ギ@4ょ@7わ@5べ@_お@0
6F--の巻物(時限爆弾)ク@4ぁ@7を@5ぺ@_か@0
70新規アイテム(聖域)グ@4ぃ@7ん@5ほ@_が@0
71新規アイテムケ@4ぅ@7っ@5ぼ@_き@0
72新規アイテムゲ@4ぇ@7ゃ@5ぽ@_ぎ@0
73新規アイテムコ@4ぉ@7ゅ@5ま@_く@0
74新規アイテムゴ@4ー@7ょ@5み@_ぐ@0
75新規アイテムサ@4ア@7ぁ@5む@_け@0
76新規アイテムザ@4イ@7ぃ@5め@_げ@0
77新規アイテムシ@4ウ@7ぅ@5も@_こ@0
78新規アイテムジ@4ヴ@7ぇ@5や@_ご@0
79新規アイテムス@4エ@7ぉ@5ゆ@_さ@0
7A新規アイテムズ@4オ@7ー@5よ@_ざ@0
7B新規アイテム(パルプンテセ@4カ@7ア@5ら@_し@0
7C封印の杖ゼ@4ガ@7イ@5り@_じ@0_@1
7Dふきとばしの杖ソ@4キ@7ウ@5る@_す@00@1
7Eしあわせの杖ゾ@4ギ@7ヴ@5れ@_ず@01@1
7F不幸の杖タ@4ク@7エ@5ろ@_せ@02@1
80身がわりの杖グ@7オ@5わ@_ぜ@03@1
81場所替えの杖ケ@7カ@5を@_そ@04@1
82ブフーの杖ゲ@7ガ@5ん@_ぞ@05@1
83ガイコツまどうの杖コ@7キ@5っ@_た@06@1
84かなしばりの杖ゴ@7ギ@5ゃ@_だ@07@1
85一時しのぎの杖サ@7ク@5ゅ@_ち@08@1
86痛み分けの杖ザ@7グ@5ょ@_ぢ@09@1
87新規アイテムシ@7ケ@5ぁ@_つ@0+@1
88新規アイテムジ@7ゲ@5ぃ@_づ@0-@1
89新規アイテムス@7コ@5ぅ@_て@0?@1
8A新規アイテムズ@7ゴ@5ぇ@_で@0!@1
8B新規アイテムセ@7サ@5ぉ@_と@0/@1
8C新規アイテムゼ@7ザ@5ー@_ど@0(@1
8D新規アイテムソ@7シ@5ア@_な@0)@1
8E新規アイテムゾ@7ジ@5イ@_に@0[@1
8F新規アイテムタ@7ス@5ウ@_ぬ@0]@1
90新規アイテムズ@5ヴ@_ね@0あ@1
91新規アイテムセ@5エ@_の@0い@1
92新規アイテムゼ@5オ@_は@0う@1
93通過の腕輪ソ@5カ@_ば@0え@1_@6
94値切の腕輪ゾ@5ガ@_ぱ@0お@10@6
95ワナ師の腕輪タ@5キ@_ひ@0か@11@6
96レベル固定の腕輪ギ@_び@0が@12@6
97回復の腕輪ク@_ぴ@0き@13@6
98錆よけの腕輪グ@_ふ@0ぎ@14@6
99会心の腕輪ケ@_ぶ@0く@15@6
9A痛恨の腕輪ゲ@_ぷ@0ぐ@16@6
9B呪いよけの腕輪コ@_へ@0け@17@6
9C遠投の腕輪ゴ@_べ@0げ@18@6
9Dしあわせの腕輪サ@_ぺ@0こ@19@6
9E垂れ流しの腕輪ザ@_ほ@0ご@1+@6
9F透視の腕輪シ@_ぼ@0さ@1-@6
A0混乱よけの腕輪ジ@_ぽ@0ざ@1?@6
A1識別の腕輪ス@_ま@0し@1!@6
A2新規アイテムズ@_み@0じ@1/@6
A3新規アイテムセ@_む@0す@1(@6
A4新規アイテムゼ@_め@0ず@1)@6
A5新規アイテムソ@_も@0せ@1[@6
A6新規アイテムゾ@_や@0ぜ@1]@6
A7新規アイテムタ@_ゆ@0そ@1あ@6
A8新規アイテムよ@0ぞ@1い@6
A9新規アイテムら@0た@1う@6
AA新規アイテムり@0だ@1え@6
AB新規アイテムる@0ち@1お@6
AC新規アイテムれ@0ぢ@1か@6
AD新規アイテムろ@0つ@1が@6
AEおにぎりわ@0づ@1き@6_@3
AF大きいおにぎりを@0て@1ぎ@60@3
B0くさったおにぎりん@0で@1く@61@3
B1巨大なおにぎりっ@0と@1ぐ@62@3
B2特製おにぎりゃ@0ど@1け@63@3
B3新規アイテムゅ@0な@1げ@64@3
B4保存の壺ょ@0に@1こ@65@3
B5やりすごしの壺ぁ@0ぬ@1ご@66@3
B6分裂の壺ぃ@0ね@1さ@67@3
B7強化の壺ぅ@0の@1ざ@68@3
B8識別の壺ぇ@0は@1し@69@3
B9背中の壺ぉ@0ば@1じ@6+@3
BA倉庫の壺ー@0ぱ@1す@6-@3
BB弱化の壺ア@0ひ@1ず@6?@3
BC---(手封じの壺)イ@0び@1せ@6!@3
BD底抜けの壺ウ@0ぴ@1ぜ@6/@3
BE魔物のるつぼヴ@0ふ@1そ@6(@3
BF変化の壺エ@0ぶ@1ぞ@6)@3
C0合成の壺オ@0ぷ@1た@6[@3
C1トドの壺カ@0へ@1だ@6]@3
C2ガイバラの壺ガ@0べ@1ち@6あ@3
C3アホくさい壺キ@0ぺ@1ぢ@6い@3
C4割れない壺ギ@0ほ@1つ@6う@3
C5うっぷんばらしの壺ク@0ぼ@1づ@6え@3
C6新規アイテムグ@0ぽ@1て@6お@3
C7新規アイテムケ@0ま@1で@6か@3
C8新規アイテムゲ@0み@1と@6が@3
C9新規アイテムコ@0む@1ど@6き@3
CA新規アイテムゴ@0め@1な@6ぎ@3
CB新規アイテムサ@0も@1に@6く@3
CC新規アイテムザ@0や@1ぬ@6ぐ@3
CD新規アイテムシ@0ゆ@1ね@6け@3
CE新規アイテムジ@0よ@1の@6げ@3
CF新規アイテムス@0ら@1は@6こ@3
D0新規アイテムズ@0り@1ば@6ご@3
D1新規アイテムセ@0る@1ぱ@6さ@3
D2新規アイテムゼ@0れ@1ひ@6ざ@3
D3新規アイテムソ@0ろ@1び@6し@3
D4新規アイテムゾ@0わ@1ぴ@6じ@3
D5新規アイテムタ@0を@1ふ@6す@3
D6新規アイテムん@1ぶ@6ず@3
D7新規アイテムっ@1ぷ@6せ@3
D8新規アイテムゃ@1へ@6ぜ@3
D9新規アイテムゅ@1べ@6そ@3
DA新規アイテムょ@1ぺ@6ぞ@3
DB新規アイテムぁ@1ほ@6た@3
DC新規アイテムぃ@1ぼ@6だ@3
DD新規アイテムぅ@1ぽ@6ち@3
DE新規アイテムぇ@1ま@6ぢ@3
DF新規アイテムぉ@1み@6つ@3
E0モンスターの肉
E1黄金の羽根ア@1め@6て@3
E2しあわせの箱イ@1も@6で@3
E3奇妙な箱ウ@1や@6と@3
E4新規アイテム目的物ヴ@1ゆ@6ど@3
E5ギタンエ@1よ@6な@3
E6          オ@1ら@6に@3
E7ンドゥバカ@1り@6ぬ@3

SFCシレン解析・解説の2018やり残し

とにかく多いんですよ、できそうだけどできてないこと!

課題をまとめる的な意味でざっくりここにToDoをまとめておきます。(作成されるとは言っていない

・シレニアム問題解説



「できるかどうかも分からない」問題提起として挙げた7つの問題群。

1・フェイの問題での回想バグ発生
2・マムルマークの直接的付与
3・侵入不能領域への侵入
4・任意レベルのモンスター生成
5・任意のイベントフラグ操作
6・任意のフロア移動
7・任意のアドレス改変

こいつらは、twitterで書いた初出時は、ホントに「出来ないだろうこと」だったんですよ…

だから、これが「どうできないのか?」という動画を作って、解析の現状をお伝えして、
もしなにか見つかったら随時報告…と思ってたんですよ。

そしたら、その経緯でいきなりフラグマイニングがたまたま見つかってしまい…

もしかしたらこれだけで2.5.6.7は全て解決される可能性が出てきてしまい…

フォロワーさんの助言で1は概ね解決されてしまい…

解説の順番がめちゃくちゃになってる、ってのが正直なところなんですよね。
マムルマークTASの方法論ももはや8つくらいはありそうだし。

だから、情報の時系列として、本当は丁寧に以下の順番でやりたい。

1:デレニアム問題を解決した不可能
  不可能行動:不可能アイテム:不可能フロア移動:不可能足元
  の、残った解析部分の可能性
  (実際、不可能アイテムと不可能フロア移動は任意コード実行の可能性がある)

2:シレニアム問題それぞれの選定理由と意義、
  解決の可能性について
  (実はもはや全て解決の可能性がある)

3:シレニアム問題解決のほとんど全てに関わるフラグマイニングの応用性範囲と、
  任意コードへの距離

4:1-3のうち、現実的な解決策はどれで、アウトカムとして作られ得るTASは何なのか

5:TAS実演


…やりたい、だけど、こないだ挙げた研究報告第1回の動画って、
いきなり3から始まってるんだよなあ…
かつ、5ができるかはかなり厳しい、というところ…

どこかで区切りつけて1から初める定期シリーズにしたい、というのが理想…

とにかくね、実機再現可能なSFCシレン技術ってまだまだわかってないことばっかりなんですよ!?(学会員目線に限る)

あ、あと、こないだ報告されてたMHのBGMが店内に変わるバグももっと調査したいなあ・・・

【上級者向け】突風フラグを利用したマムルマークTASの改善案(未完成)

とりあえずこれは見てもらいたい



最速でマムルマークを付ける一つの方法論として、
「フェイクリアフラグ+突風を起こす」ということが考えられているのは、
前回のTASの通り



そして今回、アドレス7ED606が書き換えられれば、
直接突風が起こせるかもしれない、ということがわかりました。

これが可能なのか?を考察したのが以下の文章になります。
長い内容になってしまいましたが、
結果だけ言えば「難しすぎて、できるかわからない」ので、
暇な時お読みください。



目標:アドレス7ED606のFFを0x80未満(1,2は除く)にする

 より正確には7ED606の意味:
  上位1bitが0のとき、突風イベントの判定を行う。
  判定は下位bit-1が
  ・1:風が吹きそう    
  ・0:強くなってきた
  ・2以上:突風
 なので、下位bitが0または3以上の時は突風が吹く

 よって通常FFの値を持つ7ED606を03~7F(3~127)に変えることが目標になる。

・異常座標における7ED606

a)キャラコードでは座標(255,255)まで行ってもこのメモリにはたどり着かない。

b)道具・罠コードの場合(39,220)が目標
しかし、道具・罠コードは81以上の時は罠関係を意味するが、
通常、最大でもF0までしかとらないためFFは「異常な罠」になる。
具体的には、罠情報の参照先が異常になり、発動するとフリーズしてしまう。

さて、SFCシレンにおいてバグを使わず「罠を消す」という方法はたった一つしか存在しない。
それは「チキンの爆風による肉化(仕様!)」である。
だから、この座標に頑張ってチキンを置いて、うっぷんばらしの壺を吸い出すなどすれば、
罠が肉に書き換わって、めでたく突風フラグが立つ…

とは、ならない。

なぜなら、この周囲に存在する「矢:」は、爆風などの影響に弱く、
「矢:」の周囲で爆風を起こすとフリーズしてしまう。

じゃあ、周囲8マスの「矢:」を取り除くといいか?というと、それも駄目だ。

なぜなら、7ED606の周囲はかなりデリケートなフラグが固まっていて、
その周囲の「矢:」を取り除くということは、すなわち周囲のフラグを全て空白の80(など)に書き換えることを意味する。
結果としては、フラグを書き換えることで多かれ少なかれフリーズしてしまう

だから、「チキン爆風」によるフラグ書き換えは、どうやっても不可能だ

c)地形コードの場合(39,178)
地形コードは種類がかなり少なく、E0の壁かF0の外壁でないかぎり、
どんな数値が入っていても移動は自由だ。
しかし、人力で地形コードを書き換える方法は、「E0の壁を掘る」場合しか存在しない。
だから、「壁を作る」方法でもない限り、このマスの地形情報を書き換えることはできない。

さらに根本的な問題があって、
実はキャラコードの異常座標アドレスのうち、7EC5A3~7EC639まで、
座標で言うと(4,197)~(26,199)までには、
なんだかわからないが0x17という値が埋まっている。

こいつはとんでもなく曲者で、(4,197)~(26,199)っていうことは
少なくともy=198の行は丸々このキャラコード17が埋まっていることになる。

キャラコード17とは、シレンのキャラコード0x13(20)より大きいため、
ステータスの参照先が異常になる。

具体的にはキャラコード4のステータスの一部を参照しているが、
とにかく13より大きいキャラクターはやたらフリーズする。

だから、安定してこいつを消したり、亡霊武者にして乗り移ったり、ということができない。

端的にいうと、「異常座標は、y<198の領域には行くことができない」ことを意味する。

よって、地形コード(39,178)にたどり着くことはそもそも出来ない。

d)マップ化コードの場合(39,136)
実は街でも、異常座標ではマップ化情報は更新されていて、
見える範囲のマップ化コードが81(外壁かつマップに記載あり)に変わっている。

だから、目的の座標にたどり着ければ書き換えの可能性はあった。
しかし、地形コードと同じく、このy座標へはそもそも到達できない。


だから、普通のやり方でマイニングするだけでは、a)~d)のどれを使っても、
7ED606を書き換えることはできない…

が、一つだけ方法がある。

それは、b)罠・地形コード と、回想バグの組み合わせだ。

「罠を取り除く方法」はもう一つだけあって、それは
回想バグによる「不可能足元」を起こすことだ。

現状は階段や出口の取得でしか使われていないが、これを罠に適用すれば、
理論上はバグ罠であっても取り除けるはずだ。

しかし問題は2つある。

1つは、罠を取り除いて、コードが空白の80になった直後に突風が吹くということ。
不可能足元は「回想内でしか起こせない」という不可避な条件があるので、
つまり7ED606のバグ罠を回想内で取り除くことになってしまう。

そうして回想だけで突風が起きてしまうと、ロード時に仕様上倒れた扱いになってしまい、
クリア扱いになることができない。

しかし、これはまだ現実的な解決策がある。

それは、「回想内では一旦、バグ罠と道具番号01(または02)を入れ替える」という方法だ。

こうすれば、ロード時足元にあるのは書き換え可能な道具になり、突風も吹かないので、
これを改めて取り除いてから別の道具を置けば突風が吹くはずだ。
だからこれはなんとかなる。


問題は2つ目で、「そもそも異常座標と回想バグの組み合わせは可能か?」という本質的な壁だ。

すくなくとも、「通常の座標で回想バグを起こして、回想でだけ異常座標に飛ぶ」はうまくいかない。

なぜなら、異常座標ではy軸方向に相当進む必要があるので、
α世界線(プレイ中)ではすぐに壁にぶつかってしまい、更に上に進むことができなくなる。

だから、「異常座標で回想バグを起こし、かつ座標をずらした上で、β世界線でだけ目的の座標に行き着く
という方法を取らざるを得ない。

しかし、どうやら異常座標のメモリの一部(y=230あたり)は、
画面描画時に一時的に使われる領域が存在するらしく、
具体的にはシレンが移動するごと、道具欄を開くごと、などで
値が激しく変化する

α世界線だけで見る分には、仮に隣のメモリが更新されたとしても
改めて亡霊武者の肉を投げるとか進む方向を迂回するとかすれば済む。

しかし、回想中、しかも座標がずれた状態も矛盾なく制御して、
かつ回想での座標を目的の位置に調整する、ということは生半可には行かない。

なぜなら、回想バグの座標そのものと同じように、
β世界線の情報はツールを使ってさえも直接知ることはできないからだ。

言い換えると、「ロード後のメモリ状態」は、
「セーブデータを元にシレンのプログラムを走らせた結果」であるため、
ロードするまでわからない。

これはSFCシレン本質的な問題であって、例えばこれを「ツールで予測する」
とは、「SFCシレンのプログラムそのものを作る」と同義になってしまう。


…とはいえ、原理的に「不可能」ではない。

道具欄描画を最低限に抑え、毎ターンβ世界線を確認しながら、
α世界線でもβ世界線でもフリーズしないよう目標の座標に向かい、
足元のバグ罠と道具番号01を入れ替え、
ロードした後道具を更に入れ替え突風を起こし…

とすれば、時間としてはマムルマークTASはずいぶん早くなる…はずだ。



はずだが…


うーん…

店のBGMが流れるバグの理由(仮)

twitterで教えていただいたんですがこれ



について、それなりに納得がいく理由を考えてみたのでまとめます。

(追記)
 色々書いたんですが、以下多分間違ってます。店のbitは5bit目じゃなくて6bit目ってことと、
 そもそも、店判定された部屋にはシレンが配置されないので、
 もし「大部屋の店」になった場合はフリーズするはずです(チートで実験しました)
 ので、…すみません、要はよくわかりません。
 BGM判定のところで何かが起こっているのは確かなんですが

(以下たぶん間違い)

・まず、フロアの構造が作られる度、部屋ごとに番号が付けられる(部屋番号)
・部屋番号ごとに、「暗闇」とか「モンスターハウス」とかの性質が設定されるが、
 それを記録するメモリがあって、1部屋あたり1バイト=8ビット記録されている
・その1~8ビットはそれぞれ意味を持っていて、例えば1ビット目は「暗闇」、2ビット目が「隠し部屋」、といった具合で8種類ある。
 (この辺り詳しくはhttps://oyasen.exblog.jp/12155313/
・それとは別に、
 「階段を降りて1ターンで次の階段に降りたときは、そのフロアの状況が保存されない」
 という現象がある
 (一歩で階段降りたらスララが付いてこれないのと同じ理屈)

と、ここまでは解析されている事実。で、以下が推測。

・上の動画では、「暗闇+モンスターハウス」の状況から、一歩で階段を降りている
・暗闇+モンスターハウスは、部屋の性質のbitで言うと1bit目+4bit目=00001001
・恐らく、一歩で階段を降りたため、このbitが残ったまま次のフロアに進んでしまった
・更に、次のフロアの同じ部屋番号が、たまたま、またモンスターハウスだったため、
 4bit目がもう一度加算され、5bit目が1になってしまった
・5bit目は「店」を意味する
・その結果、「性質が店ならbgmを店のものにする」という処理だけが呼ばれた

ただこの理屈だと4bit目が0になってしまうので、
「どろぼうハウスだ!」のメッセージが表示されるのはおかしいことになります。

なので、もう少し何か足りない理屈があるか、全然見当はずれかどっちかですが…

ま、多分
降りたらMHで、1歩以内に階段があり、1ターンで降りたらまたMHで、
 かつそれぞれの部屋番号が同じ
という条件が一番ありえそうかな、と思います。

少なくとも、BGM番号で言うと
店:000E
通常モンハウ:0022
特殊モンハウ:0023
http://oyasen20.tripod.com/sound.html
なので、BGM番号の読み違えってのは無いような気がします。

ちなみに上記条件が正しいとして、ごくごく雑な推定で言うと、

・MH出現率を約1/16(http://oyasen20.tripod.com/monsterhouse.html
・フロアの部屋数を平均8くらい、サイズを大体平均6×4くらい(ここは体感、参考https://oyasen.exblog.jp/12605511/
と仮定すればこの確率が計算できます。

ある階でMHを引く=1/16
その最初のマスの一歩以内に階段がある=9/(8×4×6)
更に次の階がMHで、部屋番号が同じ=1/16×1/8

これが全て満たされる確率はそれぞれの積になるので
ざっくり1/14000くらいです。

うーん、まだ高いかな…


フラグマイニングQ&A(12/13、Q21追記)

Q1:・1マスに重ねる方法あったけどあれどうなってるんだ
  ・シレンとモンスターが重なる状況ができることがあるんだが
   あれはどういう情報になってるんだろう・・・
   (他数件)

A1:今回はマス情報からしか説明しませんでしたが、
 実はキャラクターの座標はマス情報とキャラクター情報の両方に保存されているんです。
  例:マス(10,20)にキャラクタ-10がいる→マス側情報
    キャラクター10はマムルで、(10,20)に存在する→キャラクター情報の一部
 普通この二つは一致するはずですが、
 何かで齟齬が合った場合、かつずれたマスの先に別のキャラクタがいる場合に、
 重なるっていう状況が生まれるんだと思います。

 逆を言うと、マス情報だけでは、
 一つのメモリが複数のキャラデータを持つことは物理的にありえません。

 完全無敵シレン(魔蝕虫とシレンの初期座標が一致する)みたいなときは、
 多分一時的にマス情報からシレンの19が消えてるんじゃないでしょうか。


Q2:(食神クリアフラグ)0じゃないだけでいいのか…特定の番号を用意するでもなく

A2
:そうなのですが、実はTMのクリアフラグは128じゃ駄目でした。
 TMは初回クリアとそうでないときでEDに飛ぶかが変わるので、
 それを区別するために1か2かを見ており、他の数字ではフラグが立たないみたいです。

 他のコメントでもあったとおり、特定番号の方がコードサイズが増えるみたいなので、
 128でもクリア(扱い)できたっていうのは
 開発スタッフの突き詰めたコードサイズ節約のおかげ…と言えそうです。


Q3:(ぼうれいジロキチ)本体も幻影も全部一斉にぼうれい武者になるということ?

A3
:ばっちりその通りです。むしろ、特定の幻影だけを変える、ということは出来ません。
 同じキャラ番号のキャラクターは全て同様のパラメーターを参照しています。
 ただし、本体をやっつけたとしても幻影は「HP0の状態で生存」して残っています。
 マス情報が更新されないのでそうなるわけですね。

 幻影の挙動は多分下の動画の状況に近いと考えています。
 
 この動画のおかげで幻影の挙動がイメージしやすかったです。
 どんなものでも役に立つことがあるものですね。 

 なお、「矢:」で遊んだことある方は体験したことがあるかもしれませんが、
 複数の「矢:」はすべて道具番号が同一であり、
 新しく別のアイテムが生成されたとき、全てその同じアイテムに変わる、
 ということがあります。
 これも道具番号が同じなら同じパラメーターを参照する、ということの例ですね。


Q4:もしかしてモンスターに変えることで変わる変数でできることもあるんじゃ?

A4:微妙なところです。今回メモリの書き換えに利用しているのは、
 あくまで「マス情報」なわけですが、
 マスに直接関係するキャラクター情報は「キャラクター番号」のみです。
 なので、その番号のキャラの中身(キャラコードとか見た目とかHPとか)は、
 あまり関係ないかもしれません。


Q5:やろうと思えば両方のフラグを掘れる?

A5:ガンガン掘れます。むしろ掘りすぎるとまずいです。
  マイニングの手順上、特定のフラグ1点だけを掘るってことは難しい
  (そこに至る経路も掘らなきゃいけない)
  ので、例えば迂闊に左右のマスも掘ってしまうと、
  複数ダンジョンのクリアフラグが同時に成立してしまい、
  恐らくTM>食神>掛軸>フェイの優先度でどれか一つの番付しか起こらなくなります。
  番付表示後はこれらのフラグはリセットされてしまうので、
  連続していくつもの番付を起こす、ということはできそうにありません。


Q6:(宿場の戻り方)
  ・その辺で適当に死んで番付じゃさすがに無理か
  ・しあわせの箱とかだとだめなのかな
  (他同様複数)

A6
:それは駄目でした。あと黄金の羽根等もそっちにフラグが上書きされてしまいます。
  ただ突風は良いみたいです。
  時間をこだわらなければそれでマムルマークが付けられました。
  


Q7:(背景コードの性質調査)その調査した学会員誰だよ

A7:わ た し で す

  いや、他にも誰かしら似たような調査や解析はされてると思いますけどね。


Q8:(背景コード35)これただ階数が0から開始する値で記録されてるだけじゃね?
  到達度見てみ?+20値はフラグ付与ビット的なもんかと

A8:非常に鋭い洞察なのですが、これは動画では説明しなかった2つの面から見て違いそうなのです。
  確かに、「原則」階数が1増えると背景コードが1増える、ということは正しいです。

  しかし、ひとつは、こばみ谷においてはシャッフルダンジョンとランダムダンジョンは
  それぞれ別のダンジョンカテゴリであり、
  カテゴリ毎に背景コードを1から数え直しているようなのです。
  
  具体的には、
  ネブリ山廃鉱8F(最初のランダムダンジョン)の背景コードは
  7でも8でもなく「1」になっています。
  なお、渓谷の宿場(最初のシャッフルダンジョン扱い)も同じく「1」です。

  15Fの背景コードが階層に近い14って値なのは恐らくたまたまで、
  15Fまでのシャッフルダンジョン+街の数がちょうど14個くらいになっているのです。

  またもうひとつ、これ10進数表記なので、+20の差ってのは16進数で+14hの差となり、
  bit的に不自然ということです。


Q9
:フェイ99Fの背景コードを探したいってこと?

A9:ちょっと違います。というか、普通に行けるダンジョンや階層の背景コードは、
  ツールでメモリウォッチすればすぐにわかるので、それほど難しくありません。
  (ほかのフロアに移植したときどうなるか、を調べるのは大変ですが)

  動画の結論として早口で言っていた部分は、
   「ありえない背景コード」だとソフトが異常な挙動をするだろう、
   その挙動はもしかしたら任意コードとかに繋がり得るんじゃないか?
  ということを言っています。

  背景コードが特定の命令へのジャンプを意味し、
  かつ異常な背景コードのジャンプ先が手動で書き換えられる範囲にあれば、
  理論上は可能…なはずです。

  FF6のメニューカラー変更とかのイメージですね。


Q10:湿原16Fの背景コードと同じように、
   最終問題99Fの背景コードを設定すればクリアできるってこと?

A10:そうみたいです。実際試してみた方がおられるようなのですが、
   99Fの背景コード99(63h)を立てて宿場を出ると、
   (なんやかんやあって)マムルマークがつけられるらしいです。

ーーーーーーーーーーーーーーーー
ここから12/12
ーーーーーーーーーーーーーーーー
Q11:(64,0)って(0,1)のことじゃないの?

A11:違うんです。もし厳密にプログラム内のすべての場所で、
   x座標を「メモリを64で割ったあまり」とし、
   64以上のxはy座標へ繰り上げさせる、という操作が行われていればそうなります。
   そして、確かにそうすれば厳密に(63,41)のルールは守れるのですが、
   プログラムのいたる所でこの演算を呼ぶよりも、
   超えられない壁をその位置に設定する方がシンプルだった、ということなのでしょう。
   まあ超えたんですけど。


Q12:日本FF6学会と協力しよう(提案)

A12:しっ、あっちは忙しいからじゃましちゃいけませんっ
   ていうか新しいバグ見つけては記録更新やり直すとかちょっと常人じゃないですよね。
   あーこわいこわい

Q13:どうせすぐDAIGOSANとか出るんだろ

A13:まーさかどこかの学会じゃないんですからそんなことは
   ところで、いまマムルマークTASルート案は7つほど出てきたようです

Q14:フェイ99階の背景コード入れたらなんとかなるってこと?

A14:半分正解ですが半分違います。
   どうも、背景コードは「背景コードとダンジョンカテゴリAの値の組み合わせ」
   で意味が生じるらしいです。
   実際、フェイ35Fの背景コードは35で、瀑布湿原と背景コードは同じですが、
   ご存知の通りこれを降りたらTMに…ということはありません。
   だから、ダンジョンカテゴリを求める値に書き換えることも必要そうです。

Q15:じゃあ宿場の横に黄金都市もできるんすね

A15:これは比較的簡単です。
   なぜなら、黄金都市のダンジョンカテゴリAは
   渓谷の宿場と同じ値(こばみ谷シャッフルダンジョン)だからです。


Q16:フラグマイニングの様子って回想じゃ見られない?

A16:まあまあ見れるのですが、たまにロードがミスるケースがあって、
   異常座標での行動が確実に保存されるかどうかはまだよくわかってません。
   マイニングの結果によっては、開始時の状況に影響を与えることもあるので
   (例えば地形改変)
   むしろ「回想させないバグ」を起こすことはできそうな気がします。


Q17:任意コード実行するとしてその命令に対応するであろう入力に
   対応するシレンの行動?ってどれくらいあるんだ

A17:とっても良い質問です。
   行動コード領域を任意コードの場とした場合では、
   お察しの通り通常の行動で入力できるコードは非常に限られます。
   ただし、「名付け」を利用すれば、文字コードの範囲を行動コードに埋め込むことができるので、
   可能なコードはかなり広がります。
   いわゆる「任意行動実行」ですね。

Q18
:無になにか入れた場合とかってどうなるんだろう?余裕で試しているとは思うが…

A18
:試したことないです。ただ多分、ですが…
   「壺の中身」は、リストではなく、
   すべての道具について「壺内の次の道具がどれかを示すパラメータ」
   を持つことで表現されています。
   例えば壺Pに対して[ABC]というアイテムが入っている、
   という状況は
   P[A] A[B] B[C] C[0]
   と表現されます。
   つまり、無にアイテムを入れた場合、まだ定義されていないアイテム番号00
   (ここでは矢とします)に対して、このパラメータを埋めることになるので、
   無にXを入れた場合は
   矢[X]となるはずです。
   しかし、これは壺でなく矢なので、中のアイテムを見る方法はありません。

   結果として、アイテムXは表面上消滅することになると思います。
   しかし、壺Pに矢[X]を入れた場合は、
   Pにアイテムがいきなり二つ現れる=P[矢X]という不思議現象が起きます。

   これは何も無に限らず任意のアイテムに一般化でき、
   例えばコードずらしによって剣[草]、肉[剣]などとしてから、
   壺Pに肉を入れると、一度でP[肉剣草] と埋まるはずです。

   書いてて思ったんですけど、これで容量超えたらどうなるんでしょうね。
   誰かやってみてください(懇願)

Q19:0回目マムルは技術的に可能なのですか?

A19
:実に刺激的な概念です。これはもしかしたらできるかもしれません。
   なぜならイベントフラグ領域には冒険回数を表すメモリがあるからです。
   参考
   しかし、この数値はセーブデータ領域のメモリからコピーされているらしく、
   プレイ内でのイベント領域の値を書き換えてセーブデータ側に反映されるかは不明です。
   反映されるなら可能でしょう。ちょっと望み薄ですが。

Q20:湿原の地形データ紹介してましたが、
   他の階層の地形データってどこかで見れますか?加算とフラグ処理に法則性あったりするのか見てみたい

A20こちらをご覧ください。


Q21:ターン経過数の書き換えとか、突風フラグを呼び出せたりしないの?
   イベント処理でしょあれも

A21
:突風はイベントとしてはやや特殊な手段で呼び出されていて、
   イベントフラグは使われていないんです。
   また、このゲームはなんとターン数は計測・保存されていません。
   飽くまでもシレンの行動データだけが記録されています。

   この行動データのメモリが一定値を超えた時に突風が吹くわけですが、
   行動データそのものも、データの末端アドレスを保存している2バイトのメモリも、
   フラグマイニングで触れるRAM部分ではなくセーブデータ側に存在しているので、
   今の所そこを直接書き換えることはできていません。