Tactics Ogre - Let Us Cling Together

Tactics Ogre Memory Map

Offset Description *m
0059 BGM
0091 戦闘ユニットID
055D ブルーチームコントローラ1
055E レッドチームコントローラ1
055F ブルーチームコントローラ2
0560 レッドチームコントローラ2
05BF 攻撃処理の種類 4:魔法 6
~~~~ ~ ~
0603 8bit
0604 8bit
0643 8bit
0644 8bit
0683 8bit
0684 8bit
06C3 8bit
06C4 8bit
0703 敵味方別ユニットカラー 8bit
0704 ユニットグラ更新用グラフィック表示OFFフラグ? 8bit
0743 8bit
0743 8bit
0744 8bit
0783 8bit
0783 8bit
0784 8bit
07C3 8bit
~~~~ ~ ~
0803 16bit
~~~~ ~ ~
0843 8bit
0844 8bit
0883 8bit
0884 8bit
08C3 8bit
08C4 8bit
0903 8bit
0904 8bit
~~~~ ~ ~
0943 16bit
0983 16bit
~~~~ ~ ~
0A03 8bit
0A04 キャラx座標 8bit
0A43 8bit
0A44 キャラy座標 8bit
0A83 8bit
0A84 キャラ高さ(0.5区切り) 8bit
0AC3 8bit
0AC4 8bit
0B03 8bit
0B04 8bit
0B43 8bit
0B44 8bit
0B83 8bit
0B84 8bit
0BC3 8bit
0BC4 8bit
~~~~ ~ ~
0C03 16bit
~~~~ ~ ~
0C43 ステータス画面上敵味方別ユニットカラー 8bit
0C44 8bit
~~~~ ~ ~
16BC 現在位置
16BE マップID1
16C0 マップID2
16C2 死者の宮殿階数
16C4 実マップID
16C5
16C6
16C8 マップx座標の範囲
16CA マップy座標の範囲
16CC 最大ster?
16D6
16EC 選択パネルの範囲2ずつ
16F2
1789 エフェクト番号/埋もれた財宝
178A
178C エフェクト回数?(効果4、範囲8)
178E エフェクト詳細
1790 2A12Aの値
1791 (29F13h)/16 AND 0Fh
1792
17A0 追加効果ID
17A1
17A8
17AC
17AE キャラ(戦闘画面)
17AF クラス(戦闘画面)
17D6 アラインメント(戦闘画面)
17D7 エレメント(戦闘画面)
17FE Lv(戦闘画面)
17FF 取得済Exp(戦闘画面)
1826 Hp(戦闘画面)
184E MHp(戦闘画面)
1876 Mp(戦闘画面)
189E MMp(戦闘画面)
18C6 Str(戦闘画面)
18EE Int(戦闘画面)
1916 Agi(戦闘画面)
193E Dex(戦闘画面)
1966 Vit(戦闘画面)
198E Mem(戦闘画面)
19B6 Luk(戦闘画面)
19B7 忠誠度(戦闘画面)
19DE キャラ状態*3
19DF キャラ状態2?*3
1A06 獲得Exp(戦闘画面)
1A07
1A2E 敵味方(戦闘画面)
1A2F キャラ番号(戦闘画面)
1A56 所属ユニオン(戦闘画面)
1A57 所属民族(戦闘画面)
1A7E 左上の装備 (戦闘画面)
1A7F 右上の装備 (戦闘画面)
1AA6 左下の装備 (戦闘画面)
1AA7 右下の装備 (戦闘画面)
1ACE 1番目の魔法・SP (戦闘画面)
1ACF 2番目の魔法・SP (戦闘画面)
1AF6 3番目の魔法・SP (戦闘画面)
1AF7 4番目の魔法・SP (戦闘画面)
1B1E 左上装備アイテムの状態
1B1F 右上装備アイテムの状態
1B46 左下装備アイテムの状態
1B47 右下装備アイテムの状態
1B6E キャラの向き
1B6F
~~~~ ~ ~
1B96 残りWT 16bit
1BBE 16bit
1BE6 16bit
1C0E 16bit
1C36 16bit
1C5E 16bit
1C86 16bit
1CAE 16bit
~~~~ ~ ~
1CD6 キャラx座標 8bit
1CD7 キャラy座標 8bit
~~~~ ~ ~
1CFE 行動ポイント 16bit
~~~~ ~ ~
1D26 作戦*2 8bit
1D27 作戦対象キャラ 8bit
1D4E 殺害人数 8bit
1D76 8bit
1D77 8bit
~~~~ ~ ~
1D9E 16bit
~~~~ ~ ~
1DC6 キャラ高さ(1区切り) 8bit
1DC7 移動タイプ 8bit
1DEE 移動力 8bit
1DEF 425ADに対応 8bit
1E17 8bit
~~~~ ~ ~
1E3E 座標データにおける戦闘ユニットID? 16bit
~~~~ ~ ~
1E66 クラス(汎用) 8bit
1E67 エレメント(汎用) 8bit
1E68 Lv(汎用) 8bit
1E69 取得済Exp(汎用) 8bit
1E6A Hp(汎用) 8bit
1E6C MHp(汎用) 8bit
1E6E Mp(汎用) 8bit
1E70 MMp(汎用) 8bit
1E72 Str(汎用) 8bit
1E7A Vit(汎用) 8bit
1E74 Int(汎用) 8bit
1E7C Men(汎用) 8bit
1E76 Agi(汎用) 8bit
1E78 Dex(汎用) 8bit
1E7E Luk(汎用) 8bit
1E7F アラインメント(汎用) 8bit
1E83 左上装備(汎用) 8bit
1E84 右上装備(汎用) 8bit
1E85 左下装備(汎用) 8bit
1E86 右下装備(汎用) 8bit
1E87 1番目魔法・SP(汎用) 8bit
1E88 2番目魔法・SP(汎用) 8bit
1E89 3番目魔法・SP(汎用) 8bit
1E8A 4番目魔法・SP(汎用) 8bit
1E8F 所属ユニオン(汎用) 8bit
1E90 所属民族(汎用) 8bit
1E9D 忠誠度(汎用) 8bit
1E9F キャラ(汎用) 8bit
1EA1 天気? 8bit
1EA2 天気 8bit
1EA3 8bit
1EE7 8bit
1EF0 使用武器・スペシャルID 8bit
~~~~ ~
7E2000
7E4000
7E31FB 雇用ユニットのクラス
7E3203 雇用ユニットの紹介料
7E3B38 両手アイテム装備フラグ
7E3B39 片手アイテム装備フラグ
7E3B3A 指輪装備フラグ
7E3B3B 兜装備フラグ
7E3B3C 首輪装備フラグ
7E3B3D 鎧装備フラグ
7E3B3E 靴装備フラグ
7E40A7 戦闘会話の名前(最初はFFFF)
7E40B7 戦闘会話の始め(「)
7EB2A4 効果?
7EB2AC キャラ(編成画面)
7EB2AD クラス(編成画面)
7EB2F2 アラインメント(編成画面)
7EB2F3 エレメント(編成画面)
7EB338 Lv(編成画面)
7EB339 取得済Exp(編成画面)
7EB37E Hp(編成画面)
7EB3C4 MHp(編成画面)
7EB40A Mp(編成画面)
7EB450 MMp(編成画面)
7EB496 Str(編成画面)
7EB4DC Vit(編成画面)
7EB522 Int(編成画面)
7EB568 Men(編成画面)
7EB5AE Agi(編成画面)
7EB5F4 Dex(編成画面)
7EB63A Luk(編成画面)
7EB63B 忠誠度(編成画面)
7EB680 所属ユニオン(編成画面)
7EB681 所属民族(編成画面)
7EB6C6 左上の装備(編成画面)
7EB6C7 右上の装備(編成画面)
7EB70C 左下の装備(編成画面)
7EB70D 右下の装備(編成画面)
7EB752 1番目魔法・SP(編成画面)
7EB752 2番目魔法・SP(編成画面)
7EB798 3番目魔法・SP(編成画面)
7EB798 4番目魔法・SP(編成画面)
7EBA77 スナップドラゴン剣名前の定義
7EBAAA 戦闘時の敵の名前
7EBB54 ユニオン名
7EBB65
7EBD86 年月日
7EBD89 トレーニングや戦闘の区別
7EBD8A 軍資金
7EBD92 戦死者数
7EBD94 スナップドラゴン剣属性
7EBD95 スナップドラゴン剣WT
7EBD96 スナップドラゴン剣Str
7EBD98 スナップドラゴン剣Int
7EBD9A スナップドラゴン剣Agi
7EBD9C スナップドラゴン剣Dex
7EBD9E スナップドラゴン剣Vit
7EBDA0 スナップドラゴン剣Men
7EBDA2 スナップドラゴン剣Luc
7EBDA3 スナップドラゴン剣攻撃効果
7EBDC4-7EBE43 マップビット
7EBE4C
7EBE4E キャラ
7EBE4F クラス
7EBE76 戦闘ID
7EBE80
7ED2DF 使用アイテム・スペシャルID
7ED2E0 戦闘中の行動
7ED35F MISSフラグ
7ED360 ノックバックフラグ
7ED3DF 指定パネルの位置,マップ座標用[2]
7ED3E1 攻撃効果[2]*1
7ED3E5 追加効果[2]*1
7EF3DF 物理攻撃予想ダメージ
7EF3E0 魔法攻撃予想ダメージ
7EF3E1 攻撃予想命中率
7EF3E3 反撃予想ダメージ
7EF3E5 反撃予想命中率
7EFBCF-7EFBEE
7EFC79 主人公誕生月
7EFC9F 主人公誕生日
7EFCAC カオスフレーム
7F8000
7F9800
7FB000
7FC800 ster
7FCC00 地形
7FD000 2/4パネルグラフィック
7FD400 パネルグラフィック
7FD800 カーソルの高さ
7FDC00 キャラの位置
7FE000 画面に関して1
7FEC00 画面に関して2
7FF800

*1 効果は4ずつ離れてる.内容的に魔法・SPの効果と同じ

Value Description
0000 (なし)
0004 (処理停止)
0008 MP追加ダメージ
000C HP追加ダメージ
0010 HP回復? 00に値
0014 MP追加ダメージ
0018 死亡
001C ?
0020 石化
0024 毒
0028 麻痺
002C 睡眠
0030 魅了
0034 石化回復
0038 毒回復
003C 麻痺回復
0040 睡眠回復
0044 魅了回復
0048 WT0
004C クイック
0050 スロウ
0054 ストップ
0058 パワーダウン
005C パワーアップ
0060 ?
0064 ?
0068 ?
006C ?
0070 ?
0074 ?
0078 ノックバック
007C ?
0080 ?
00C0 miss
00C4 HP追加ダメージ
00CC 死亡
00E0 ガード
00E4 LvUP
00E8 HP追加ダメージ
00EC ?
00F0 麻痺回復
00F4(48) より↑危険

*2

Value Description
00 マニュアル
01 突撃
02 攻撃援護
03 回復援護
04 避難
05 トレジャー拾得
06 待機
07 何もしない
11 鬼神のごとく戦え
12 友の影となれ
13 冥き生命を救え
14 我が魂を惜しめ
15 虎児を得よ

*3

19DE

Value Description
01 復活
02 石化
04 スタン
08 睡眠
10 毒
20 スロウ
40 クイック
80 ストップ

19DF

Value Description
01 チャーム
02
04
08
10
20
40 透明
80 ダメージモーション

Unknown RAM

Cルートを最初から通しでクリアするまでプレイして変化が何も無かったRAMのリストです。 さらにプログラム領域の逆汗結果からGrep検索して出てきたRAMアドレスを差し引いています。 プレイしている間使われなかっただけかもしれないので、使えるかどうか不明。 7E2000以降はどうたっかは自分でも不明。


008C	おまけパッチ2で使用
008D	TO_EXで使用
00D0
00D1
00D2
00D3
00D4
00D5
00EE
00EF
00F0
00F1
00F2
0553
0554
0555
0556
0557
0558
05CD
05CE
05CF
05D0
05D1
05D2
05D3
05D4
05D5
05D6
05D7
05D8
05F2
05F3
07C4
07C6
07C8
07CA
07CC
07CE
07D0
07D2
07D4
07D6
07D8
07DA
07DC
07DE
07E0
07E2
07E4
07E6
07E8
07EA
07EC
07EE
07F0
07F2
07F4
07F6
07F8
07FA
07FC
07FE
0802
/*
0CB7	ここからは使わない方が無難
0CB8	一時的なデータ保存に使うなら良いかも
0CB9
0CBA
0CBB
0CBC
0CBD
0CBF
0CC0
0CC1
0CC2
0CF7
0CF8
0CF9
0CFA
0CFB
0CFC
0CFD
0CFE
0CFF
0D00
0D01
0D02
0D3B
0D3C
0D3D
0D3E
0D3F
0D40
0D41
0D42
0D77
0D78
0D79
0D7A
0D7B
0D7C
0D7D
0D7E
0D7F
0D80
0D81
0D82
0DB7
0DB8
0DB9
0DBA
0DBB
0DBC
0DBD
0DBE
0DBF
0DC0
0DC1
0DC2
0DF7
0DF8
0DF9
0DFA
0DFB
0DFC
0DFD
0DFE
0DFF
0E01
0E37
0E38
0E3B
0E3C
0E3F
0E40
0EB5
0EB6
0EB7
0EB8
0EB9
0EBA
0EBB
0EBC
0EBD
0EBE
0EBF
0EC0
0EC1
0EC2
0EC3
0EC4
0F31
0F32
0F33
0F34
0F35
0F36
0F37
0F38
0F39
0F3A
0F3B
0F3C
0F3D
0F3E
0F3F
0F40
0F41
0F43
0F44
0F45
0F46
0F47
0F48
0FFB
0FFC
0FFD
0FFE
0FFF
1001
1002
1003
1004
1005
1006
1007
1008
10C7
116F
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
117A
117B
117C
117D
117E
117F
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
118B
118F
1191
1193
1195
1197
1199
119B
119D
119F
11A1
11A3
11A5
11A7
11A9
11AB
11AD
11AF
11B1
11B3
11B5
11B7
11B9
11BB
11BD
11BF
11C1
11C3
11C5
11C7
11CC
11CD
11D8
11D9
11DA
11DB
11DC
11DD
11DE
11DF
11E0
11E1
11E2
11E3
11E4
11E5
11E6
11E7
11E8
11E9
11EA
11EB
11EC
11ED
11EE
11EF
11F8
11F9
1200
1202
120E
120F	ここまで
*/
124A
16EE
16EF
16F0
16F1
1763
176C
177E
1787
1788
1D4F	TO_EXで使用
1D51	TO_EXで使用
1D53	TO_EXで使用
1D55	TO_EXで使用
1D57	TO_EXで使用
1D59	TO_EXで使用
1D5B	TO_EXで使用
1D5D	TO_EXで使用
1D5F	TO_EXで使用
1D61	TO_EXで使用
1D63	TO_EXで使用
1D65	TO_EXで使用
1D67	TO_EXで使用
1D69	TO_EXで使用
1D6B	TO_EXで使用
1D6D	TO_EXで使用
1D6F	TO_EXで使用
1D71	TO_EXで使用
1D73	TO_EXで使用
1D75	TO_EXで使用
/*
1EB0	この辺りも使わない方が良いかも
1EB1
1EB2
1EB3
1EB4
1EB5
1EB6
1EB7
1EB8
1EB9
1EBA
1EBB
1EBC
1EC0
1EC1
1EC2
1EC3
1EC4
1EC5
1EC6
1EC7
1EC8
1EC9
1ECA
1ECB
1ECC
1ECD
1ECE
1ECF
1ED1
1ED2
1ED3
1ED4
1ED5
1ED6
1ED7
1ED8
1ED9
1EDA
1EDB
1EDC
1EDD
1EDE
1EDF
1EE0
1EE1
1EE2
1EE3
1EE4
1EE5
1EED
1EEE
1EEF
1EF4
1EF5
1EFA
1EFB
1EFC
	この辺りからスタック領域
	スタックポインタの範囲内にあるデータを触らなければ大丈夫?

ROM Map

Offset Description
0038D-0038E 天候変化カウント戦闘開始時(Defaultは1000WT)
0D6EB ?
0D6ED ?
0EB96 顔グラフィック
1034D-1034E 毒カウント初期値(毒状態になった直後、Defaultは200)
10388~10389 睡眠状態の効果時間
10471~10472 クイックムーブの効果時間
104AC~104AD スロウムーブの効果時間
104F3~104F4 ドミニオンの効果時間
2DC0C~2DC0D ヒート&メルトウェポン効果時間
151EB クラスチェンジ画面グラフィック
19D60-19D64 弓の放物線の射出角度?
20715 ?
2263F 22953対応 (((2263Fh) - A953) / 2 + キャラの向き / 2 + 2 ) * 2 で変動 (4 バイトずつ)
22641 ユニットグラフィック (4バイトずつ)
22642 ユニットパレットかもしれない?
22883-22952 対応
22953-22B6D 対応アドレス
22B6E ?
244E7 1EE7対応
244EB 1EE7対応
267F3 ?
28E75 ?
29093 ?
2909D 249AC9対応
29526 ?
29F13 1789/2対応
29F7E エフェクト表示方法
2A054 エフェクト表示回数?
2A12A ?
2A700 ?
2BD85 ?
306C2 16BE*2/
306F2 16BE*2/
30722 ?
32546 範囲パネル数[3]
32560 範囲パネルの位置
334BB 天候/魔法・SPのRa天候補正1?
334C0 天候/魔法・SPのRa天候補正2?
40C32 魔法・SP/範囲の有無
40CC8 魔法・SP/効果
40D5E 魔法・SP/追加効果1
40DF4 魔法・SP/追加効果2
40E8A 魔法・SP/敵味方やアンデッド判定
40F20 魔法・SP/敵味方やアンデッド判定2?
40FB6 魔法・SP/HIT率算出方法
4104C 魔法・SP/追加効果1のHit率算出方法
410E2 魔法・SP/追加効果2のHit率算出方法
41178 魔法・SP/効果値計算方式
4120E 魔法・SP/追加効果値1計算方式
412A4 魔法・SP/追加効果値2計算方式
4133A 魔法・SP/攻撃魔法SPの属性
413D0 魔法・SP/追加効果1の対象変化
41466 魔法・SP/追加効果2の対象変化
414FC 41628対応アドレス
41628 魔法・SP/攻撃力のRaRd補正
4174E 41878対応アドレス
41878 魔法・SP/命中率RaRd補正?
4194E 41A70対応アドレス
41A70 ?
41B07 成仏スペシャルに関わる何か?(ここで成仏と消滅を分類してる希ガス)
41B9D 魔法・SP/敵リーダーに対する効果の有無
41C33 魔法・SP/殺害数カウントする攻撃効果
41C6E EL/アイテムEL補正
41C87 AL/アイテム聖闇補正
41C8D AL/天候補正
41CAB ?
425C9 $B0 (選択ユニットの状態, 03が自軍) / 225F2F 以降にあるパレットデータのどれがどの状態であるか
4245F ?
425E5 ?
42665 クラス/2 /多分獣とか竜の判定
426E5 クラス/特技修得レベル 1バイト目にスペシャルID、2バイト目に修得レベル
42702 クラス/基本キャラグラフィック
427F2 クラス/ユニットのパレット
428F2 クラス/種族?
429E2 クラス/固有キャラID
42AD2 クラス/初期クラス 凡用クラスは変えない方がいいかも
42BC2 クラス/エレメント
42CB0 クラス/アラインメント
42D9E クラス(bit)/Lサイズユニットグラフィックフラグ
42DBE クラス/所持できる魔法の数
42EAD クラス/初期Lv
42F9B クラス/初期HP 2バイト
430BB クラス/HP成長率
4314B クラス/初期MP 2バイト
4326B クラス/MP成長率
432FB クラス/初期STR
4338B クラス/STR成長率
4341B クラス/初期VIT
434AB クラス/VIT成長率
4353B クラス/初期INT
435CB クラス/INT成長率
4365B クラス/初期MEN
436EB クラス/MEN成長率
4377B クラス/初期AGI
4380B クラス/AGI成長率
4389B クラス/初期DEX
4392B クラス/DEX成長率
439BB クラス/初期LUK
43A4B クラス/WT
43ADC クラス/物理耐性
43B6E クラス/風耐性
43BFF クラス/地耐性
43C90 クラス/火耐性
43D21 クラス/水耐性
43DB2 クラス/聖耐性
43E43 クラス/闇耐性
43ED3 ?
43EF4 クラス/ダブルアタック可不可
43FE3 クラス/得意武器
440D3 クラス/ユニット定義??
441C2 クラス/投射タイプ 01 投石 02 手裏剣 03 指弾
442B1 クラス/使用可能魔法タイプ
443A0 クラス/スペシャル1
4448F クラス/スペシャル2
4457E クラス/スペシャル3
4466D クラス/スペシャル4
4475B クラス/移動タイプ
44849 クラス/歩数
44937 クラス/忠誠度?
44A25 クラス/天候耐性
44B14 ?
44D3E アイテム種/処理上での種類
44F0D アイテム種/直接攻撃するフラグ
44F61 アイテム種/投射攻撃するフラグ
45066 ?
45081 ?
4509C ?
45147 スナップ剣開始番号
4514B スナップ剣終了番号
451B9 アイテムパレット
451D9 アイテム/種類
452C9 アイテム/属性
453B9 アイテム/装備部位 01両手武器 02片手武器(盾含む) 03指輪 04頭装備 05首飾り 06体装備 07足装備 08道具
454A9 アイテム/装備部位(リスト) 01頭 02手 03体 04靴 05道具
4557C アイテム/射程
45654 アイテム/重量
4572D アイテム/STR
4580D アイテム/INT
458ED アイテム/AGI
459CD アイテム/DEX
45AAD アイテム/VIT
45B8D アイテム/MEN
45C6D アイテム/LUK
45D4D アイテム/物理RES
45E2D アイテム/風RES
45F0D アイテム/炎RES
45FED アイテム/地RES
460CD アイテム/水RES
461AD アイテム/聖RES
4628D アイテム/闇RES
4646F アイテム/値段(2バイト) 2桁目から
46612 アイテム/STR成長率UP
466E4 アイテム/INT成長率UP
467B4 アイテム/AGI成長率UP
46884 アイテム/DEX成長率UP
46956 アイテム/VIT成長率UP
46A26 アイテム/MEN成長率UP
46AF6 アイテム/LUK成長率UP
46BC5 アイテム/特性(攻)
46CB5 アイテム/使用効果
46D85 アイテム/特性(防) 07恐怖 08野獣 09竜 0A人形 0C対竜 0D対石化 0E対麻痺 0F耐眠 11対異常 12対魔
46E75 アイテム/特性(常) 01飛行 02ワープ 03溶岩 04水上 05HP回復 06MP回復 07恐怖 08野獣 09竜 0A人形
46F66 アイテム/武器種(射程?) 00通常武器 銃、アイテム含む 01槍 02弓 、凡用銃含む 03鞭
47047 魔法・SP/種類と消費MP
47172 魔法・SP/属性
47208 魔法・SP/射程
4729E 魔法・SP/攻撃方法
47431 魔法・SP/行使可能ユニット
474A1 魔法 ・ SP / 2 / 上位4bitが4以上だとダメージ計算が必殺技 (STR + Dex / 2) になる
474F1 魔法・SP/2 /
475C4 ?
49231 Lサイズユニット出撃制限人数
57885 アイテム/
582DD マップID算出補数
582F5 ?
58407 ?
5841F 実マップID/5875D選択用
58677-58693 地形効果表示(00:表示しない、01:表示する)
58695-5870B 地形効果(風火地水)
5870D-5872A 地形攻撃効果
5872B 攻撃効果65の対天気地形攻撃効果
58730 攻撃効果66の対天気地形攻撃効果
58735-58752 地形防御効果
58753 防御効果65の対天気地形攻撃効果
58758 防御効果66の対天気地形攻撃効果
5875D マップ毎の地形とパネルグラフィックの対応関係
58DDD 範囲パネルグラフィック?
59911 ?
59695 ?
59D52 現在地/2 /ランダム戦闘の発生のしやすさ
59F0F 敵雑魚ユニット出撃数
5A18F 戦闘BGM
64279 敵名前アドレス
64F55 ?
6972D 向きによる補正値
6A9AA ?
6B764 ?
6C1B3-6C1BD ?
6C220-6C229 反撃可能アイテム種
70000 エフェクトデータアドレスその1
780BD ?
D0880 戦闘マップに関して
D88E4 ?
D894D ?
D8979 ?
D8911 ?
EA0CC キャラ対応 性別か?
F1C07 16C0/16C0の初期値から決定
110000 マップデータ1
11C1B5 ?
11C1B7 ?
120000 マップデータ2?
124E38 ?
128000 ?
129C1F マップデータ3
133B85 マップデータアドレス
1E8000 敵ユニットデータアドレス 7EBE76対応
1F4C7D イベントデータ共通部分
1F8003 データアドレス
20533A 敵ユニットデータ共通部分
20CD80 イベントデータアドレス[3]
249AC9 エフェクトデータアドレスその2
2FF994 財宝関連
EEE49 チュートリアル作成関数

03:343B E0 9600   |*ww|    cpx.w   0096h // INT + MEN:150
03:3441 E0 2C01   |*ww|    cpx.w   012Ch // INT + MEN:300

6:CC87 64 00 // 召喚数カウント用Int+Men値

882A-8946
138837
タインマウスのx,yの大きさ

Topography ID / 地形ID

ID Description
01 地肌 地+2風-2
02 砂地 水-2火+2
03 火山灰 水-3火+3
04 草地 水+1地-2火-1風+2
05 草むら 水+2地-3火-2風+3
06 雪原 水+2火-2
07 岩場 水-1地+2火+1風-2
08 砂利 水-2地+2火+2風-2
09 荒地 水-2地+2火+2風-2
0A 湿地 水+2地-3火-2風+3
0B 毒カビ 地+2風-2
0C 溶岩石 水-2地+2火+2風-2
0D タール 水-3水+3
0E 氷原 水+3火-3
0F 水路 水+2火-2
10 川 水+2火-2
11 湖 水+2火-2
12 海 水+2火-2
13 溶岩 水-3火+3
14 道
15 石床
16 屋根 水-1地-2火+1風+2
17 石壁
18 空
19 ç©´
1A 城壁内側
1B 城外
1C 木床 水+1地-2火-1風+2
1D 魔方陣
1E ビルネの木
1F 糸杉
20 ブナの木
21 トネリの木
22 ココヤシ
23 アナナの木* 水+80地+2火-3風-2
24 トチの木
25 バオバの木
26 ダアラの草
27 ウディガ草
28 虫喰い草* 水+100地+2火-3風-2
29 泥穴草
2A イバラ草
2B ワイン樽
2C 水樽
2D 酒樽
2E 船荷の箱
2F 輸送用木箱
30 貯蔵箱
31 衣類箱
32 資材の箱
33 鍵付き木箱
34 石炭岩
35 砂岩
36 黒輝石
37 花崗岩
38 玄武岩
39 ジネの木
3A イチイの木
3B 蛇紋岩
3C れき岩
3D ルクス草
3E ドラン草
3F 警備灯 水+76地+70火-3 進入不可
40 室内灯 水+74地+85火+1風-2 進入不可
41 警備灯
42 室内灯
43 鉄甲冑 水+74地+85火-1風+2 進入不可
44 銅甲冑
45 軽甲冑
46 重甲冑
47 白銀甲冑
48 女神像
49 腐った木 水+60地+70火-3 進入不可
4A 枯れた木 水+65地+75火-3
4B 焼けた木
4C 噴煙
4D 黄水晶
4E 赤水晶
4F 緑水晶 水+65地+50火-3 進入不可
50 青水晶 表示無し 進入可
51 白水晶
52 騎士像 水+65地+90火-1風-2
53 戦士像
54 僧侶像 表示無し 進入可
55 狂戦士像 表示無し 進入可
56 戦士像
57 老人像
58 騎士 水+55地+85火+1風-2
59 戦士 表示無し 進入可
5A 僧侶
5B 盗賊
5C 戦士 表示無し 進入可
5D 魔術師 表示無し 進入可
5E がれき
5F 石柱 地+72火+80風+2
60 壷 表示無し 進入可
61 屋根 表示無し 進入可
62 石壁 表示無し 進入可
63 竜門
64 (表示無し) 地+68火+100風+2 進入不可
65 移動
66 行動 表示無し 進入可
67 待機
68 環境
69 直接攻撃
6A 投射攻撃
6B 魔法 表示無し 進入可
6C スペシャル 表示無し 進入可
6D アイテム
6E 説得
6F (表示無し) 進入可
70 中断
71 オプション
72 終了
73 (表示無し)
74 ショップ
75 (表示無し)
76 編成
77 (表示無し)
78 データ
79 (表示無し)
7A セーブ
7B ロード 水+22地+65火+76風+70 進入不可
7C (表示無し) 水-100火+74風+85 (表示無し)
7D マニュアル
7E (表示無し) 進入可
7F (表示無し) 水-100火+74風+85
80 糸杉(障害物)
81 (障害物)
82 (障害物)
83 (障害物)
84 (障害物)
85 石灰岩(障害物)
86 (障害物)
87 (障害物)
88 (障害物)
89 警備灯(障害物)
8A 警備灯(障害物)
8B (障害物)
8C (障害物)
8D (障害物)
8E (障害物)
8F (障害物)
90 イチイの木(障害物)
91 (障害物)
92 (障害物)
93 (障害物)
94 (障害物)
95 (障害物)
96 (障害物)
97 花崗岩(障害物)
98 (障害物)
99 (障害物)
9A (障害物)
9B (障害物)
9C 警備灯(障害物)
9D (障害物)
9E (障害物)
9F (障害物)
A0 (障害物)
A1 鉄甲冑(障害物)
A2 銅甲冑(障害物)
A3 (障害物)
A4 (障害物)
A5 (障害物)
A6 (障害物)
A7 (障害物)
A8 (障害物)
A9 (障害物)
AA (障害物)
AB (障害物)
AC (障害物)
AD (障害物)
AE (障害物)
AF (障害物)
B0 ショップ(障害物)
B1 (障害物)
B2 (障害物) 下に文字
B3 (障害物)
B4 (障害物)
B5 (障害物)
B6 (障害物)
B7 (障害物)
B8 (障害物)
B9 虫喰い草(障害物)
BA アナナの木(障害物)
BB (障害物)
BC (障害物)
BD (障害物)
BE (障害物)
BF (障害物)
C0 (障害物)
C1 (障害物)
C2 (障害物)
C3 (障害物)
C4 (障害物)
C5 (障害物)
C6 (障害物)
C7 (障害物)
C8 (障害物)
C9 (障害物)
CA (障害物)
CB (障害物)
CC (障害物)
CD (障害物)
CE ビルネの木(障害物)
CF ビルネの木(障害物)
D0 (障害物)
D1 ビルネの木(障害物)
D2 ビルネの木(障害物)
D3 (障害物)
D4 (障害物)
D5 (障害物)
D6 (障害物)
D7 (障害物)
D8 (障害物)
D9 (障害物)
DA (障害物)
DB (障害物)
DC (障害物)
DD (障害物)
DE (障害物)
DF 石灰岩(障害物)
E0 室内灯(障害物)
E1 (障害物)
E2 (障害物)
E3 ロード(障害物)
E4 (障害物)
E5 (障害物)
E6 命のカード(障害物)
E7 糸杉(障害物)
E8 (障害物)
E9 命のカード(障害物)
EA (障害物) 下に文字
EB (障害物)
EC イチイの木(障害物)
ED 鉄甲冑(障害物)
EE (障害物)
EF (障害物)
F0 緑水晶(障害物)
F1 (障害物)
F2 戦士像(障害物)
F3 (障害物)
F4 石灰岩(障害物)
F5 焼けた木(障害物)
F6 (障害物)
F7 (障害物)
F8 緑水晶(障害物)
F9 (障害物)
FA DEX (障害物)
FB (障害物)
FC (障害物)
FD トレジャー(障害物)
FE (障害物)
FF (障害物)

Analysis of the Function Start Address / 解析した関数の開始アドレス

$80

攻撃
00:0085 5C 7EAF80 |*ww|     jmp     \80h,0AF7Eh    ;>
魔法
00:0322 20 43E3   |*ww|     jsr     0E343h//残りWT
イベント進行?
00:0333 A2 FF1F   |*ww|     ldx.w   1FFFh
タコ変身
00:086D 8B        |*ww|     phb
タコ変身
00:0875 BD AE17   |*ww|     lda     @17AEh,x//キャラ
範囲表示?
00:0916 48        |*ww|     pha
初期化
00:214A 8B        |*ww|     phb
範囲選択時の画面について?
00:2492 8B        |*ww|     phb
00:2759 5A        |*ww|     phy
確率計算
00:286F 8B        |*ww|     phb
29A7,x
00:2943 8B        |*ww|     phb
擬似正規分布処理
00:2CDF 8B        |*ww|     phb
確率計算
00:2DC0 48        |*ww|     pha
BGM変更?
00:2EF2 8B        |*ww|     phb
ノーマル進入不可地形のsterを1下げて返す
00:4276 8B        |*ww|     phb
ノーマル進入不可地形のsterを1下げて返す
00:427E 4A        |*ww|     lsr     a
残りWT決定
00:6355 22 1F9286 |*ww|     jsl     \86h,921Fh
直接攻撃
00:674D 20 92FA   |*ww|     jsr     0FA92h//
投射攻撃
00:67AC 20 92FA   |*ww|     jsr     0FA92h
魔法攻撃
00:6862 22 8AA180 |*ww|     jsl     \80h,0A18Ah
スペシャル攻撃
00:68D6 20 92FA   |*ww|     jsr     0FA92h
アイテム使用
00:6975 20 92FA   |*ww|     jsr     0FA92h
スペシャル攻撃
00:69FB 20 92FA   |*ww|     jsr     0FA92h
エフェクト表示速度?
00:6B12 7B        |*ww|     tdc
選択メニューを消す?
00:7363 7B        |*ww|     tdc
直接攻撃開始
C0/7ABC: A9 00        LDA #$00
投射攻撃開始
C0/7AF1: A9 01        LDA #$01
スペシャル使用開始
C0/7B2B: A9 02        LDA #$02
魔法使用開始
C0/7B55: A9 03        LDA #$03
アイテム使用開始
C0/7B7F: A9 04        LDA #$04


$81

顔リスト
00:EB96 00 00     |*ww|     brk.b   00h
解凍プログラム1
00:F79F 8B        |*ww|     phb
圧縮データ読み出し
00:F860 A0 0100   |*ww|     ldy.w   0001h
展開後総バイト数読み込み
00:F86E C2 20     |*ww|     rep.b   20h        ;m = 16bit
フラグ読み込み
C0/F8A6: A9 FF        LDA #$FF//データを8個扱うフラグ
圧縮チェック
00:F8B0 06 06     |*ww|     asl     !06h//非圧縮フラグを左シフト
非圧縮データ
00:F8B4 BD 0000   |*ww|     lda     @0000h,x
総バイト数チェック
00:F8BB C4 0E     |*ww|     cpy     !0Eh
8フラグチェック
00:F8BF 06 07     |*ww|     asl     !07h
圧縮データ
00:F8C5 BD 0000   |*ww|     lda     @0000h,x
圧縮データバイト数取得
00:F996 6C 0A00   |*ww|     jmp     (@000Ah)        ;>
解凍プログラム2
00:F9B8 8B        |*ww|     phb
マップデータ読み取り
00:FB56 8B        |*ww|     phb


$82

A/2*11+B824を1D9E
01:0AF0 4A        |*ww|     lsr     a
A/2*11+B824をX、7EをA
01:0B09 4A        |*ww|     lsr     a
キャラ情報移し替え
01:0B24 8B        |*ww|     phb
1000制限
01:0BDA C9 E803   |*ww|     cmp.w   03E8h
Lvアップ
01:1146 8B        |*ww|     phb
なんかのアドレス?
01:1618 08        |*ww|     php
クラスチェンジ画面の停止ユニット?
01:5090 8B        |*ww|     phb
クラスチェンジ画面の停止ユニット?
01:5149 A5 A4     |*ww|     lda     !0A4h
Sサイズクラスの停止グラフィック番号
01:51EB 00 00     |*ww|     brk.b   00h
Lサイズクラスの停止グラフィック番号
01:525D 01 00     |*ww|     ora     (!00h,x)
自軍+敵
01:59AC 8B        |*ww|     phb
自軍+ゲスト+敵
01:59D0 8B        |*ww|     phb
敵データ解凍
01:5A8E 8B        |*ww|     phb
戦闘マップ敵作成
01:5BCF 48        |*ww|     pha
自軍戦闘データコピー
01:5C66 8B        |*ww|     phb
敵作成?
01:5D0F 8B        |*ww|     phb
敵作成
01:5D19 20 09DA   |*ww|     jsr     0DA09h//
マップ作成
01:5E25 8B        |*ww|     phb


$83

追加効果2番目アクション
01:8E7A AE 8C17   |*ww|     ldx     @178Ch
対象者ナンバー取得
01:93E2 8B        |*ww|     phb
対象者ナンバー取得
01:93EA C2 20     |*ww|     rep.b   20h        ;m = 16bit
19526,x
01:9520 AA        |*ww|     tax
銃系弾道計算
01:97F8 85 00     |*ww|     sta     !00h
弓系弾道計算
01:9945 85 00     |*ww|     sta     !00h//0:弓
弓の放物線に関して
01:9D4F C2 20     |*ww|     rep.b   20h        ;m = 16bit
水系地形チェック
01:9ED2 8B        |*ww|     phb
水系地形チェック
01:9EDA BF 00CC7F |*ww|     lda     \7Fh,@0CC00h,x//地形
エフェクト解凍
C1/A498: A9 8E        LDA #$8E
座標値獲得
01:AA34 8B        |*ww|     phb
 A44/32 or A04  -> A,X
01:AA3C 7B        |*ww|     tdc
各種効果へジャンプ
01:B335 3A        |*ww|     dec     a
草焼き
01:EE2D E2 20     |*ww|     sep.b   20h        ;m = 8bit
魔法・SP効果読み取り
01:F8B0 A2 0000   |*ww|     ldx.w   0000h


$84

使用武器グラフィック
02:22F6 85 1E     |*ww|     sta     !1Eh//使用武器
ユニットグラフィック
02:2387 EB        |*ww|     XBA
ネクロマンシーより
02:25BB EB        |*ww|     xba
殴るときのグラフィックとか!
02:4314 8B        |*ww|     phb
殴るときのモーション
02:43CC 8B        |*ww|     phb


$85

リーンカーネイト1
02:E1D0 8B        |*ww|     phb
リーンカーネイトで転生するクラス
02:E286 01 0E     |*ww|     ora     (!0Eh,x)
マップ座標値取得
02:E66D 7B        |*ww|     tdc
装備取得
02:EBDD 7B        |*ww|     tdc
装備アドレス
    02:EC06 7E 1A7F   |*ww|     ror     @7F1Ah,x
敵死亡処理?
02:EC0E 8B        |*ww|     phb
敵死亡敵リッチも含む?
02:EC36 22 97999B |*ww|     jsl     \9Bh,9997h//不明
ECADに対応する値
02:EDB4 06 04     |*ww|     asl     !04h
追加効果1番目アクション
02:EDBE 4B        |*ww|     phk
AK転生Luk判定と復活転生判定呼び出しin 16bit mode
02:F48E 8B        |*ww|     phb
復活・転生判定処理
02:F4BC 8B        |*ww|     phb
敵判定
02:F53A BD 2E1A   |*ww|     lda     @1A2Eh,x//敵味方
聖石判定
C2/F543: A5 A3        LDA $A3
聖石判定
C2/F563: C9 BF        CMP #$BF//祝福の聖石
聖石フラグON
02:F56C 68        |*ww|     pla
死者の指輪判定
C2/F571: A9 A1        LDA #$A1//死者の指輪
AL判定と判定続行フラグON
02:F58A BD D617   |*ww|     lda     @17D6h,x//アラインメント
リッチ転生のみ続行フラグON
C2/F594: A9 01        LDA #$01//リッチ転生のみ続行フラグ
初期化
02:F597 7B        |*ww|     tdc
♀ユニット判定
02:F599 BD D717   |*ww|     lda     @17D7h,x//エレメント
クラス判定
02:F5A6 64 01     |*ww|     stz     !01h
AK転生可能クラス
02:F5CF 0C        |*ww|     0C//リッチ
リッチ転生可能クラス
02:F5D9 09        |*ww|     09//ウィザード
デニム判定
02:F5E0 BD AE17   |*ww|     lda     @17AEh,x//キャラ
味方判定
02:F5EF BD 2E1A   |*ww|     lda     @1A2Eh,x//敵味方
転生ステータス判定
02:F5F7 64 01     |*ww|     stz     !01h
転生ステータス条件
    02:F655 72 00     |*ww|     adc     (!00h)
条件比較対象値のアドレス
02:F671 9E 18     |*ww|     189E//MHP
 if キャラ状態/2 setC: 3C -> B1C8
02:F7EE 8B        |*ww|     phb


$86

*//残りWT
03:0B71 F0 09     |*ww|     beq     0B7Ch        ;>
*//残りWT
03:0C7C C2 20     |*ww|     rep.b   20h        ;m = 16bit
*//回復・充魔効果
03:116C 8B        |*ww|     phb
*//範囲パネル作成
C3/23EB: 8B           PHB 
*//マップに魔法・SPの範囲が入るかどうか?
03:24D6 A5 00     |*ww|     lda     !00h
*//魔法・SP範囲作成か!?
03:2BB2 8B        |*ww|     phb
*//キャラの地形取得
03:2DB7 7B        |*ww|     tdc
*//水系地形判定
03:2DE1 20 E5AD   |*ww|     jsr     0ADE5h
*//水系地形判定
03:2DE5 BF 00CC7F |*ww|     lda     \7Fh,@0CC00h,x//地形
*//スペシャルと範囲用INT+MEN判定
03:33D1 DA        |*ww|     phx
*//近スペ以外
C3/33F6: 7B           TDC 
*//魔法SP攻撃補正取得
03:345B 8B        |*ww|     phb


$87

*//片手装備
03:CE06 A2 0200   |*ww|     ldx.w   0002h
*//♀キャラクラスチェンジ?
03:EFB2 20 D1F1   |*ww|     jsr     0F1D1h//
*//クラスチェンジ画面の選択カーソル位置
03:F087 AD 661E   |*ww|     lda     @1E66h
**//クラスチェンジ画面の出現ユニットグラフィックに関して?
03:F1DC A0 0000   |*ww|     ldy.w   0000h
*//クラスチェンジ可能ユニットの名前とか?
03:F399 AD 661E   |*ww|     lda     @1E66h
*//クラスチェンジ画面移行時のクラスによるカーソルの位置
03:F537 AD 661E   |*ww|     lda     @1E66h
*//♀ユニットクラスチェンジ?
03:F721 22 DFA388 |*ww|     jsl     \88h,0A3DFh


$88

自軍以外作成
C4/0741: A9 0A        LDA #$0A
敵データアドレス設定
04:07C2 8B        |*ww|     phb
基本キャラグラフィック
04:2112 12 94     |*ww|     ora     (!94h)
基本キャラグラフィック
04:2138 BD AF17   |*ww|     lda     @17AFh,x//キャラ
一般キャラと固有キャラの区別
04:23D1 DA        |*ww|     phx
たくさん割ったり
04:23DF DA        |*ww|     phx
アンデッド判定?
04:2412 DA        |*ww|     phx
範囲確認?
04:246D DA        |*ww|     phx
死亡者?
04:2482 48        |*ww|     pha
対獣効果
04:248E 48        |*ww|     pha
対竜効果
04:249A 48        |*ww|     pha
対ゴーレム効果
04:24A6 48        |*ww|     pha
タコ判定
C4/24B2: C9 29        CMP #$29//オクトパス
タコ弱体化
C4/24C6: C9 29        CMP #$29//オクトパス
タコ強化
C4/24E2: C9 29        CMP #$29//オクトパス
スナップドラゴン剣属性
04:4CE5 DA        |*ww|     phx
アイテムの種類取得
04:4D2B 7B        |*ww|     tdc
攻撃の種類判定、xには武器の種類
04:4D31 7B        |*ww|     tdc
アイテム属性取得
04:4D59 DA        |*ww|     phx
武器射程
04:4D6E 7B        |*ww|     tdc
重量算出
04:4D95 DA        |*ww|     phx
アイテムSTR取得
04:4DAF DA        |*ww|     phx
アイテムINT取得
04:4DC7 DA        |*ww|     phx
アイテムAGI取得
04:4DE5 DA        |*ww|     phx
アイテムLuk取得
04:4E5D DA        |*ww|     phx
アイテム物理RES取得
04:4E78 7B        |*ww|     tdc
アイテム風RES取得
04:4E84 7B        |*ww|     tdc
アイテム火RES取得
04:4E90 7B        |*ww|     tdc
アイテム地RES取得
04:4E9C 7B        |*ww|     tdc
アイテム水RES取得
04:4EA8 7B        |*ww|     tdc
アイテム聖RES取得
04:4EB4 7B        |*ww|     tdc
アイテム闇RES取得
04:4EC0 7B        |*ww|     tdc
アイテム使用効果
04:4ED2 7B        |*ww|     tdc
アイテム攻撃特性
04:4ED8 DA        |*ww|     phx
アイテム防御特性
04:4EED 7B        |*ww|     tdc
アイテム通常特性取得
04:4EF3 7B        |*ww|     tdc
武器種別
04:4EF9 7B        |*ww|     tdc
武器の直接攻撃判定
04:4EFF DA        |*ww|     phx
投石判定?
04:4F28 DA        |*ww|     phx
STR取得用直接武器判定-
04:4F7C DA        |*ww|     phx
STR取得用アクセサリ判定
04:4FA4 DA        |*ww|     phx
INT取得用攻撃武器判定-
04:4FB8 DA        |*ww|     phx
DEX取得用攻撃武器判定-
04:4FCC DA        |*ww|     phx
MEN取得用攻撃武器判定-
04:4FE0 DA        |*ww|     phx
-
04:4FF4 DA        |*ww|     phx
防御用VIT-
04:5008 DA        |*ww|     phx
防御用
04:501C DA        |*ww|     phx
スペシャル種類
04:50FD DA        |*ww|     phx
スペシャル消費MP
04:510E DA        |*ww|     phx
スペシャル消費MP100Limited
04:5121 DA        |*ww|     phx
スペシャル属性
04:5138 DA        |*ww|     phx
スナップ剣の処理
04:5144 7B        |*ww|     tdc
重量算出
04:7571 DA        |*ww|     phx


$8B
戦闘音楽?
05:9ED3 8B        |*ww|     phb


$8D
なんかの解凍
06:82D4 8B        |*ww|     phb
消費MPに関して
06:8C9C DA        |*ww|     phx
消費MPに関して
06:8CBD DA        |*ww|     phx
物理攻撃?
06:8D32 A2 BEC8   |*ww|     ldx.w   0C8BEh
剣装備取得
06:8EA4 8B        |*ww|     phb
直接攻撃の種類判定
06:9066 8B        |*ww|     phb
武器の直接攻撃判定
06:90F6 F0 13     |*ww|     beq     910Bh        ;>
素手攻撃の種類
06:910C BF D2C088 |*ww|     lda     \88h,@0C0D2h,x//素手攻撃の種類
攻撃ダメージVa*Ra/100-Vd*Rd/100計算
06:929A 8B        |*ww|     phb
攻撃値取得
*06:92D1 E9 92     |*ww|     92E9//物理攻撃用STR+DEX/2
防御値取得
*06:92DD 9A 93     |*ww|     939A//物理防御用VIT+STR/2取得
物理攻撃用
06:92E9 7B        |*ww|     tda 
投射攻撃用
06:92F1 7B        |*ww|     tdc
物理攻撃用
06:9302 20 F6F7   |*ww|     jsr     0F7F6h//使用武器Str取得?
物理攻撃用STR+DEX/2
06:9308 A6 0C     |*ww|     ldx     !0Ch
必殺技攻撃用STR+DEX/2取得
06:9324 AF DFD27E |*ww|     lda     \7Eh,@0D2DFh
魔法・SP用攻撃用Int+MEN/2取得
06:934C A6 0C     |*ww|     ldx     !0Ch
魔法・SP用MEN+STR/3取得
06:9368 A6 0C     |*ww|     ldx     !0Ch
物理防御VIT+STR/2
06:939A A6 0E     |*ww|     ldx     !0Eh
魔法防御VIT+MEN/2
06:93B3 A6 0E     |*ww|     ldx     !0Eh
ダブルアタックway判定
06:93CC AD F01E   |*ww|     lda     @1EF0h
Ra算出 in 8bit mode
06:93EA D4 04     |*ww|     pei
Rd算出 in 8bit mode
06:9426 D4 04     |*ww|     pei
対竜攻撃効果
06:9452 AF E0D27E |*ww|     lda     \7Eh,@0D2E0h
対竜防御効果
06:9474 A6 0C     |*ww|     ldx     !0Ch
恐怖効果
06:9491 A6 0C     |*ww|     ldx     !0Ch//攻撃
周囲の恐怖キャラカウント
06:94DF DA        |*ww|     phx
獣支援効果
06:9519 A6 0C     |*ww|     ldx     !0Ch
獣支援カウント
06:953F DA        |*ww|     phx
竜支援効果
06:9579 A6 0C     |*ww|     ldx     !0Ch
竜支援カウント
06:95A1 DA        |*ww|     phx
ゴーレム支援効果
06:95DB A6 0C     |*ww|     ldx     !0Ch
ゴーレム支援カウント
06:9603 DA        |*ww|     phx
物理攻撃命中処理
06:963D 8B        |*ww|     phb
回避用能力値取得
06:96CA C2 21     |*ww|     rep.b   21h        ;m = 16bit
キャラの向きによる修正
06:96EE 5A        |*ww|     phy
向きによる補正値
06:972D 32        |*ww|     50
Luc計算
06:9731 A6 0E     |*ww|     ldx     !0Eh//攻撃者ナンバー
way判定+盾攻撃?
06:9746 AF E0D27E |*ww|     lda     \7Eh,@0D2E0h
素手攻撃
06:977D C9 11     |*ww|     cmp.w   11h//素手
投石・手裏剣・指弾
06:97AD C9 01     |*ww|     cmp.w   01h//投射攻撃
Au-Duの重量差
06:97F1 8B        |*ww|     phb
攻撃処理並びにクリティカル判定?
06:9844 8B        |*ww|     phb
ダメージ算出
06:98A7 A6 0C     |*ww|     ldx     !0Ch
攻撃処理
06:98E4 8B        |*ww|     phb
HP,MP制限in 16bit mode
06:997A A5 02     |*ww|     lda     !02h
地形攻撃効果修正
06:9A58 A6 0C     |*ww|     ldx     !0Ch
使用武器属性一致修正
06:9A87 D4 00     |*ww|     pei
天気による変動
06:9AAF D4 00     |*ww|     pei//!00hをスタックへ
得意武器修正
06:9AE1 7B        |*ww|     tdc
地形防御効果
06:9B0E A6 0E     |*ww|     ldx     !0Eh
天気抵抗修正
06:9B3D D4 00     |*ww|     pei
魔法・SP効果処理
06:9BA7 8B        |*ww|     phb
効果なし
C6/9BD6: A9 7E        LDA #$7E
miss処理
06:9C21 8B        |*ww|     phb
魔法・SP命中回避率
06:9CD2 DA        |*ww|     phx
魔法・SP命中率
06:9E04 DA        |*ww|     phx
物理攻撃
06:A0D0 22 3A9E88 |*ww|     jsl     \88h,9E3Ah
タコ以外
06:A693 A2 5500   |*ww|     ldx.w   0055h
SP処理
06:A7DF 64 B8     |*ww|     stz     !0B8h
魔法・SP?
06:AAD5 22 C1BC8D |*ww|     jsl     \8Dh,0BCC1h//範囲作成
HP追加ダメージ系
06:B306 22 DAB182 |*ww|     jsl     \82h,0B1DAh
ネクロマンシー
06:B39D 8B        |*ww|     phb
テレポート?
06:B4CE 8B        |*ww|     phb
獲得exp算出
06:B79F 8B        |*ww|     phb
通常攻撃時のExp算出
06:B7F7: 09 00        ORA #$00
とどめを刺した時のExp算出
C6/B82A: 09 00        ORA #$00
Lvå·®+1=4
C6/B841: A9 64        LDA #$64
Lvå·®+1=3
C6/B846: A9 64        LDA #$64
Lvå·®+1=2
C6/B84B: A9 46        LDA #$46
Lvå·®+1=1
C6/B850: A9 0A        LDA #$0A
Lv差+1=0以上
C6/B855: A9 01        LDA #$01
物理攻撃処理
C6/B87F: A9 01        LDA #$01
投射魔法・SP処理
C6/B919: C9 02        CMP #$02//投射魔法・SP
キャラ有無判定?
06:B9B8 7B        |*ww|     tdc
SP
06:B9D7 8B        |*ww|     phb
魔法・SP種類と追加効果判定
06:BA4B 8B        |*ww|     phb
追加効果2
06:BAB6 A0 0000   |*ww|     ldy.w   0000h
スペシャル
06:BB19 7B        |*ww|     tdc
通常ダメージ系
06:BB4E 7B        |*ww|     tdc
キャラ状態と有無
06:C280 DA        |*ww|     phx
キャラ状態による恐怖・支援効果の有無
06:C2A5 BD AE17   |*ww|     lda     @17AEh,x//キャラ見た目
装備チェック
06:C5CA BD 7E1A   |*ww|     lda     @1A7Eh,x//左上装備
画面処理
06:C600 22 8AA180 |*ww|     jsl     \80h,0A18Ah
復活系魔法・SP
06:CB7F 48        |*ww|     pha
召喚数カウント
06:CC1F 8B        |*ww|     phb
召喚数カウント用Int+Men値
06:CC87 6400      |*ww|     100
説得処理
06:CFE2 A6 93     |*ww|     ldx     !93h
死亡処理?
06:D0AF A6 39     |*ww|     ldx     !39h
敵の攻撃か?
06:D711 8B        |*ww|     phb
魔法処理?
06:D786 8B        |*ww|     phb
殺害人数カウント
06:DBE2 DA        |*ww|     phx
装備に関して?
06:DD0B 8B        |*ww|     phb
命中・回避用Ra、Rd算出
06:DEBA 8B        |*ww|     phb
地形効果修正
06:DF1B 5A        |*ww|     phy
属性一致修正
06:DF58 A5 10     |*ww|     lda     !10h
アライメントによる属性修正
06:DF82 A5 10     |*ww|     lda     !10h
天気修正
06:DFA7 A5 10     |*ww|     lda     !10h
得意武器修正
06:DFF6 A5 10     |*ww|     lda     !10h
魔法・SPダメージ計算方式
06:E021 8B        |*ww|     phb
0
06:E0C8 64 00     |*ww|     stz     !00h
防御者HP減少値
06:E0CD A6 0E     |*ww|     ldx     !0Eh
攻撃者HP減少値
06:E0DD A6 0C     |*ww|     ldx     !0Ch
防御者HP/2
06:E0ED A6 0E     |*ww|     ldx     !0Eh
攻撃者INT/2
06:E0FA A6 0C     |*ww|     ldx     !0Ch
攻撃者HP
06:E107 A6 0C     |*ww|     ldx     !0Ch
防御者HP*75/100
06:E113 A6 0E     |*ww|     ldx     !0Eh
攻撃者DEX
06:E127 A6 0C     |*ww|     ldx     !0Ch
剣のSTR*2
06:E133 A6 0C     |*ww|     ldx     !0Ch
攻撃者STR
06:E144 A6 0C     |*ww|     ldx     !0Ch
防御者MP減少値
06:E150 A6 0E     |*ww|     ldx     !0Eh
防御者MP*90/100
06:E160 A6 0E     |*ww|     ldx     !0Eh
攻撃者HP/2
06:E174 A6 0C     |*ww|     ldx     !0Ch
防御者VIT/4
06:E181 A6 0E     |*ww|     ldx     !0Eh
防御者MP/2
06:E18F A6 0E     |*ww|     ldx     !0Eh
攻撃者(VIT+MEN)/4
06:E19C A6 0C     |*ww|     ldx     !0Ch
25
06:E1AD C2 20     |*ww|     rep.b   20h        ;m = 16bit
50
06:E1B7 C2 20     |*ww|     rep.b   20h        ;m = 16bit
100
06:E1C1 C2 20     |*ww|     rep.b   20h        ;m = 16bit
防御者MHP/2
06:E1CB A6 0E     |*ww|     ldx     !0Eh
防御者MP*99/100
06:E1D8 A6 0E     |*ww|     ldx     !0Eh
攻撃者HP*99/100
06:E1EC A6 0C     |*ww|     ldx     !0Ch
攻撃者VIT/10
06:E200 A6 0C     |*ww|     ldx     !0Ch
防御者HP/10
06:E222 A6 0E     |*ww|     ldx     !0Eh
防御者HP/3
06:E244 A6 0E     |*ww|     ldx     !0Eh
攻撃者MHP/2
06:E266 A6 0C     |*ww|     ldx     !0Ch
与ダメージ/5?
06:E273 A6 14     |*ww|     ldx     !14h
与ダメージ/10
06:E2B0 7B        |*ww|     tdc
通常処理
06:E2D8 A6 0C     |*ww|     ldx     !0Ch
ヒーリング系
06:E2E5 A6 0C     |*ww|     ldx     !0Ch
通常処理/2
06:E2EE A6 0C     |*ww|     ldx     !0Ch
攻撃者Lv
06:E308 A6 0C     |*ww|     ldx     !0Ch
攻撃者Lv*2
06:E312 A6 0C     |*ww|     ldx     !0Ch
与ダメージ値
06:E31D A6 14     |*ww|     ldx     !14h
通常処理/4
06:E32D A6 0C     |*ww|     ldx     !0Ch
防御者HP/5
06:E34B A6 0E     |*ww|     ldx     !0Eh
4の正規分布乱数?
C6/E36D: A9 04        LDA #$04
150
06:E378 C2 20     |*ww|     rep.b   20h        ;m = 16bit
敵味方とかアンデッド判定
06:E382 8B        |*ww|     phb
魔法効果読み取り
06:E448 8B        |*ww|     phb
サモン系チェック
06:E663: C9 4C        CMP #$4C//サモンハーネラ
魔法・SP効果判定
06:E66F: 48           PHA 
28以下
06:E688 68        |*ww|     pla
27
06:E68D 68        |*ww|     pla
2E
06:E69D 68        |*ww|     pla
29以上2C以下
06:E6AB 68        |*ww|     pla
3A
06:E6B5: 68           PLA 
HP,MP削り系分岐
06:E6E6 A5 02     |*ww|     lda     !02h
魔法・SPダメージ通常処理
06:E7C4 8B        |*ww|     phb
敵ダメージ?
C6/E801: 7B           TDC 
ヒーリング系処理
06:E93A 8B        |*ww|     phb
魔法・SP用Ra
06:E9B9 D4 04     |*ww|     pei
魔法・SP用Rd
06:E9E3 D4 04     |*ww|     pei
!00h*!04h/100
06:EA12 DA        |*ww|     phx
命中回避1~100制限
06:EA40 C2 20     |*ww|     rep.b   20h        ;m = 16bit
999制限
06:EA58 C2 20     |*ww|     rep.b   20h        ;m = 16bit
ダメージ最大最小制限
06:EA6C C2 20     |*ww|     rep.b   20h        ;m = 16bit
200制限
06:EA84 C2 20     |*ww|     rep.b   20h        ;m = 16bit
マイナス修正
06:EA98 C2 21     |*ww|     rep.b   21h        ;m = 16bit
100~-100修正
06:EAA4 C9 80     |*ww|     cmp.w   080h
敵Ra?
06:EAB8 8B        |*ww|     phb
RES取得
06:EC79 A5 0A     |*ww|     lda     !0Ah
物理RES取得
06:ED18 8B        |*ww|     phb
アイテム物理Res取得
06:ED80 AA        |*ww|     tax
風Res取得
06:ED89 8B        |*ww|     phb
アクセサリのみSTR参照
06:F0AF DA        |*ww|     phx
直接攻撃STR参照
06:F119 DA        |*ww|     phx
攻撃用DEX参照
06:F183 DA        |*ww|     phx
攻撃用INT取得
06:F1E6 DA        |*ww|     phx
攻撃用MEN取得
06:F249 DA        |*ww|     phx
防御用MEN参照
06:F2B3 DA        |*ww|     phx
防御用VIT参照
06:F31D DA        |*ww|     phx
防御用STR参照
06:F380 DA        |*ww|     phx
全AGI取得
06:F3EA DA        |*ww|     phx
全DEX取得
06:F44D DA        |*ww|     phx
全INT取得
06:F4B0 DA        |*ww|     phx
全MEN取得
06:F513 DA        |*ww|     phx
LUK取得
06:F57D DA        |*ww|     phx
ヒート・メルトウェポン処理
06:F5D6 B9 1E1B   |*ww|     lda     @1B1Eh,y//
Rndか?
06:F620 A9 14     |*ww|     lda.w   14h
Rnd処理
06:F628 8B        |*ww|     phb
回避用Rnd値算出?
06:F65E 8B        |*ww|     phb
ダメージモーション
06:F6B6 D4 06     |*ww|     pei
効果防御判定
06:F893 DA        |*ww|     phx
殴ったときの効果処理
06:F8DE 8B        |*ww|     phb
恐怖・支援キャラの位置判定
06:F97B DA        |*ww|     phx
直接攻撃予想処理
C6/F9A2: A9 01        LDA #$01
投射攻撃予想処理
C6/FA3B: A9 01        LDA #$01
魔法・SP予想処理
C6/FA95: A9 01        LDA #$01
HP,MP制限
06:FB21 9B        |*ww|     txy
物理攻撃予想DMG計算
06:FBE4 7B        |*ww|     tdc
物理攻撃予想DMGと命中率
06:FC7F DA        |*ww|     phx
魔法・SPの予想DMGと回避率
06:FCC7 DA        |*ww|     phx
追加効果の退魔
C6/FD12: D4 12        PEI $12
魔法・SPダメージ
06:FD35 D4 12     |*ww|     pei
魔法・SP必中判定と回避率計算
06:FDA3 7B        |*ww|     tdc


$99

戦闘マップ作成
0C:8001 AA        |*ww|     tax
戦闘イベント!
0C:810E 8B        |*ww|     phb
マップ番号判定?16、17はもしや雑魚マップ?
0C:8160 DA        |*ww|     phx
マップ16判定
0C:8181 22 608199 |*ww|     jsl     \99h,8160h
長すぎ
0C:8257 F4 0000   |*ww|     pea
イベントでぇす
0C:897B A6 00     |*ww|     ldx     !00h
イベント?
0C:901B E2 20     |*ww|     sep.b   20h        ;m = 8bit
イベントFF以外は2001-2008スキップ
0C:D71E BD 0000   |*ww|     lda     @0000h,x
戦闘イベントデータ展開
0C:D759 C2 20     |*ww|     rep.b   20h        ;m = 16bit
戦闘イベント・移動
0C:D7E2 8B        |*ww|     phb
イベント1以外
CC/D828: 7B           TDC 
イベント1
0C:D8A9 E8        |*ww|     inx
移動タイプ取得
0C:D921 DA        |*ww|     phx
STER決定
0C:D931 DA        |*ww|     phx
町でのイベント戦闘
0C:EB4E EB        |*ww|     xba
町でのイベント戦闘
0C:EC12 4A        |*ww|     lsr     a
町でのイベント戦闘
0C:ECA0 22 4B9F9E |*ww|     jsl     \9Eh,9F4Bh


$9A
デニム以外ダメージ?
0D:021D A6 93     |*ww|     ldx     !93h
マップ+ユニット
0D:0E03 DA        |*ww|     phx
一般キャラと固有キャラの区別
0D:1369 48        |*ww|     pha
死者の宮殿か?
0D:1396 22 3BA180 |*ww|     jsl     \80h,0A13Bh
ユニット名削除?
0D:14A1 8B        |*ww|     phb
キャラ能力値初期化
0D:1749 A2 0000   |*ww|     ldx.w   0000h
!5C、!5Aに2000h
0D:21BC 64 C1     |*ww|     stz     !0C1h
ゲスト用転移石チェック
0D:21E6 BD AE17   |*ww|     lda     @17AEh,x//キャラ


$9B
地形攻撃効果修正 in 8bit mode
0D:880C 8B        |*ww|     phb
地形防御効果
0D:8874 8B        |*ww|     phb
地形攻撃効果修正
0D:88E4 BF 0D878B |*ww|     lda     \8Bh,@870Dh,x//地形攻撃効果
地形防御効果
0D:8911 BF 35878B |*ww|     lda     \8Bh,@8735h,x//地形防御効果
風属性キャラの地形修正
0D:8936 7B        |*ww|     tdc
火属性キャラの地形修正
0D:894C 7B        |*ww|     tdc
地属性キャラの地形修正
0D:8962 7B        |*ww|     tdc
水属性キャラの地形修正
0D:8978 7B        |*ww|     tdc
-100~100修正
0D:8992 09 0000   |*ww|     ora.w   0000h//0チェック
ゲストキャラのエレメント決定?
0D:8F39 8B        |*ww|     phb
ゲストクラス?
    0D:8F6D 35 34     |*ww|     and     !34h,x
キャラ座標決定
0D:8FAB 8B        |*ww|     phb
キャラ移動可不可判定
0D:906D 8B        |*ww|     phb
水系地形のsterを1下げて返す
0D:90E3 8B        |*ww|     phb
歩数取得
0D:9131 7B        |*ww|     tdc
移動タイプ取得
0D:913E 8B        |*ww|     phb
アイテム通常特性取得
0D:91E3 5A        |*ww|     phy
アイテム防御特性
0D:923F 5A        |*ww|     phy
SPの防御効果チェック
0D:92BC AF E0D27E |*ww|     lda     \7Eh,@0D2E0h
SPの防御効果チェック
0D:92E4 8B        |*ww|     phb
対竜攻撃効果
0D:930F DA        |*ww|     phx
続々・恐怖キャラアイテムカウント
0D:936C DA        |*ww|     phx
獣支援カウント
0D:93BF DA        |*ww|     phx
竜支援カウント
0D:9402 DA        |*ww|     phx
ゴーレム支援カウント
0D:9441 DA        |*ww|     phx
装備四点セット取得
0D:9480 8B        |*ww|     phb
装備四点セット取得
0D:94C0 A2 0000   |*ww|     ldx.w   0000h//以下、アイテムIDソート
装備四点セット
    0D:9538 1B        |*ww|     tcs
最初の質問とか?
0D:A8BB 8B        |*ww|     phb


$9C
埋もれた財宝判定
0E:764E 20 9DF7   |*ww|     jsr     0F79Dh
Lukによる拾得アイテム決定
0E:76C7 84 00     |*ww|     sty     !00h
拾得アイテムに関するデータ解凍
0E:794D 48        |*ww|     pha


$9D
デニムチェック
CE/A2F6: C9 34        CMP #$34
内部データコピー
0E:B941 AD 9F1E   |*ww|     lda     @1E9Fh
デニム初期ステータス決定
0E:BBA0 48        |*ww|     pha
最初の質問後のデニムステータス決定
0E:BC1E: 7B           TDC 
最初の質問によるステータス変化
0E:BCCD A2 0000   |*ww|     ldx.w   0000h
チュートリアルキャラ作成
0E:EC8A 48        |*ww|     pha//aはEE526
チュートリアル作成関数
0E:EE49 22 C8F381 |*ww|     jsl     \81h,0F3C8h


$9E
データ初期化
0F:1F4B 8B        |*ww|     phb
能力値初期化
0F:1FDA 9E AE17   |*ww|     stz     @17AEh,x//キャラ
変数初期化
0F:20AB 9E 0306   |*ww|     stz     @0603h,x
Sサイズの使用するリスト(デフォルト)
0F:25B3 01 02     |*ww|     ora     (!02h,x)
Lサイズの使用するリスト(デフォルト)
0F:25E6 23 24     |*ww|     and     !24h,s
クラスチェンジ可/不可?
0F:30C1 AA        |*ww|     tax

$9F
距離や1D26決定
0F:DE46 C2 20     |*ww|     rep.b   20h        ;m = 16bit

Event

イベントについてのまとめ(あまりやる気無し)

//引数 X:イベントID(7EBE76対応)

//引数 X:イベントID(7EBE76対応)
0D:0E03 DA        |*ww| 	phx
0D:0E04 D4 06     |*ww| 	pei
0D:0E06 D4 04     |*ww| 	pei
0D:0E08 D4 02     |*ww| 	pei
0D:0E0A D4 00     |*ww| 	pei
0D:0E0C 22 98A99D |*ww| 	jsl     \9Dh,0A998h
0D:0E10 22 70A180 |*ww| 	jsl     \80h,0A170h
0D:0E14 64 36     |*ww| 	stz     !36h
0D:0E16 22 A1949A |*ww| 	jsl     \9Ah,94A1h	//ユニット名削除
0D:0E1A 22 B08982 |*ww| 	jsl     \82h,89B0h
0D:0E1E 22 DD8982 |*ww| 	jsl     \82h,89DDh
0D:0E22 22 C88982 |*ww| 	jsl     \82h,89C8h
0D:0E26 22 BCA19A |*ww| 	jsl     \9Ah,0A1BCh	//!5C、!5A
0D:0E2A 22 538B81 |*ww| 	jsl     \81h,8B53h	//
0D:0E2E A3 01     |*ww| 	lda     !01h,s
0D:0E30 3A        |*ww| 	dec     a
0D:0E31 83 01     |*ww| 	sta     !01h,s
0D:0E33 7B        |*ww| 	tdc
0D:0E34 A3 02     |*ww| 	lda     !02h,s
0D:0E36 3A        |*ww| 	dec     a
0D:0E37 AA        |*ww| 	tax
0D:0E38 A3 01     |*ww| 	lda     !01h,s
0D:0E3A 22 6F889A |*ww| 	jsl     \9Ah,886Fh	//マップ選択
0D:0E3E C2 20     |*ww| 	rep.b   20h		;m = 16bit
0D:0E40 83 09     |*ww| 	sta     !09h,s		//イベントID更新
0D:0E42 E2 20     |*ww| 	sep.b   20h		;m = 8bit
0D:0E44 22 018099 |*ww| 	jsl     \99h,8001h	//マップ作成
0D:0E48 C2 20     |*ww| 	rep.b   20h		;m = 16bit
0D:0E4A A3 03     |*ww| 	lda     !03h,s
0D:0E4C AA        |*ww| 	tax
0D:0E4D A3 05     |*ww| 	lda     !05h,s
0D:0E4F A8        |*ww| 	tay
0D:0E50 E2 20     |*ww| 	sep.b   20h		;m = 8bit
0D:0E52 A3 07     |*ww| 	lda     !07h,s
0D:0E54 22 D0D982 |*ww| 	jsl     \82h,0D9D0h	//自軍+ゲスト+敵作成
0D:0E58 22 3C979B |*ww| 	jsl     \9Bh,973Ch	//17AE→7EF3EBへ690h回コピー+自軍初期パラメータ展開とか
0D:0E5C C2 20     |*ww| 	rep.b   20h		;m = 16bit
0D:0E5E A3 09     |*ww| 	lda     !09h,s		//イベントID
0D:0E60 AA        |*ww| 	tax
0D:0E61 E2 20     |*ww| 	sep.b   20h		;m = 8bit
0D:0E63 22 0E8199 |*ww| 	jsl     \99h,810Eh	//初期化がメイン?
0D:0E67 C2 20     |*ww| 	rep.b   20h		;m = 16bit
0D:0E69 A3 09     |*ww| 	lda     !09h,s		//イベントID
0D:0E6B E2 20     |*ww| 	sep.b   20h		;m = 8bit
0D:0E6D 22 928799 |*ww| 	jsl     \99h,8792h	
0D:0E71 A5 E6     |*ww| 	lda     !0E6h
CD/0E73: C9 FF        CMP #$FF
CD/0E75: D0 04        BNE $0E7B
CD/0E77: 22 D7 87 99  JSR $9987D7
CD/0E7B: A3 01        LDA $01,S
0D:0E7D 22 E58799 |*ww| 	jsl     \99h,87E5h
0D:0E81 20 128F   |*ww| 	jsr     8F12h		//イベント開始
0D:0E84 22 178899 |*ww| 	jsl     \99h,8817h
0D:0E88 FA        |*ww| 	plx
0D:0E89 86 00     |*ww| 	stx     !00h
0D:0E8B FA        |*ww| 	plx
0D:0E8C 86 02     |*ww| 	stx     !02h
0D:0E8E FA        |*ww| 	plx
0D:0E8F 86 04     |*ww| 	stx     !04h
0D:0E91 FA        |*ww| 	plx
0D:0E92 86 06     |*ww| 	stx     !06h
0D:0E94 FA        |*ww| 	plx
0D:0E95 60        |*ww| 	rts


//マップ作成
0C:8001 AA        |*ww| 	tax
0C:8078 20 85D7   |*ww| 	jsr     0D785h		//イベント毎のマップデータ解凍
							//マップIDとか天気とか
0C:808D 22 25DE82 |*ww| 	jsl     \82h,0DE25h	//マップ作成
0C:8091 22 93E082 |*ww| 	jsl     \82h,0E093h	//マップグラフィック展開
0C:80AB 22 25DE82 |*ww| 	jsl     \82h,0DE25h	//マップ作成
0C:80AF 22 93E082 |*ww| 	jsl     \82h,0E093h	//マップグラフィック展開
							//マップ作成についてはTO_map.txt参照


//イベント開始
9A/8F12:	228AA180	JSR $80A18A
9A/8F16:	22F58799	JSR $9987F5		//イベント命令実行
9A/8F1A:	C9FF    	CMP #$FF
9A/8F1C:	D0F4    	BNE $8F12
9A/8F1E:	60      	RTS

//イベント命令実行
0C:87F5 8B        |*ww| 	phb
9A/8F16:	22F58799	JSR $9987F5

0C:8A23 E2 20     |*ww| 	sep.b   20h		;m = 8bit
0C:8A25 A6 E1     |*ww| 	ldx     !0E1h
0C:8A27 BC 0600   |*ww| 	ldy     @0006h,x
0C:8A2A 84 E3     |*ww| 	sty     !0E3h
0C:8A2C BD 0800   |*ww| 	lda     @0008h,x
0C:8A2F 85 E5     |*ww| 	sta     !0E5h
0C:8A31 E2 20     |*ww| 	sep.b   20h		;m = 8bit
0C:8A33 A6 E1     |*ww| 	ldx     !0E1h
0C:8A35 7B        |*ww| 	tdc
0C:8A36 BD 0B00   |*ww| 	lda     @000Bh,x
0C:8A39 F0 0A     |*ww| 	beq     8A45h		;>
0C:8A3B 3A        |*ww| 	dec     a
0C:8A3C C2 20     |*ww| 	rep.b   20h		;m = 16bit
0C:8A3E 0A        |*ww| 	asl     a
0C:8A3F AA        |*ww| 	tax
0C:8A40 E2 20     |*ww| 	sep.b   20h		;m = 8bit
0C:8A42 7C 5D8A   |*ww| 	jmp     (@8A5Dh,x)		;>
0C:8A45 7B        |*ww| 	tdc
0C:8A46 A7 E3     |*ww| 	lda     [!0E3h]
99/8A48:	C9FF    	CMP #$FF
99/8A4A:	D008    	BNE $8A54
0C:8A4C C2 20     |*ww| 	rep.b   20h		;m = 16bit
0C:8A4E E6 E3     |*ww| 	inc     !0E3h
0C:8A50 A7 E3     |*ww| 	lda     [!0E3h]
0C:8A52 E6 E3     |*ww| 	inc     !0E3h
0C:8A54 C2 20     |*ww| 	rep.b   20h		;m = 16bit
0C:8A56 0A        |*ww| 	asl     a
0C:8A57 AA        |*ww| 	tax
0C:8A58 E6 E3     |*ww| 	inc     !0E3h
0C:8A5A 7C 778A   |*ww| 	jmp     (@8A77h,x)		;>

C8A42とC8A5Aで各イベント命令毎で分岐
以下は分岐先アドレスリスト

99/8A5D:	BC90
99/8A5F:	C990
99/8A61:	F190
99/8A63:	0091
99/8A65:	0B91
99/8A67:	1B91
99/8A69:	2691
99/8A6B:	3C91
99/8A6D:	5491
99/8A6F:	7D91
99/8A71:	A691
99/8A73:	B391
99/8A75:	EA91
99/8A77:	0192
99/8A79:	0B92
99/8A7B:	1592
99/8A7D:	2692
99/8A7F:	3792
99/8A81:	4F92
99/8A83:	6092
99/8A85:	7192
99/8A87:	8192
99/8A89:	8E92
99/8A8B:	9B92
99/8A8D:	A892
99/8A8F:	B592
99/8A91:	BF92
99/8A93:	718C
99/8A95:	318A
99/8A97:	F092
99/8A99:	2093
99/8A9B:	718C
99/8A9D:	5093
99/8A9F:	E793
99/8AA1:	718C
99/8AA3:	BB9B
99/8AA5:	DC9B
99/8AA7:	0D9C
99/8AA9:	189C
99/8AAB:	4A9C
99/8AAD:	919C
99/8AAF:	D09C
99/8AB1:	DA9C
99/8AB3:	DA9C
99/8AB5:	718C
99/8AB7:	738C
99/8AB9:	7998
99/8ABB:	9D99
99/8ABD:	928C
99/8ABF:	0B99
99/8AC1:	2F9A
99/8AC3:	0399
99/8AC5:	279A
99/8AC7:	ED94
99/8AC9:	F196
99/8ACB:	7697
99/8ACD:	F897
99/8ACF:	E594
99/8AD1:	E996
99/8AD3:	7F98
99/8AD5:	A399
99/8AD7:	6A9F
99/8AD9:	969F
99/8ADB:	2EBD
99/8ADD:	DAC2
99/8ADF:	00C5
99/8AE1:	12C5
99/8AE3:	CEC0
99/8AE5:	28C7
99/8AE7:	28C8
99/8AE9:	43C8
99/8AEB:	ABBE
99/8AED:	EA9C
99/8AEF:	F39C
99/8AF1:	F7C5
99/8AF3:	5EB2
99/8AF5:	56B2
99/8AF7:	D0B2
99/8AF9:	C4B2
99/8AFB:	DA9C
99/8AFD:	DA9C
99/8AFF:	EEBC
99/8B01:	DE9C
99/8B03:	DE9C
99/8B05:	E69F
99/8B07:	DE9C
99/8B09:	DE9C
99/8B0B:	EFB5
99/8B0D:	EFB5
99/8B0F:	B89A
99/8B11:	659E
99/8B13:	DE9E
99/8B15:	E99E
99/8B17:	BAB1
99/8B19:	389F
99/8B1B:	ABC7
99/8B1D:	EFC7
99/8B1F:	25C5
99/8B21:	3AC4
99/8B23:	75C4
99/8B25:	5EC8
99/8B27:	BD9F
99/8B29:	FD9F
99/8B2B:	27A0
99/8B2D:	C0BE
99/8B2F:	73C0
99/8B31:	EDC0
99/8B33:	2BC0
99/8B35:	FAC3
99/8B37:	FD9B
99/8B39:	05BC
99/8B3B:	E4BC
99/8B3D:	DAC2
99/8B3F:	49A0
99/8B41:	1B90
99/8B43:	94A0
99/8B45:	DCA0
99/8B47:	EDC2
99/8B49:	F88F
99/8B4B:	EB8F
99/8B4D:	49BE
99/8B4F:	6890
99/8B51:	8690
99/8B53:	A190
99/8B55:	629F
99/8B57:	21BD
99/8B59:	0AC5
99/8B5B:	E4C5
99/8B5D:	32C4
99/8B5F:	6DC4
99/8B61:	F59F
99/8B63:	1FA0
99/8B65:	B2BE
99/8B67:	6BC0
99/8B69:	E3C0
99/8B6B:	ECC3
99/8B6D:	E5C2
99/8B6F:	41BE
99/8B71:	B0C5
99/8B73:	76BB
99/8B75:	C7BB
99/8B77:	6EBB
99/8B79:	BFBB
99/8B7B:	66A1
99/8B7D:	E6AE
99/8B7F:	AAAD
99/8B81:	B59A
99/8B83:	5CBB
99/8B85:	C992
99/8B87:	63BF
99/8B89:	C6BF
99/8B8B:	ABC0
99/8B8D:	8EB1
99/8B8F:	EFBA
99/8B91:	34BB
99/8B93:	E5BA
99/8B95:	2ABB
99/8B97:	ABB9
99/8B99:	A3B9
99/8B9B:	F9C7
99/8B9D:	0BC8
99/8B9F:	03C8
99/8BA1:	86AD
99/8BA3:	74B9
99/8BA5:	66B9
99/8BA7:	0BB9
99/8BA9:	03B9
99/8BAB:	2FC5
99/8BAD:	B89A
99/8BAF:	ADBA
99/8BB1:	A3B8
99/8BB3:	91B8
99/8BB5:	F5B7
99/8BB7:	EDB7
99/8BB9:	A3B7
99/8BBB:	9BB7
99/8BBD:	CCB7
99/8BBF:	C4B7
99/8BC1:	7CB7
99/8BC3:	74B7
99/8BC5:	E1C4
99/8BC7:	3BC7
99/8BC9:	51C7
99/8BCB:	63C7
99/8BCD:	75C7
99/8BCF:	87C7
99/8BD1:	37B8
99/8BD3:	42B8
99/8BD5:	DCC4
99/8BD7:	8394
99/8BD9:	8796
99/8BDB:	7D94
99/8BDD:	8196
99/8BDF:	0B99
99/8BE1:	2F9A
99/8BE3:	0399
99/8BE5:	279A
99/8BE7:	5093
99/8BE9:	E793
99/8BEB:	239C
99/8BED:	6A9C
99/8BEF:	7F98
99/8BF1:	A399
99/8BF3:	7998
99/8BF5:	9D99
99/8BF7:	7794
99/8BF9:	7B96
99/8BFB:	7398
99/8BFD:	9799
99/8BFF:	7398
99/8C01:	9799
99/8C03:	7194
99/8C05:	7596
99/8C07:	6D98
99/8C09:	9199
99/8C0B:	6D98
99/8C0D:	9199
99/8C0F:	9EB8
99/8C11:	83B8
99/8C13:	1FB8
99/8C15:	2BB8
99/8C17:	39C5
99/8C19:	E48D
99/8C1B:	448E
99/8C1D:	AD8E
99/8C1F:	DE9C
99/8C21:	DE9C
99/8C23:	899D
99/8C25:	F79D
99/8C27:	BD9C
99/8C29:	DA92
99/8C2B:	E492
99/8C2D:	B19C
99/8C2F:	549D
99/8C31:	FC9C
99/8C33:	68B1
99/8C35:	FCA0
99/8C37:	6DB7
99/8C39:	99C7
99/8C3B:	1DB7
99/8C3D:	15B7
99/8C3F:	E1B8
99/8C41:	F2B8
99/8C43:	FAB5
99/8C45:	F2B5
99/8C47:	EFB5
99/8C49:	EAB5
99/8C4B:	87BF
99/8C4D:	B6B6
99/8C4F:	44B5
99/8C51:	3CB5
99/8C53:	ACB5
99/8C55:	A4B5
99/8C57:	56B6
99/8C59:	4EB6
99/8C5B:	D1AD
99/8C5D:	ACAE
99/8C5F:	AA8F
99/8C61:	848D
99/8C63:	1EB4
99/8C65:	D3B3
99/8C67:	D08C
99/8C69:	89B3
99/8C6B:	3BB3
99/8C6D:	F89E
99/8C6F:	E19C

イベントを完全に制御するには全てのアドレス先のルーチンを解析しなければならない。
が、そんなもんやってられんとです・・・


//イベント毎のマップデータ構造
識別子?		FFでデータを展開せずに終了
16C0		マップID1
16BE		マップID2	この2つの関係はTO_MapID.txt参照
1EA2		天気
591,571,595,575
592,572,596,576
593,573,597,577
594,574,598,578
7EBD89		戦闘かトレーニングかの区別

TO_MapID


16C4	16C0			16BE				582DD	16BC
00	00:港町ゴリアテ		00:町①				0	
01	01:古都ライム							16
02	02:港町アシュトン						08
03	03:------(港町ゴリアテ)	
04	04:------(港町ゴリアテ)	
05	05:------(港町ゴリアテ)	
06	06:------(港町ゴリアテ)	
07	07:------(港町ゴリアテ)	
08	08:------(港町ゴリアテ)	
09	09:古都ライム							16
0A	0A:古都ライム	
0B	0B:古都ライム	
0C	0C:古都ライム	
0D	0D:------(古都ライム)	
0E	0E:港町ゴリアテ	
0F	0F:------(港町ゴリアテ)	
10	00:ウェアラムの町	01:町②				10	1D
11	00:バルマムッサの町	02:町③				11
12	01:グリムスビーの町						22
13	02:バルマムッサの町						0C
14	03:バルマムッサの町	
15	04:バルマムッサの町	
16	05:------(バルマムッサの町)	
17	06:------(バルマムッサの町)	
18	07:------(バルマムッサの町)	
19	00:アルモリカ城城門前	03:アルモリカ城外周		19	18
1A	01:------(クラス紹介)	
1B	00:コリタニ城城門前	04:コリタニ城外周		1B	0A
1C	00:ブリガンテス城南	05:ブリガンテス城外周		1C	04
1D	01:ブリガンテス城西						04
1E	00:フィダック城南	06:フィダック城外周		1E	0E
1F	01:フィダック城西						0E
20	00:バーシニア城城門前	07:バーシニア城外周		20	1B
21	01:バーシニア城中庭	
22	00:ハイム城裏門前	08:ハイム城外周			22	1E
23	01:ハイム城城門前	
24	02:ハイム城南	
25	03:ハイム城中庭	
26	00:アルモリカ城城内	09:城内①			26
27	01:バーシニア城城内
28	02:------(ハイム城牢獄)	
29	00:ブリガンテス城城内	0A:城内②			29
2A	01:コリタニ城城内	
2B	00:フィダック城城内	0B:城内③			2B
2C	01:------(チュートリアル)	
2D	02:------(テスト)	
2E	00:ハイム城城内		0C:城内④			2E
2F	00:クァドリガ砦		0D:砦				2F	14
30	01:ボード砦							1F
31	02:ダムサ砦							05
32	03:ゲッコー砦							23
33	04:ゲルド砦							1A
34	00:1F 空中庭園入口	0E:空中庭園(地上)		34	20
35	01:6F 青の回廊	
36	02:2F 水蛇の背	
37	03:3F 拳を握る男	
38	04:4F 鐘を鳴らす女	
39	05:5F 黄玉の涙	
3A	06:7F 奏でる黒髪	
3B	07:8F 至福の夢	
3C	08:9F 美酒の祭壇	
3D	09:10F 蜜月の日々	
3E	0A:11F 牙を剥く獣	
3F	0B:12F 赤の回廊	
40	0C:13F 時を刻む音色	
41	0D:14F 警戒の間	
42	0E:15F 星を眺める者	
43	0F:16F 黒の回廊	
44	10:17F 白の回廊	
45	11:18F 天と地の狭間	
46	00:バハンナ高原		0F:雪原				46	09
47	01:マドュラ氷原							03
48	00:タインマウスの丘	10:平地				48	12
49	01:ランベスの丘							0D
4A	02:ゴルボルザ平原						17
4B	03:ベルモルーゼ台地						02
4C	04:ゾード湿原							0B
4D	05:ボーテーゲン平原						01
4E	06:スウォンジーの森						10
4F	07:ニムラハバの森						21
50	08:ボルドュー湖畔						11
51	09:------(テスト)	
52	00:ボルダー砂漠		11:荒地				52	1C
53	01:ヨルオムザ峡谷						15
54	00:ウェオブリ山		12:火山				54	0F
55	01:ヘドン山							07
56	02:死者の宮殿最深部	
57	00:ハーネラの神殿	13:神殿				57
58	01:ゾショネルの神殿	
59	02:バーサの神殿	
5A	03:グルーザの神殿	
5B	04:バンハムーバの神殿						04
5C	00:死者の宮殿B1		14:死者の宮殿(最深部を除く)	5C	00
5D	01:死者の宮殿B2	
5E	02:死者の宮殿B3	
5F	03:死者の宮殿B4	
60	04:死者の宮殿B5	
61	05:死者の宮殿B10	
62	06:死者の宮殿B15	
63	07:死者の宮殿B20	
64	08:死者の宮殿B25	
65	09:死者の宮殿B30	
66	0A:死者の宮殿B35	
67	0B:死者の宮殿B40	
68	0C:死者の宮殿B45	
69	0D:死者の宮殿B50	
6A	0E:死者の宮殿B55	
6B	0F:死者の宮殿B60	
6C	10:死者の宮殿B65	
6D	11:死者の宮殿B70	
6E	12:死者の宮殿B75	
6F	13:死者の宮殿B80	
70	14:死者の宮殿B85	
71	15:死者の宮殿B90	
72	16:死者の宮殿B95	
73	17:死者の宮殿BXX(汎用)	
74	00:地下墓地入口		15:空中庭園(地下)		74
75	01:旧時代の遺跡	
76	02:封印の間	
77	03:封印の間(ラストステージ)	
--	--			??				76
--	--			??				78

参考:ogre.org

Map / TO_Map


・表記について
ster:7FC800-
地形:7FCC00-
パネグラ2:7FD000-
パネグラ1:7FD400-
カーソルの高さ:7FD800-
地形=フィルタ(パネグラ1):パネグラ1のIDを5875D-を通して地形IDに変換
X&Y:ビット論理積演算
X|Y:ビット論理和演算
bitX~bitY:Y番目のビットをbit0にした時の値
x:16C8(マップのx座標最大値+1)
y:16CA(マップのy座標最大値+1)
マップデータ1:解凍した地形データの3番目以降の値(開始は0番)
マップデータ2:解凍した地形データのx*y+3番目以降の値

15E25
引数 	16BE:マップID1 マップグループID
	16C0:マップID2 16BEのグループの中のID

16C4:実マップID

展開1 多分パレット
110000,X なんかのアドレスリスト。多分マップデータ
5841F,X 5875D選択用 マップ詳細IDをXに *20を16C6に
5875D+16C6
5875Dマップ毎の地形とパネルグラフィックの対応関係

01:5E79 22 B8F981 |*ww| 	jsl     \81h,F9B8h//展開
A:圧縮データ上位アドレス(8bit) X:圧縮データ下位アドレス  [$20]:展開アドレス(24bit)7F0000

[$AC]:54 @$20 @AL|@$20 60 ; $20:7F AL:A2
[$23]:@X @X @AL

$OE 圧縮データ先頭2バイト
$0A 先頭2バイト+展開アドレス下位16bit
$0C 80,40:MVN回数保存用

タインマウス
[$23]:A2B2B5 1132B5
・データ構造
展開するRAMアドレス範囲
展開するRAMアドレス範囲
以下圧縮データ

bit7:RAM2RAM
 コピー回数=bit6~bit3+3
 コピー元アドレス=コピー先アドレス-(bit2~bit0と後ろの1バイト(ビッグエンディアン)+1)
 ex.88 07→ 4回MVN コピー先アドレスより8前からコピー
 
bit6:ROM2RAM
 コピー回数=bit5~bit0+1
 現アドレスへフラグの次以降の値をコピー
 ex.52 XX XX ・・・→13h(19)回MVN
 
bit5:ZERO2RAM
 コピー回数=bit4~0+1
 現アドレスへ0をコピー
 ex.37→18h(24)回0をコピー
 
それ以下:RAM2RAM
 コピー回数=フラグの次の値&C0/4|(bit3~bit0)+4
 コピー元アドレス=コピー先アドレス-(フラグの次の値のbit1~bit0とさらに後ろの1バイト(ビッグエンディアン)+1)
 ex.18 40 00→1Ch(28)回MVN 現アドレスの1前からコピー

0:バンク切り替え
 読取アドレスをバンク+1、下位16bitを8000にする

展開2 地形グラフィックデータ
12292E,X:16BE*20だっけ?

展開1の先頭2バイト7F0000→$A6
その次の2バイト7F0002→$A8


展開アドレスリミッタを$20と$AAへ

01:5EA8 22 9FF781 |*ww| 	jsl     \81h,@F79Fh,x//展開
A:圧縮データ上位アドレス(8bit)(A4) X:圧縮データ下位アドレス(B5F6)
[$20]:展開開始RAMアドレス-1(7F0A40) [$23]:コピー用データ(A59C1F) 129C1F,16BE*20

[$AC]:54 @$22(7F) @$25(A5) 60
$28:A4
$06:圧縮フラグ、シフトさせてビットのOn/Offを見る
$07:8bitカウンタ、FFをシフトさせて8回
$09:圧縮フラグANDフィルタ用、圧縮フラグを下位何bitアドレスとして使うか
$0A:LSRフィルタ回数(圧縮フラグの上位何bitをフラグとしてみるか)
$0C:MVN回数
$0E:バイト数リミッタ
$23:@$23+4(9C23)

フラグ0
 上位bit+3回MVN
 下位bit,次のデータの3バイト+9C23


・データ構造
展開データ? 129C1F

データ種類?(1)
フラグとして上位何bitを使うか、81:F997以降に有るlsr群のどこからスタートするかでbitが決まる
展開データバイト数
展開データバイト数
以降コピー用データ


展開データ? 1235F6
圧縮フラグ
アドレスor単体コピー

圧縮フラグを左シフト→Cフラグが0→MVN用
上位4bit+3回MVN
下位4bitととなりのバイト+(A5)9C23がコピーアドレス
ex.A0 00→Dh(13)回MVN A59C23が開始アドレス

圧縮フラグを左シフト→Cフラグが1→単体コピー
ex.1C→そのままコピー



展開3

$22←7E
$5C 何コレ?(2000)RAM展開先のアドレス下位16bitか?
$20←$5C

7FD000 & 1F = 7FD400 パネルグラフィック
5875D,(X:パネルグラフィックID)(範囲20h:15E54) = 地形ID
133B35,16C4*3 マップデータアドレスリストが詰まってます

圧縮データ
01:5EC9 22 56FB81 |*ww| 	jsl     \81h,0FB56h//マップデータ展開
A:圧縮データ上位アドレス(8bit) X:圧縮データ下位アドレス [$20]:展開アドレス(24bit)(7E:2000)

[$26]:圧縮データアドレス(A7882A)
[$23]:データの処理範囲+[$26]+1(SEC)+2(INC$26*2) @AL(A7) = 処理する圧縮データのmaxアドレス
$0E:展開アドレスのバイト数リミッタ
$0C:展開先maxアドレス
$08:16カウンタ(Fを入れて-1していく)

・マップデータ構造
展開アドレスのバイト数リミッタ
展開アドレスのバイト数リミッタ
データの処理範囲

展開用データがたくさんなので略

フラグ(データの処理範囲+1バイト目)
フラグ(ビッグエンディアンと思って良い)
以降フラグの並び

138840 ROM2RAM 再帰フラグ
BE8D
1011 1110 1000 1101
C683
1100 0110 1000 0011
24B5
0010 0 

138844 RAM2RAM +0or+200フラグ 7E:2000-7E:231Aまで
24B5
    100 1011 0101

138946
00C3
0000 0000 1100 001

残り1は余り

0 19
1 18


ï½¥ROM2RAM
1と0がくっつく
0が連続で出た時、それ以前の10の連続した組み合わせ分だけ階層が下がる。最後にくっついた1の時のYの値が現在値になる
雪崩中に、直前に書き込んだYの値を各階層でのY+200で書き込む

先頭では1の連続を多くしないといけない
最後尾は少なくとも0を2連続させないといけない

1が出た時は y+=2 
0が連続でたあと1が出るとYが変化する以前の値になる

再帰フラグ1
再帰(サブルーチン1階層上げ)
この回は飛ばす
Y += 2

再帰フラグ0
単体だけだとサブルーチン階層変わらず
再帰フラグ数-1だけ離れたところに書き込む

再帰フラグ2連続目0
同じYで25xxに値を書込む
直前に書き込んだYの値を各階層でのY+200で書き込む
最後だけは+200はせずにYで書き込む
連続先頭以前の書込み回数*2だけsage

再帰フラグ3連続目0
2連続目で連続先頭以前の書込み回数*2だけsageってるのでそのY+200に値を書き込む
また、sage


/*
圧縮フラグが0→$7E:231B,y+フラグ1で読み飛ばしたバイト*2に書込み
→次もフラグが0→$7E:251B,yに書込み→以前書き込んだy+200に今書き込んだyを書き込む→以前書き込んだyってやつをさらに以前書き込んだy+200hに書き込む→以前書き込んだ

23xxでアドレスを書いて終わってると次は25xxに書込み
*/


ï½¥RAM2RAM
基本はフラグ16回転で、ただし、フラグの意味は231B~か251B~のどちらを指定するかのフラグ
231Bまたは251Bからスタートして目的のデータを格納してるアドレスに辿り着くまでフラグで指定しつつ
アドレスに格納されたアドレスで右往左往しながら目指す。

プログラム的には冗長が少なくても実行速度に難ありだよなぁ

133B85 マップデータアドレスリスト,X:使用マップID
13882A タインマウス先頭データ


$OCは何に使われてる?
展開先オフセットと展開先2の上限として


展開後のマップに関するデータ
16C8:x最大値
16CA:y最大値
16CC:不明
16CE:FFA0+(sterが0かFFの個数)*10h
16D0:(x+y)*10h-A0-(sterが0かFFの個数)*10h
16D2:FFA8
16D4:(x+y)*8+16CC*8-78h

16CC-16D4が何に使われるのかはまだ未解明

・マップデータ2≧E0
ster=0
カーソルの高さ=マップデータ1(0以下は0)
パネグラ2=0
パネグラ1=0
地形=マップデータ2 & 3 +18

・マップデータ2<E0
ster=マップデータ1
カーソルの高さ=マップデータ1(0以下は0)
パネグラ2=マップデータ2
パネグラ1=マップデータ2 & 1F
地形=フィルタ(パネグラ1)


・パネルフィルタ
7EBD89で分岐するのと7EBDC4-E43をフラグに使うのがある。
両方とも16BEで場合分けする。
7EBD89はトレーニングは0C、イベント戦闘は0A。それ以外は不明
7EBDC4-E43はビットそれぞれがマップパネルに対応している(20h*20hのマップパネルを80h*8h)
ただ、調べた限りではいつも0なのでいつ展開されるのかはよくわからない

7EBD89≧12 7EBD89<6
3.アルモリカ城外周
ifパネグラ2&1F==12 パネグラ2=13 パネグラ1=13 地形=フィルタ(パネグラ1)
4.コリタニ城外周
ifパネグラ2&1F==14 パネグラ2=15 パネグラ1=15 地形=フィルタ(パネグラ1)
ifパネグラ2&1F==12 パネグラ2=13 パネグラ1=13 地形=フィルタ(パネグラ1)
5.ブリガンテス城外周
ifパネグラ2&1F==16 パネグラ2=13 パネグラ1=13 地形=フィルタ(パネグラ1)
ifパネグラ2&1F==04 パネグラ2=12 パネグラ1=12 地形=フィルタ(パネグラ1)
6.フィダック城外周
ifパネグラ2&1F==12 パネグラ2=13 パネグラ1=13 地形=フィルタ(パネグラ1)
7.バーシニア城外周
ifパネグラ2&1F==12 パネグラ2=13 パネグラ1=13 地形=フィルタ(パネグラ1)
ifパネグラ2&1F==14 パネグラ2=15 パネグラ1=15 地形=フィルタ(パネグラ1)
8.ハイム城外周
ifパネグラ2&1F==12 パネグラ2=13 パネグラ1=13 地形=フィルタ(パネグラ1)
9.城内①
ifパネグラ2&1F==15 パネグラ2=16 パネグラ1=16 地形=フィルタ(パネグラ1)
A.城内②
ifパネグラ2&1F==15 パネグラ2=16 パネグラ1=16 地形=フィルタ(パネグラ1)
B.城内③
ifパネグラ2&1F==15 パネグラ2=16 パネグラ1=16 地形=フィルタ(パネグラ1)
C.城内④
ifパネグラ2&1F==15 パネグラ2=16 パネグラ1=16 地形=フィルタ(パネグラ1)

6≦7EBD89<12
3.アルモリカ城外周
ifパネグラ2&1F==1F パネグラ2=(パネグラ2&E0-40)|1E パネグラ1=(パネグラ2&E0-40)|1E&1F 地形=フィルタ(パネグラ1) ster-=2 カーソルの高さ-=2
4.コリタニ城外周
ifパネグラ2&1F==1F パネグラ2=(パネグラ2&E0-40)|1E パネグラ1=(パネグラ2&E0-40)|1E&1F 地形=フィルタ(パネグラ1) ster-=2 カーソルの高さ-=2
6.フィダック城外周
ifパネグラ2&1F==1F パネグラ2=(パネグラ2&E0-40)|1E パネグラ1=(パネグラ2&E0-40)|1E&1F 地形=フィルタ(パネグラ1) ster-=2 カーソルの高さ-=2
8.ハイム城外周
ifパネグラ2&1F==1F パネグラ2=(パネグラ2&E0-40)|1E パネグラ1=(パネグラ2&E0-40)|1E&1F 地形=フィルタ(パネグラ1) ster-=2 カーソルの高さ-=2

※パネグラ2&E0-40は0以下のときは0


7EBDC4-E43のビットが立っている場合
16BE*2をインデックスにしてパネグラ2が0の場合は306C2-、0以外では306F2-にあるオフセットアドレス2バイトを取得
30000+オフセットアドレスにある値とパネグラ2&1Fを比較
同値であれば30000+オフセットアドレス+1の値をパネグラ1,2とフィルタを通して地形に
同値でなければオフセットアドレスを+2して、最下位桁の値が繰り上がるまで繰り返し

ex.
パネグラ2=3 16BE=5 として
306F2+5*2の値は872A
3072Aの値とパネグラ2(3)を比較
同値でないので3072Cと比較
同値でないので3072Eと比較
同値でないが+2すると30730で桁上がりしているので終了
パネグラ1,2、地形は変化せず


イベントデータ
0C:D780 22 9FF781 |*ww| 	jsl     \81h,0F79Fh
[$20]:展開先アドレス(7E2000) [$23]:共通データ(BECC7D:1F4C7D)
AL:展開データ上位8bit X:展開データ下位16bit
タインマウス:CFF901(27F901)最初の2バイトは展開後サイズ

圧縮方式は4
上位3bitをフラグに使う
$0A:フラグに使う上位bit数(3)+F997
$09:下位5bit
$07:FF:8bitカウンタ?
$06:回転用フラグ
$0C:MVN回数
$0E:展開総バイト数

ぶっちゃけ敵パラメータと同じ

展開後
FFor 2種類あるのか?
16C0 後で変更
16BE 後で変更
1EA2:天候2
591,595,571,575
2バイト目
593,597,573,577
2バイト目
7EBD89


マップ
7F2000-7F7FFFを「80 02」で埋める

<Y>
$10=00
X=01
Y=01
JSR $E0F6
Y+=01
if Y!=maxY	goto <Y>

<X>
$10=01
X=01
Y=01
JSR $E0F6
X+=01
if Y!=maxX	goto <X>

$E0F6//サブルーチン
$04=00
$06=00
$07=01
$09=ster
$0A=x
$0B=y
$0C=FF
$0E=座標値
$22=00
$11=1F
$12=1F

	x
	$10=01
	$0D=sterのx次
	$05=パネグラ2のx次上位3bit
	$20=(x+y+1+16CC-ster)*40+maxY+x-y-1+1

	y
	$10=00
	$0D=sterのy次
	$05=パネグラ2のy次上位3bit
	$20=(x+y+1+16CC-ster)*40+maxY+x-y-1

if ster!=0 goto <ster!=0>
<ster==0>
$12+=01
$10を反転

	x
	$0A+=01	//maxXを越えると終了
	$0E+=01
	if $12>カーソルの高さのx前 $12 = カーソルの高さのx前//この前に座標値を増やしているのに注意
	
	y
	$0B+=01	//maxYを越えると終了
	$0E+=20
	if $12>カーソルの高さのy前 $12 = カーソルの高さのy前

$0C=$09
$09=$0D	//sterの次

	x
	$0D=sterのy次 //マイナスは0
	y
	$0D=sterのx次

if $09==0 goto <ster==0>	//ループ

	x
	$20=(x+y+1+16CC-ster)*40+maxY+x-y-1
	y
	$20=(x+y+1+16CC-ster)*40+maxY+x-y-1+1

if 	$09==$0C 
	if 	$04!=0 	$07=09
	else if $05!=0 	$07=01
	else 		$07=09
else if !($09 & 80)	$07=01
else if $04!=0
	if $0C-$04<$09 	$07=0B	//※正確には「桁下がりが起きたら」
	else if $05!=0	$07=01
	else		$07=0B
else if $05!=0		$07=01
else			$07=0B

if $0C==0
	if $09-$12<=0 	//※正確には「桁下がりが起きたら」
		if !(7D8000,x & F0) $06=01	//インデックスは$20
		else	$06=00
	else		$06=$09-$12+1
	
	if $09-$11<0||$09-$11+2<$06	goto <ster!=0>	//※正確には「桁下がりが起きたら」
	else		$06=$09-$11+2
else if $09-$0C>0	$06+=$09-$0C+1

<ster!=0>
$04=パネグラ2>>5	//パネグラ2の上位3bit インデックスは$0E:座標値

if $04!=0
	if $22=<$04+1	$22=$04+1

$08=パネグラ2&1F	//パネグラ2の下位5bit

if $08>=18
	if $10==0 A=パネグラ2のx前	//$10:xとyの区別
	else	 A=パネグラ2のy前	//ただし、ster==0を通ると反転しているので注意
	
	if A&1F==$08
		if $0C==$09	$08+=01
		
if $0D==0	$03=01
else		goto <62EA>

if $10==0 goto <62B2>

<629B>
x+=01	//x方向へ+1
if ster<0 	goto <62EA>
else ster!=0 	goto <62C7>

$03+=01
$00=カーソルの高さ

<62B2>
x+=20	//y方向へ+1
if ster<0 	goto <62EA>
else ster!=0	goto <62C7>

$03+=01
$00=カーソルの高さ

goto <629B>	//ループ
<62C7>
if $00>ster	$00=ster
$11=$03+$09

if $09-$00+$03<0 $03=01
else		$03=$09-$00+$03

if $09>$03	goto <$09>$03>
<62EA>
if $10==0	$05=パネグラ2のy次>>5	//インデックスは座標値
else		$05=パネグラ2のx次>>5

if $05+$09-$0D<0 $03=01
else 
		$03=$05+$09-$0D
	if $05!=0 $03+=01

if $0D==0	$03+=01

<$09>$03>
$02=00
JSR $E375	//引数は$07
$02+=01
$03-=01
if $03==0	goto <ster==0>	//ループ

JSR $E375	//引数は03
$02+=01
$03-=01
if $03==0	goto <ster==0>	//ループ

<6335>
if $02!=$09
	JSR $E375 //引数は05
	$02+=01
	$03-=01
	if $03!=0 goto <6335>	//ループ
	else	goto <ster==0>	//ループ
else
	JSR $E375 //引数は07
		goto <ster==0>	//ループ



$E375//サブルーチン
if $06!=0
	$06-=01
	$7F8000,x=$7F8000,x&F0|(引数+$10)	//インデックスは$20
	$7F9800,x=$0A
	$7FB000,x=$0B
	JSR $E453
	$7F2000,x=戻り値|2000	//インデックスは$20*2
	$20=$20/2+40
	if $22!=0 $22-=01
else if $22!=0
	$22-=01
	$7F8000,x=$7F8000,x&F0|(引数+$10)	//インデックスは$20
	JSR $E453
	$7F2000,x=戻り値|2000	//インデックスは$20*2
	$20=$20/2+40
	if $06!=0 $062-=01
else
	if $7F8000,x&F0==0			//インデックスは$20
		$7F8000,x|=$7F8000,x&F0*10
		JSR $E453
		$7F5000,x=戻り値 //インデックスは$20*2
		$20=$20/2+40
	
	if $06!=0 $06-=01
	if $22!=0 $22-=01

$E453//サブルーチン
switch ($E375の引数)
case 00:
	戻り値=0280
	break
case 01:
	X=7F0004,y	//インデックスは$08*2
	戻り値=2番目の解凍データ,x	//インデックスは$7F0000,x&00FF*4
	break
case 02:
	X=7F0004,y	//インデックスは$08*2
	戻り値=2番目の解凍データ,x	//インデックスは($7F0000,x&00FF*2+1)*2
	break
case 03:
	X=7F0004,y	//インデックスは$08*2
	戻り値=2番目の解凍データ,x	//インデックスは$7F0001,x&00FF*4
	break
case 04:
	X=7F0004,y	//インデックスは$08*2
	戻り値=2番目の解凍データ,x	//インデックスは($7F0001,x&00FF*2+1)*2
	break
case 05:
	X=$02+7F0004,x	//インデックスは$08*2
	戻り値=2番目の解凍データ,x	//インデックスは$7F0002,x&00FF*4
	break
case 06:
	X=$02+7F0004,x	//インデックスは$08*2
	戻り値=2番目の解凍データ,x	//インデックスは($7F0001,x&00FF*2+1)*2
	break
case 07:
	X=7F0004,y	//インデックスは$08*2
	戻り値=2番目の解凍データ,x	//インデックスは$7F0002,x&00FF*4
	break
case 08:
	X=7F0004,y	//インデックスは$08*2
	戻り値=2番目の解凍データ,x	//インデックスは($7F0002,x&00FF*2+1)*2
	break
case 09:
	Y=パネグラ2のx前,x&1F*20|$08 //インデックスは$0E:座標値
	戻り値=2番目の解凍データ,y	//インデックスは(($7F0000+($7F0000)),x)&00FF*4
	break
case 0A:
	Y=パネグラ2のy前,x&1F*20|$08 //インデックスは$0E:座標値
	戻り値=2番目の解凍データ,y	//インデックスは((($7F0000+($7F0000)),x)&00FF*2+1)*2
	break
case 0B:
	Y=パネグラのx前,y&1F*2+(7F0002),y //インデックスは(sterのx前,x-ster,x)*2
	Y=7F0000,y	//インデックスは$08$0C&00FF+$7F0000,y
	戻り値=2番目の解凍データ,y	//インデックスはY&00FF*4
	break
case 0C:
	Y=パネグラのy前,y&1F*2+(7F0002),y //インデックスは(sterのy前,x-ster,x)*2
	Y=7F0000,y	//インデックスは$08$09&00FF+$7F0000,y
	戻り値=2番目の解凍データ,y	//インデックスはY&00FF*4
	break

Files

Files & Information discovered by 546◆rbsENsUukE.