Seiken Densetsu 2 / Secret of Mana

RAM Map

Offset Category Description Values
7E00F4 System Hours / 時間 時間カウント 65535の次は0に戻る
7EC800 Monster / NPC 16 bytes * N ~
7E0030 Maps Layer 2 transparency toggle ~
7E00DC - 7E00DD Maps Exit Destination 0x0F: Debug Room?
7E00DE Maps Exit Destination X-Coordinate ~
7E00DF Maps Exit Destination Y-Coordinate ~
7E00E1 Maps Exit Destination Character Entrance Style ~
7E00E2 Maps Exit Destination Screen Effects ~
7E00E4 Maps Screen Fade Wait Timer ~
7E00E5 Maps Screen Fade Timer Higher = Longer Fade Time
7E00E6 Maps Screen Brightness ~
7E00E8 Maps Entrance Style (Flammie Drops Off / Pick Up ~
7E00ED Maps Weapon Useable 0x80: Yes
0x00: No
7E1846 Ring Menu Sub Ring Menu Magic Category/
Weapon being forged
0x00: Gnome/Talon
0x01: Undine/Sword
0x02: Salamando/Axe
0x03: Sylphid/Lance
0x04: Luna/Whip
0x05: Dryad/Bow
0x06: Shade/Boomerang
0x07: Lumina/Javelin
7E1847 Ring Menu Ring Menu Mode 0x00: Use/Equip
0x01: Buy
0x02: Sell
0x03: Forge
7E180B Ring Menu Number of elements in Ring Menu ~
7EE600 Monster Base Address of Enemy 1 on Screen ~
7EE800 Monster Base Address of Enemy 2 on Screen ~
7EEA00 Monster Base Address of Enemy 3 on Screen ~
7EE602 Monster Y-Coordinate ~
7EE604 Monster X-Coordinate ~
7EE645 Monster Z-Coordinate ~
7EE781 Monster Level ~
7EE782 Monster Current HP ~
7EE784 Monster Maximum HP ~
7EE786 Monster Current MP ~
7EE787 Monster Maximum MP ~
7EE788 Monster Strength ~
7EE789 Monster Speed ~
7EE78D Monster Experience ~
7EE7C8 Monster Money / Gil ~
7EE7CE Monster Probability of Chest Drop ~
7EE7ED Monster Aggressiveness Set to 99 for rabites, counted down each frame, at zero the enemy attacks.
7ECC00 - 7ECC0B Character Name ~
7EE000 Character Companions Available / 仲間になっているか 0x00: None / いない
0x01: Friend / 仲間
0xFF: Off / 外れる
7EE00E Character Transparency / 透明 0x01: Visible / 震える
0xFF: Transparent / 透明
7EE180 Character Graphic / グラフィック 0x80: Boy / ランディ
0x81: Girl / プリム
0x82: Sprite / ポポイ
7EE181 Character Level ~
7EE182 Character Current HP / 現在のHP 0 - 999
7EE184 Character Maximum HP / HPの最大値 0 - 999
7EE186 Character Current MP / 現在のMP 0 - 99
7EE187 Character Maximum MP / MPの最大値 0 - 99
7EE188 Character Strength / 力 / ちから 0 - 99
7EE189 Character Agility / 素早さ / すばやさ 0 - 99
7EE18A Character Constitution / 体力 / たいりょく 0 - 99
7EE18B Character Intelligence / 知性 / ちせい 0 - 99
7EE18C Character Wisdom / 精神 / せいしん 0 - 99
7EE18D Character Experience / 経験値 0 - 9999999
7EE190 Character State 1 / 状態1 0x02: ?
0x04: おもり
0x08: ?
0x10: 気絶
0x20: 雪だるま
0x40: 石化
0x80: 混乱
7EE191 Character State 2 / 状態2 0x02: ちびっこ
0x04: タル
0x08: ?
0x10: モーグリ
0x20: 毒
0x40: 火だるま
0x80: 死神
7EE197 Character Hit % / 攻撃命中率 (ヒット%) 0 - 255
ヒット% = 75+(すばやさ÷4)
7EE198 Character AI: Attack / 攻撃 攻撃力 (こうげき) (0 - 255)
攻撃 = 力+武器の攻撃力
7EE19B Character Experience to Next Level (?) / ため Level 現在の必殺技ゲージたまり具合
7EE19C Character Experience Total (?) / ため最大 ~
7EE1A4 Character AI: Keep Away / 回避 回避率 (回避%) (0 - 255)
回避% = 防具三種の固有回避率の総合+(すばやさ÷4)
7EE1A5 Character AI: Guard / 防御 防御力 (ぼうぎょ) (0 - 999)
防御 = 体力+防具三種の物理防御の総合
7EE1A8 Character AI: Approach / 魔防 / 接近 魔法防御 (0 - 999)
魔法防御 = 精神+防具三種の魔法防御の総合
7EE1AE Character Critical Rate (?) / クリティカル率? 未調査
7EE1B1 Character Invincibility (?) / 無敵? 未検証
0x00
0x10: Physical / 物理無効
0xF0: Magic & Physical / 魔法反射 & 物理無効
7EE1B2 Character Unknown / 詳細不明 グラフィックフラグ?
0x08: でガッツポーズ
7EE1D0 Character Skill: Glove / グローブ熟練 / グローブの熟練度 0 - 99
7EE1C0 Character Level: Glove / Sword / グローブ/剣 Level 左がグローブ、右が剣の武器レベル
例えばグローブLv5 剣Lv3なら、「0X53」が入っている\n通常はLv8:熟練99が上限
7EE1D1 Character Skill: Sword / 剣熟練 0 - 99
剣の熟練度
7EE1D2 Character Skill: Axe / 斧熟練 0 - 99
斧の熟練度
7EE1C1 Character Level: Axe / Spear / 斧 / 槍 Level 左が斧、右が槍の武器レベル
通常はLv8:熟練99が上限
7EE1D3 Character Skill: Spear / 槍熟練 0 - 99
槍の熟練度
7EE1D4 Character Skill: Whip / ムチ熟練 0 - 99
ムチの熟練度
7EE1C2 Character Level: Whip / Bow / ムチ / 弓 Level 左がムチ、右が弓の武器レベル
通常はLv8:熟練99が上限
7EE1D5 Character Skill: Bow / 弓熟練 0 - 99
弓の熟練度
7EE1D6 Character Skill: Boomerang / ブーメラン熟練 0 - 99
ブーメランの熟練度
7EE1C3 Character Level: Boomerang / Javelin / ブーメラン/スピアLv 左がブーメラン、右がスピアの武器レベル
通常はLv8:熟練99が上限
7EE1D7 Character Skill: Javelin / スピア熟練 0 - 99
スピアの熟練度
7EE1E0 Character Armor: Head / 頭防具 装備中の頭防具。「持ち物」の項目のほうが優先されます
7EE1E1 Character Armor: Body / 体防具 装備中の頭防具。「持ち物」の項目のほうが優先されます
7EE1E2 Character Armor: Arms / 腕防具 装備中の頭防具。「持ち物」の項目のほうが優先されます
7EE1E3 Character Weapon / 武器 装備中の武器。「武器パワー」の項目のほうが優先されます
7EE1E4 Character Weapon Type / 武器の種類 「武器パワー」の項目のほうが優先されます
0x0: Glove / グローブ
0x1: Sword / 剣
0x2: Axe / 斧
0x3: Spear / 槍
0x4: Whip / ムチ
0x5: Bow / 弓
0x6: Boomerang / ブーメラン
0x7: Javelin / スピア
7EE1E8 Character Weapon Subaddress (?) / 武器サブアドレス? Same as 7EE1E3
7EE1E3と同じ値
7EE1ED Character Power Guage / パワーゲージ 攻撃直後は99で、減っていく。0で100%
7EE1F1 Character HP Damage / HPダメージ HPダメージ処理に使用?
7EE1F3 Character HP Recovery / HP回復 HP回復処理に使用?
7EE1F5 Character MP Recovery / MP回復 MP回復処理に使用?
7EE1F6 Character MP Damage . MPダメージ MPダメージ処理に使用?
7EE1FB Character Flag Operation / 操作フラグ (?) Unknown, usually 0x80 / 不明、通常は80
0x2: Unable to move
0x4: Invincible
7ECC24 Personal Effects Armor: Head / 頭防具 変更すると装備が外れてしまうので、ゲーム内で装備しなおしてください
7ECC24 Personal Effects Person Equipped / 装備者 頭防具の装備者。防具が「なし」の場合はポポイになっています
※変更すると装備が消えてしまうので、いじらないでください
0x00
0x40: Boy / ランディ
0x80: Girl / プリム
0xC0: Sprite / ポポイ
7ECC30 Personal Effects Armor: Body / 体防具 変更すると装備が外れてしまうので、ゲーム内で装備しなおしてください
7ECC30 Personal Effects Person Equipped / 装備者 体防具の装備者。防具が「なし」の場合はポポイになっています
※変更すると装備が消えてしまうので、いじらないでください
0x00
0x40: Boy / ランディ
0x80: Girl / プリム
0xC0: Sprite / ポポイ
7ECC3C Personal Effects Armor: Arms / 腕防具 変更すると装備が外れてしまうので、ゲーム内で装備しなおしてください
7ECC3C Personal Effects Person Equipped / 装備者 腕防具の装備者。防具が「なし」の場合はポポイになっています
※変更すると装備が消えてしまうので、いじらないでください
0x00
0x40: Boy / ランディ
0x80: Girl / プリム
0xC0: Sprite / ポポイ
7ECC48 Personal Effects Item / アイテム アイテムの種類と個数。通常は4個までしか買えません
16進数の左の桁に個数×2、右の桁にアイテムIDが入っています
7ECC6A Personal Effects Money (Gil) / 所持金 0 - 9999999
所持金額 (ルク)
7EE782 Monster / During Comabt Enemy HP / 敵HP ~
7ECC54 Character / Weapon Weapon Rank / 武器ランク 現在の武器ランク(0~8)、63は未入手武器の意味
変更すると装備が外れてしまうので、ゲーム内で装備しなおしてください
7ECC54 Character / Weapon Peron Equipped / 装備者 ※変更すると武器ランクが0になってしまうので、いじらないでください
0x00
0x40: Boy / ランディ
0x80: Girl / プリム
0xC0: Sprite / ポポイ
7ECFB8 Character / Weapon Weapon Power / 武器パワー 手に入れた武器パワー(0~8)。ワッツの店で鍛えると、ここの値まで武器ランクを上げられます。
7EE3D8 Character / Magic Gnome Skill / ノーム熟練 0 - 99
ノームの熟練度
7EE3C4 Character / Magic Gnome / Undine / ノーム / ウンディーネ 左がノーム、右がウンディーネの熟練レベル
例えばノームLv5 ウンディーネLv3なら、「OX53」が入っている
通常はLv8:熟練99が上限
7EE3D9 Character / Magic Level: Undine / ウンディーネ熟練 0 - 99
ウンディーネの熟練度
7EE3DA Character / Magic Level: Salamando / サラマンダー熟練 0 - 99
サラマンダーの熟練度
7EE3C5 Character / Magic Salamando / Sylphid (Jin) / サラマンダー / ジン 左がサラマンダー、右がジンの熟練レベル
通常はLv8:熟練99が上限
7EE3DB Character / Magic Level: Sylphid (Jin) / ジン熟練 0 - 99
ジンの熟練度
7EE3DC Character / Magic Level: Luna / ルナ熟練 0 - 99
ルナの熟練度
7EE3C6 Character / Magic Luna / Dryad / ルナ / ドリアード 左がルナ、右がドリアードの熟練レベル
通常はLv8:熟練99が上限
7EE3DD Character / Magic Levek: Dryad / ドリアード熟練 0 - 99
ドリアードの熟練度
7EE3DE Character / Magic Level: Shade / シェイド熟練 0 - 99
シェイドの熟練度、ポポイのみ
7EE3C7 Character / Magic Shade / Wisp / シェイド / ウィスプ 左がシェイド、右がウィスプの熟練レベル
通常はLv8:熟練99が上限
プリムはシェイドを使えず、ポポイはウィスプを使えない
7EE3DF Character / Magic Level: Wisp / ウィスプ熟練 0 - 99
ウィスプの熟練度、プリムのみ

ROM Map

The ROM Map describes various offsets, some could be broken down further and just haven't been expanded up on, but data structures are provided for those linked to.

Offset Category Description
014E00 - 014FFF Graphics / グラフィック Ball Object (4BPP)
02B8D6 - 02BAD5 Graphics / グラフィック Floating Mana Fortress (4BPP)
033D39 - 033DF8 Audio / Pointers SPC Pointers / シーケンスデータへのオフセット [3 bytes * 64]
033DF9 - 033E5B Audio / Pointers BRR Pointers / 波形へのオフセット [3 bytes * 33]
033E5C - 033E9D Audio / Other 波形ループ開始位置 [2 bytes * 33]
033E9E - 033EDF Audio / Other 波形音程補正 [2 bytes * 33]
033EE0 - 033F21 Audio / Other 波形ADSR [2 bytes * 33]
033F22 - 034781 Audio / Other Sample Indexes / BGM毎 波形指定 [32 bytes * 67]
034782 - 04D33C Audio / Waveform Non-Music Audio
04D33D - 05FFE8 Audio / Track SPC Music Audio
062000 - 062FFF Graphics / グラフィック Clouds (4BPP)
063000 - 063FFF Graphics / グラフィック Flamie (7 Blank 8x8) (4BPP)
066700 - 0669FF Graphics / グラフィック Explosion (4BPP)
066C00 - 0673FF Graphics / グラフィック Unknown Graphics (4BPP)
07FB00 - 07FB9F Graphics / グラフィック Map Directions (4BPP)
081000 - 081F59 Graphics / Palettes Monster / Character Palettes
083000 - ~ Maps / Entry & Exit Data 4 bytes
0A7E1C - 0A7E33 Item / Prices / アイテムの値段 Item Price / アイテム値段 [2 bytes]
0A7E34 - 0A7EB1 Item / Prices / アイテムの値段 Armor Price / 防具値段 [2 bytes]
0A7ED2 - 0A7F79 Item / Store Inventory Store Inventory Lists (1 byte * number of items)
0B4000 - ~ Graphics / Tilemaps 16x16 16x16 Tile Sets
0C0C00 - 0CEAD9 Maps / Compressed Data / マップ圧縮 Map IDs: 0x0300 ~ ?
0C9000 - ~ Text / Script Pointers First 1024 Script Pointers
0CA000 - ~ Text / Script Pointers Remaining Script Pointers
0CEADA - 0CEFFF Unused / Free Space / 未使用領域 Filled with 0xFF
0CF000 - 0CFBA2 Maps / Compressed Data / マップ圧縮 Map IDs: 0x037F ~ ?
0CFBA3 - 0CFFFF Unused / Free Space / 未使用領域 Filled with 0xFF
0D0000 - 0D0005 Maps / Comparative Map ID for Changing Bank / バンク変更用 マップID比較 [2 bytes * 3]
0D0006 - 0D0803 Maps / Map Offset / マップオフセット [2 bytes * 1023]
0D0804 - 0FFE52 Maps / Compressed Data / マップ圧縮 Map IDs: 0x0000 ~ ?
0FFE53 - 0FFFF3 BIOS / Multi-Tap BIOS MULTI5 CONNECT CHECK Ver1.00
0FFFF4 - 0FFFFF Unused / Free Space / 未使用領域 Filled with 0xFF
100000 - 1007FF Graphics / Monster Structure Graphics, Shadows, Animations, etc
101000 - 1018E7 Item / Weapons Data / 武器データ [12 bytes each, 190 entries]
101C00 - 102A7F Monster / Data / モンスターステータス [29 bytes, 128 entries]
102AA0 - 10351F Character / Magic Data / 魔法データ [40 bytes, 42 entries]
103A50 - 103CCF Monster / Treasure Chest Drop [5 bytes * 128 Groups]
103ED0 - 104145 Item / Armor Data [10 bytes * 62]
104146 - 10414F Unused / Free Space / 未使用領域 Filled with 0xFF
104150 - 10420F Item / Data [16 bytes * 12]
104210 - 104527 Character / Level Data / Boy / ランディ Levels 1 - 99 [8 bytes * 99]
104528 - 10483F Character / Level Data / Girl / ププリム Levels 1 - 99 [8 bytes * 99]
104840 - 104B57 Character / Level Data / Sprite / ポポイ Levels 1 - 99 [8 bytes * 99]
104B58 - 104C80 Character / Experience Data / Levels Level Up Values [3 bytes * 99]
105116 - ~ Monster / AI & Movement Each entry ending with 0xFF
127E80 - 1281FF Graphics / グラフィック Power Meter / Numbers / Character Boxes (2BPP)
128760 - 12C59F Graphics / Icons Menu Icons
12C680 - 12C8FF Graphics / グラフィック Character Icons / メニュー画像 (4BPP)
12D080 - 12D47F Graphics / グラフィック Message Boxes / メニュー画像 (2BPP)
12D480 - 12D87F Graphics / グラフィック メニュー画像 (4BPP)
12D880 - 12DB7F Graphics / グラフィック メニュー画像 (2BPP)
14FDC0 - 1877DF Graphics / グラフィック Graphic (4BPP)
150000 - 157FFF Graphics / グラフィック ランディ
150000 - 1A0FFF Graphics / グラフィック キャラ画像 (4BPP)
158000 - 15FFFF Graphics / グラフィック プリム
160000 - 167FFF Graphics / グラフィック ポポイ
168000 - 16953F Graphics / グラフィック 精霊
169540 - 169DFF Graphics / グラフィック ニキータ
169E00 - ~ Graphics / グラフィック 鍛冶屋ワッツ
187D40 - 18FD3F Graphics / グラフィック Graphic (4BPP)
198000 - 19FBFF Graphics / グラフィック Graphic (4BPP)
19FEC0 - 19FFFF Graphics / グラフィック 0-F Hexadecimal Font (1BPP)
1A0000 - 1A0FFF Graphics / グラフィック Graphic (4BPP)
1C0000 - 1FFFFF Graphics / グラフィック 画像 (4BPP)

Data Tables

Audio Waveforms

Offset Description
034782 - 034E67 波形 [01]
034E68 - 035343 波形 [02]
035344 - 0356B7 波形 [03]
0356B8 - 03618D 波形 [04]
03618E - 036ED9 波形 [05]
036EDA - 037C0A 波形 [06]
037C0B - 037DC5 波形 [07]
037DC6 - 0381D2 波形 [08]
0381D3 - 039194 波形 [09]
039195 - 03A0E1 波形 [0A]
03A0E2 - 03BA8D 波形 [0B]
03BA8E - 03CA3D 波形 [0C]
03CA3E - 03CC9A 波形 [0D]
03CC9B - 03CF87 波形 [0E]
03CF88 - 03E38A 波形 [0F]
03E38B - 03F33A 波形 [10]
03F33B - 03F4B6 波形 [11]
03F4B7 - 03FBC9 波形 [12]
03FBCA - 041605 波形 [13]
041606 - 041EA4 波形 [14]
041EA5 - 04230B 波形 [15]
04230C - 043906 波形 [16]
043907 - 043F9B 波形 [17]
043F9C - 0447F2 波形 [18]
0447F3 - 045988 波形 [19]
045989 - 046254 波形 [1A]
046255 - 046CE2 波形 [1B]
046CE3 - 048E14 波形 [1C]
048E15 - 04954B 波形 [1D]
04954C - 049FD9 波形 [1E]
049FDA - 04B058 波形 [1F]
04B059 - 04BB88 波形 [20]
04BB89 - 04D33C 波形 [21]

Audio Tracks

Offset Description
04D33D - 04D7AE 曲 (00) Secret of the Arid Sands / 熱砂の秘密
04D7AF - 04DEFA 曲 (09) The Little Sprite / 妖精族のこども
04DEFB - 04E7AC 曲 (14)
04E7AD - 04F077 曲 (15)
04F078 - 04FDE3 曲 (04)
04FDE4 - 0506B7 曲 (05)
0506B8 - 050A4A 曲 (06) The Wind Never Ceases / 風の焉わるところ
050A4B - 050B62 曲 (07) I Closed My Eyes / ひとみを閉じて
050B63 - 050F42 曲 (08) Spirit of the Night / 夜の魂
050F43 - 051FBE 曲 (01) Flight Into the Unknown / 未知への飛行
051FBF - 0522D9 曲 (0A) What the Forest Taught Me / 森が教えてくれたこと
0522DA - 052F22 曲 (0B) Eternal Recurrence / 永劫回帰
052F23 - 0537CA 曲 (0C)
0537CB - 054218 曲 (0D)
054219 - 054765 曲 (0E)
054766 - 054BE0 曲 (0F)
054BE1 - 055379 曲 (10)
05537A - 055A84 曲 (11)
055A85 - 055C63 曲 (12)
055C64 - 0566F1 曲 (13)
0566F2 - 056B32 曲 (16)
056B33 - 056C45 曲 (17)
056C46 - 056CFD 曲 (18)
056CFE - 056D91 曲 (19)
056D92 - 056F41 曲 (1A)
056F42 - 057151 曲 (1B)
057152 - 057429 曲 (1D)
05742A - 057502 曲 (1E)
057503 - 057AE6 曲 (1F) It Happened Late One Evening / 月夜の出来事
057AE7 - 058148 曲 (20)
058149 - 0581D0 曲 (21)
0581D1 - 05840D 曲 (24) A Wish... / ねがい
05840E - 05851B 曲 (23) (ファンファーレXX)
05851C - 058DC9 曲 (25) Monarch on the Shore / 海辺の王様
058DCA - 05964D 曲 (26) Steel and Snare / 鋼鉄と罠
05964E - 059B4C 曲 (02) The Dark Star / 暗黒星
059B4D - 059EF8 曲 (27)
059EF9 - 05A152 曲 (29)
05A153 - 05A28B 曲 (22)
05A28C - 05A81A 曲 (12)
05A81B - 05AC0E 曲 (2A)
05AC0F - 05AD56 曲 (28)
05AD57 - 05AEA3 曲 (2B)
05AEA4 - 05B7F9 曲 (2C)
05B7FA - 05B866 曲 (2D)
05B867 - 05B937 曲 (2E)
05B938 - 05BA11 曲 (2F)
05BA12 - 05BADE 曲 (30) (Elemental Acquired)
05BADF - 05C46B 曲 (31) Leave Time for Love / 愛に時間を
05C46C - 05C5BC 曲 (33)
05C5BD - 05DFBC 曲 (32) The Second Truth From the Left / 最後から二番目の真実
05DFBD - 05E127 曲 (34) I Won't Forget / 君を忘れない
05E128 - 05E1F1 曲 (35) (Ally Joins)
05E1F2 - 05E66E 曲 (36) Morning Is Here / 明日に届く
05E66F - 05E8EE 曲 (37) One of Them is Hope / そのひとつは希望
05E8EF - 05EA04 曲 (38) A Conclusion / ある結末 / 曲 [3B,3C,3D,3E,3F] ??
05EA05 - 05F96A 曲 (39) Meridian Dance / 子午線の祀り
05F96B - 05FC60 曲 (3A) Now Flightless Wings / 翼はもうはばたかない
05FC61 - 05FF6F 曲 (03) Prophecy / 予感
05FF70 - 05FFE8 ????

Items

Value Alt. Value Description
00 BA Candy / まんまるドロップ
01 BB Chocolate / ぱっくんチョコ
02 BC Royal Jam / ロイヤルゼリー
03 BD Faerie Walnut / 魔法のくるみ
04 BE Medical Herb / プイプイ草
05 BF Cup of Wishes / 天使の聖杯
06 C0 Magic Rope / 魔法のロープ
07 C1 Flammie Drum / 風の太鼓
08 C2 Moogle Belt / モーグリベルト
09 C3 Midge Mallet / ちびっ子ハンマー
0A C4 Barrel / タル
0B C5 ? / 不明

Item Prices / アイテムの値段

Each item price is 2 bytes long, little endian.

Offset / アドレス Category Item Name / 名前 Price / デフォルトの値段
0A7E1C Item まんまるドロップ 10
0A7E1E Item ぱっくんチョコ 30
0A7E20 Item ロイヤルゼリー 100
0A7E22 Item 魔法のくるみ 500
0A7E24 Item プイプイ草 10
0A7E26 Item 天使の聖杯 150
0A7E28 Item ? 魔法のロープ 65535
0A7E2A Item ? ちびっ子ハンマー 65535
0A7E2C Item ? 風の太鼓 65535
0A7E2E Item ? モーグリベルト 65535
0A7E30 Item タル 450
0A7E32 Item 65535
0A7E34 Item (なし) 0
0A7E36 Item バンダナ 50
0A7E38 Item プリティリボン 55
0A7E3A Item ラビのぼうし 45
0A7E3C Item ヘッドギア 70
0A7E3E Item 羽ぼうし 110
0A7E40 Item 鉄のカブト 180
0A7E42 Item 金のかみかざり 350
0A7E44 Item アライグマハット 550
0A7E46 Item ポロビンフード 700
0A7E48 Item タイガーキャップ 1100
0A7E4A Item サークレット 2300
0A7E4C Helmet 3400
0A7E4E Helmet ユニコヘルム 5625
0A7E50 Helmet ドラゴンヘルム 7500
0A7E52 Helmet ダックヘルメット 11250
0A7E54 Helmet ニードルヘルム 15000
0A7E56 Helmet ? コカトリスヘルム 22500
0A7E58 Helmet ? デビルキャップ 36000
0A7E5A Helmet ? グリフォンヘルム 44500
0A7E5C Helmet ? 精霊の王冠 58000
0A7E5E Armor (なし) 0
0A7E60 Armor 革のツナギ 20
0A7E62 Armor カンフー道着 25
0A7E64 Armor チビッ子ローブ 22
0A7E66 Armor くさりのチョッキ 120
0A7E68 Armor パンクスーツ 260
0A7E6A Armor チャイナドレス 350
0A7E6C Armor ハデなツナギ 675
0A7E6E Armor 銀のチェスト 1000
0A7E70 Armor 黄金のベスト 2250
0A7E72 Armor ルビーの胸あて 4500
0A7E74 Armor トラのぬいぐるみ 6375
0A7E76 Armor タイガービキニ 7100
0A7E78 Armor 魔法のヨロイ 11500
0A7E7A Armor トータスメイル 14850
0A7E7C Armor バラのレオタード 21000
0A7E7E Armor バトルスーツ 30000
0A7E80 Armor プロテクター 32750
0A7E82 Armor ? バンパイアマント 47000
0A7E84 Armor ? プラズマスーツ 53000
0A7E86 Armor ? 精霊のマント 65000
0A7E88 Armor (なし) 0
0A7E8A Armor ?精霊のうでわ 55000
0A7E8C Accessory エルボーパット 90
0A7E8E Accessory パワーリスト 150
0A7E90 Accessory コブラのうでわ 280
0A7E92 Accessory ウルフバンド 400
0A7E94 Accessory 銀のうでわ 525
0A7E96 Accessory ゴーレムリング 750
0A7E98 Accessory スノーマンリング 1200
0A7E9A Accessory オチューリング 1875
0A7E9C Accessory 金のブレスレット 3750
0A7E9E Accessory プロテクトリング 5100
0A7EA0 Accessory ラピスのうでわ 8800
0A7EA2 Accessory ? レジストリング 12500
0A7EA4 Accessory ガントレット 18750
0A7EA6 Accessory ? ニンジャのこて 24000
0A7EA8 Accessory ? ドラゴンリング 31000
0A7EAA Accessory ? バイルダーリング 37500
0A7EAC Accessory ? チビデビルリング 42500
0A7EAE Accessory ? デーモンリング 48000
0A7EB0 Accessory ? リストバンド 45

Color Palettes

Each item price is 0x1D (29) bytes long. This chart is missing most entries.

Offset / アドレス Category Description
081000 - 08101D Monster Rabbite / ラビのパレット
~ ~ ~
081F00 - 081F1D Character Boy / ランディのパレット
081F1E - 081F3B Character Princess / プリムのパレット
081F3C - 081F59 Character Sprite / ポポイのパレット

Store Inventory / 店データ

The list of goods in each store varies with the last entry being 0xFF to indicate the end.

Offset / アドレス Description Items
0A7ED2 - `0A7ED7 Potos / ポトス村 5 + End
0A7ED8 - `0A7EE3 Neko's Place / ニキータの店、 ガイアのヘソ・妖魔の森・エリニース城のニキータ 11 + End
0A7EE4 - `0A7EEA Pandora (1) / パンドーラ1 6 + End
0A7EEB - `0A7EF2 Kippo Village / キッポ村 7 + End
0A7EF3 - `0A7EFE Dwarf Village / ドワーフの村 11 + End
0A7EFF - `0A7F08 Pandora (2) / パンドーラ2 9 + End
0A7F09 - `0A7F14 Moogle Village / モーグリの村 11 + End
0A7F15 - `0A7F1E Matango Village / マタンゴ王国 9 + End
0A7F1F - `0A7F28 Kakkara Village / カッカラ王国 9 + End
0A7F29 - `0A7F32 Todo (Ice Country), Neko / トド村、氷の森のニキータ 9 + End
0A7F33 - `0A7F40 Empire (Northtown) / 帝国ノースタウン 13 + End (Before Event)
0A7F41 - `0A7F4D Empire (Southtown) / 帝国サウスタウン 12 + End
0A814E - `0A7F56 Mandala Village / マンダーラ 7 + End
0A7F57 - `0A7F62 Gold Isle / 黄金の街 8 + End
0A7F63 - `0A7F6F Tasnica (Turtle Island) / タスマニカ共和国 12 + End
0A7F70 - `0A7F79 Temple of Mana (Tree Palace) / マナの神殿 10 + End

Experience to Level Up

This is the experience required to level up, 3 bytes long with 99 entries.

0-2: Experience Level Required
0-2:レベルアップ必要経験値
Offset / アドレス Description Value
104B58 - 104B5A Level 2 10 00 00
104C7E - 104C80 Maximum 7F 96 98

Armors

Values 0x00 - 0x14 are head wear, values 0x15 - 0x29 are body wear and 0x2A - 0x3F are for the arms.

Value Description
00 Bare Head / (なし:頭)
01 Bandanna / バンダナ
02 Hair Ribbon / プリティリボン
03 Rabite Cap / ラビのぼうし
04 Head Gear / ヘッドギア
05 Quill Cap / 羽ぼうし
06 Steel Cap / 鉄のカブト
07 Golden Tiara / 金のかみかざり
08 Raccoon Cap / アライグマハット
09 Quilted Hood / ポロビンフード
0A Tiger Cap / タイガーキャップ
0B Circlet / サークレット
0C Ruby Armlet / ルビーアーメット
0D Unicorn Helm / ユニコヘルム
0E Dragon Helm / ドラゴンヘルム
0F Duck Helm / ダックヘルメット
10 Needle Helm / ニードルヘルム
11 Cockatrice Cap / コカトリスヘルム
12 Amulet Helm / デビルキャップ
13 Griffin Helm / グリフォンヘルム
14 Faerie Crown / 精霊の王冠
15 Nothing / (なし:体)
16 Overalls / 革のツナギ
17 Kung Fu Suit / カンフー道着
18 Midge Robe / チビッ子ローブ
19 Chain Vest / くさりのチョッキ
1A Spiky Suit / パンクスーツ
1B Kung Fu Dress / チャイナドレス
1C Fancy Overalls / ハデなツナギ
1D Chest Guard / 銀のチェスト
1E Golden Vest / 黄金のベスト
1F Ruby Vest / ルビーの胸あて
20 Tiger Suit / トラのぬいぐるみ
21 Tiger Bikini / タイガービキニ
22 Magical Armor / 魔法のヨロイ
23 Tortoise Mail / トータスメイル
24 Flower Suit / バラのレオタード
25 Battle Suit / バトルスーツ
26 Vestguard / プロテクター
27 Vampire Cape / バンパイアマント
28 Power Suit / プラズマスーツ
29 Faerie Cloak / 精霊のマント
2A Nothing / (なし:腕)
2B Faerie's Ring / 精霊のうでわ
2C Elbow Pad / エルボーパット
2D Power Wrist / パワーリスト
2E Cobra Bracelet / コブラのうでわ
2F Wolf's Band / ウルフバンド
30 Silver Band / 銀のうでわ
31 Golem Ring / ゴーレムリング
32 Frosty Ring / スノーマンリング
33 Ivy Amulet / オチューリング
34 Gold Bracelet / 金のブレスレット
35 Shield Ring / プロテクトリング
36 Lazuri Ring / ラピスのうでわ
37 Guardian Ring / レジストリング
38 Gauntlet / ガントレット
39 Ninja Gloves / ニンジャのこて
3A Dragon Ring / ドラゴンリング
3B Watcher Ring / バイルダーリング
3C Imp's Ring / チビデビルリング
3D Amulet Ring / デーモンリング
3E Wristband / リストバンド
3F (Blank) / (なし)
                                |

Monsters

Value Description
00 ラビ
01 ビービー
02 マイコニド
03 ポロン
04 バドフラワー
05 ガルフィッシュ
06 ゴブリン
07 アイスパイ
08 グリーンスライム
09 スペクター
0A バットラー
0B ゴブリンロード
0C サハギン
0D マジカルチェア
0E ゴブリンガード
0F ダークスモッグ
10 クロウラー
11 プチポセイドン
12 ゾンビ
13 ガラシャ
14 ラビリオン
15 ブラッドアウル
16 モールベア
17 パンプキンボム
18 デスクラブ
19 ユニコーンヘッド
1A ウィザードアイ
1B ジャッカル
1C ポロビンフッド
1D ガスクラウド
1E ダークバット
1F ウェアウルフ
20 シャドウX3(ポポイ)
21 イビルソード
22 ダークプリースト
23 マジックブック
24 デススコーピオン
25 ダックソルジャー
26 タールマン
27 レッドマシュマロ
28 コカトリス
29 ボムビー
2A ダースマタンゴ
2B ブラッドパンジー
2C キラーフィッシュ
2D ミミックン
2E シャドウX1(ランディ)
2F ガラシャラム
30 ゴースト
31 メタルクロウラー
32 スパイダーレッグ
33 バイルダー
34 トータスナイト
35 ビーストゾンビ
36 グール
37 チビデビル
38 ブルーババロア
39 セイレーングレル
3A デーモンヘッド
3B グリフォンハンド
3C ニードリオン
3D メタルクラブ
3E アーマーナイト
3F シャドウX2(プリム)
40 カオスソーサラー
41 ダックジェネラル
42 グレネードボム
43 タートルナイト
44 ヘルウォーター
45 バジリスク
46 グレムリン
47 メタルスコーピオ
48 ニンジャ
49 メタルバイルダー
4A ヘルハウンド
4B サタンヘッド
4C デビルマガジン
4D ダークストーカー
4E ダークナイト
4F シェイプシフター
50 ウルフデビル
51 エレメントソード
52 ターミネーター
53 マスターニンジャ
54 ?(という名)
55 クリスタルオーブ
56 宝箱
57 マンティスアント
58 ルームガーター
59 バド
5A ミノタウロス
5B タイガーキメラ
5C ジャバウォック
5D アックスビーク
5E フロストギガース
5F パックンドラゴン
60 マシンライダー
61 サタンズウォール
62 バンパイア
63 メタルマンティス
64 マシンライダー2
65 ガーディアン
66 ゴーゴンタウロス
67 ブラッドローパー
68 オチューフェイス
69 グレートボア
6A ヒューポスライム
6B バイオキメラ
6C ガーターズアイ
6D ヒドラ
6E メガゾーン
6F ラミアンナーガ
70 デスマシーン
71 パックンおたま
72 マシンライダー3
73 ホワイトドラゴン
74 ファイアギガース
75 レッドドラゴン
76 ヘルフェニックス
77 ブルードラゴン
78 バンパイアロード
79 ダークリッチ
7A パックンとかげ
7B ドラゴンウォーム
7C ウィスポスライム
7D サンダーギガース
7E サタンズアイ
7F 神獣

Weapon List

Value Description
00 Spike Knuckle / 【グ0】カイザーナックル
01 Power Glove / 【グ1】パワーグローブ
02 Moogle Claws / 【グ2】モーグリのツメ
03 Chakra Hand / 【グ3】チャクラハンド
04 Heavy Glove / 【グ4】メタルグローブ
05 Hyper-Fist / 【グ5】ハイパーフィスト
06 Griffin Claws / 【グ6】グリフォンのツメ
07 Dragon Claws / 【グ7】ドラゴンのツメ
08 Aura Glove / 【グ8】オーラグローブ
09 Rusty Sword / 【剣0】さびた聖剣
0A Broad Sword / 【剣1】ディフェンダー
0B Herald Sword / 【剣2】クサナギの剣
0C Claymore / 【剣3】オリハルコンの剣
0D Excalibur / 【剣4】エクス力リバー
0E Masamune / 【剣5】マサムネ
0F Gigas Sword / 【剣6】ズールトの剣
10 Dragon Buster / 【剣7】ドラゴンバスター
11 Mana Sword / 【剣8】マナの剣
12 Watt's Axe / 【オノ0】ドワーフのオノ
13 Lode Axe / 【オノ1】バトルアックス
14 Stout Axe / 【オノ2】ブローバ
15 Battle Axe / 【オノ3】フランシスカ
16 Golden Axe / 【オノ4】ゴールドアックス
17 Were-Buster / 【オノ5】ウェアバスター
18 Great Axe / 【オノ6】グレートアックス
19 Gigas Axe / 【オノ7】魔人のオノ
1A Doom Axe / 【オノ8】デビルアックス
1B Spear / 【ヤリ0】ブロンズランス
1C Heavy Spear / 【ヤリ1】スチールランス
1D Sprite's Spear / 【ヤリ2】妖魔のヤリ
1E Partisan / 【ヤリ3】パルティザン
1F Halberd / 【ヤリ4】ハルバード
20 Oceanid Spear / 【ヤリ5】サンゴのヤリ
21 Gigas Lance / 【ヤリ6】巨人のヤリ
22 Dragon Lance / 【ヤリ7】ドラゴンランス
23 Daedalus Lance / 【ヤリ8】ダイダロスのヤリ
24 Whip / 【ムチ0】革のムチ
25 Black Whip / 【ムチ1】ブラックウィップ
26 Backhand Whip / 【ムチ2】はやてのムチ
27 Chain Whip / 【ムチ3】チェーンフレイル
28 Flail of Hope / 【ムチ4】シルバーフレイル
29 Morning Star / 【ムチ5】モーニングスター
2A Hammer Flail / 【ムチ6】ハンマーフレイル
2B Nimbus Chain / 【ムチ7】ダイヤフレイル
2C Gigas Flail / 【ムチ8】ギガースフレイル
2D Chobin's Bow / 【弓0】ポロンの弓矢
2E Short Bow / 【弓1】鉄の弓矢
2F Long Bow / 【弓2】ロングボウ
30 Great Bow / 【弓3】グレートボウ
31 Bow of Hope / 【弓4】銀の弓矢
32 Elfin Bow / 【弓5】エルフの弓矢
33 Wing Bow / 【弓6】ウイングボウ
34 Doom Bow / 【弓7】ひっさつの弓矢
35 Garuda Buster / 【弓8】ガルーダバスター
36 Boomerang / 【ブ0】ブーメラン
37 Chakram / 【ブ1】チャクラム
38 Lode Boomerang / 【ブ2】鉄のブーメラン
39 Rising Sun / 【ブ3】円月輪
3A Red Cleaver / 【ブ4】チタンブーメラン
3B Cobra Shuttle / 【ブ5】バグナグ
3C Frizbar / 【ブ6】バトルフリスビー
3D Shuriken / 【ブ7】手裏剣
3E Ninja's Trump / 【ブ8】風魔手裏剣
3F Pole Dart / 【ス0】スピア
40 Javelin / 【ス1】ジャベリン
41 Light Trident / 【ス2】サハギンのモリ
42 Lode Javelin / 【ス3】トライデント
43 Fork of Hope / 【ス4】シルバーピラム
44 Imp's Fork / 【ス5】チビデビルのモリ
45 Elf's Harpoon / 【ス6】ルーンスピア
46 Dragon Dart / 【ス7】ドラゴンスピア
47 Valkyrian / 【ス8】バルキリースピア

Magic List

Value Type Description
00 Gnome Earth Slide / アースクエイク
01 Gnome Gem Missile / ダイヤミサイル
02 Gnome Speed Down / スピードダウン
03 Gnome Stone Saber / ストーンセイバー
04 Gnome Speed Up / クイック
05 Gnome Defender / プロテクト
06 Undine Freeze / フリーズ
07 Undine Acid Storm / アシッドストーム
08 Undine Energy Absorb / スポイト
09 Undine Ice Saber / アイスセイバー
0A Undine Remedy / リフレッシュ
0B Undine Cure Water / ヒールウォーター
0C Salamando Fireball / ファイアボール
0D Salamando Exploder / エクスプロード
0E Salamando Lava Wave / ラーバウェイブ
0F Salamando Flame Saber / フレイムセイバー
10 Salamando Fire Bouquet / ファイアカクテル
11 Salamando Blaze Wall / ブレイズウォール
12 Sylphid Air Blast / エアブラスト
13 Sylphid Thunderbolt / サンダーボルト
14 Sylphid Silence / サイレンス
15 Sylphid Thunder Saber / サンダーセイバー
16 Sylphid Balloon / バルーン
17 Sylphid Analyzer / ディテクト
18 Luna Change Form / ボディチェンジ
19 Luna Magic Absorb / アブソーブ
1A Luna Lunar Magic / ルナティック
1B Luna Moon Saber / ムーンセイバー
1C Luna Lunar Boost / ラッシュ
1D Luna Moon Energy / エナジーボール
1E Dryad Sleep Flower / スリープフラワー
1F Dryad Burst / バースト
20 Dryad Mana Magic / マナ(ポポイ)
21 Dryad Revivifier / リバイブ
22 Dryad Wall / カウンタマジック
23 Dryad Mana Magic / マナ(プリム)
24 Shade Evil Gate / イビルゲート
25 Shade Dark Force / ダークフォース
26 Shade Dispel Magic / アンティマジック
27 Lumina Light Saber / ホーリーセイバー
28 Lumina Lucent Beam / セイントビーム
29 Lumina Lucid Barrier / ティンクルバリア

They are 96 bytes each, the first 48 of which contain the icon text. In VRAM, the range is from DC00 - DFFF. The routine that loads the icons into RAM is at D0CA8B - D0CAB6.

Offset Description
128760 - 1287BF EQUIP Icon
12C360 - 12C3BF Targeting Icon
12C3C0 - 12C41F STAT Icon
12C420 - 12C47F LEVEL Icon
12C480 - 12C4DF ACT Icon
12C4E0 - 12C53F EDIT (Controller) Icon
12C540 - 12C59F EDIT (Window) Icon

Data Structures

Monster / NPC Location

Each object is 16 bytes, and the number of objects is dependent on the locations.

 1 - Spawn Type (?)
 2 - ?
 3 - ?
 4 - ?
 5 - ?
 6 - ?
 7 - ?
 8 - ?
 9 - ?
10 - ?
11 - Starting X-Coordinate
12 - Starting Y-Coordinate
13 - Palette - Z-Plane (?)
14 - Sprite
15 - Reaction to Button Press
16 - Reaction to Button Press

Map Entrances & Exits

Each entry is 4 bytes long.

1  Destination
2  Destination X-Coordinate
3  Destination Y-Coordinate
4  Destination Entrance Style

Weapons Data

Each weapon block takes up 12 bytes, and there are 190 weapons blocks.

$00  Graphic 1 (?)
$01  Bits 7-6: Raises Agility               (00: 0, 01: +1, 10: +5, 11: -5)
     Bits 5-4: Raises Health (Constitution) (00: 0, 01: +1, 10: +5, 11: -5)
     Bits 3-2: Raises Intelligence          (00: 0, 01: +1, 10: +5, 11: -5)
     Bits 1-0: Raises Wisdom                (00: 0, 01: +1, 10: +5, 11: -5)
$02  Bits 1-0: Raises Strength              (00: 0, 01: +1, 10: +5, 11: -5)
$03  Graphic 1 (2)
$04  Color Palette
$05  Bit 7: Effective Against Dragons
     Bit 6: Effective Against Ghosts
     Bit 5: Effective Against Evil / Dead
     Bit 4: Effective Against Slimes / Lizards
     Bit 3: Effective Against Animals / Birds / Beasts
     Bit 2: Effective Against Insects
     Bit 1: Effective Against Plants / Fish
     Bit 0: Effective Against Sub-Human (?)
$06  Critical Rate (0x00 - 0xFF, 100% at 0xFF)
$07  Hit% (0x00 - 0x64)
$08  Attack
$09  Bit 7: Cause Confusion
     Bit 6: Cause Petrify
     Bit 5: Cause Frozen / Frostied
     Bit 4: Cause Stun
     Bit 3: Cause ?
     Bit 2: Cause 'Slowed Down'
     Bit 1: Cause ?
     Bit 0: Cause ?
$10  Bit 7: Cause Death
     Bit 6: Cause Fire / Englufed
     Bit 5: Cause Poison
     Bit 4: Cause Moogled
     Bit 3: Cause Transform
     Bit 2: Cause Barrel
     Bit 1: Cause Midget / Pygmized
     Bit 0: Cause Balloon
$11  Additional Effect from Abnormal Condition % (0x00 - 0x64)

 0  グラフィック?1
 1  b7-6:すばやさ補正 (00:なし, 01:+1, 10:+5, 11:-5)
    b5-4:たいりょく補正 (00:なし, 01:+1, 10:+5, 11:-5)
    b3-2:ちせい補正 (00:なし, 01:+1, 10:+5, 11:-5)
    b1-0:せいしん補正 (00:なし, 01:+1, 10:+5, 11:-5)
 2  b1-0:ちから補正 (00:なし, 01:+1, 10:+5, 11:-5)
 3  グラフィック?2
 4  カラーパレット
 5  b7:相性○ ドラゴン系
    b6:相性○ ゴースト系
    b5:相性○ アンデッド・アクマ系
    b4:相性○ スライム系・リザード系
    b3:相性○ どうぶつ・トリ・獣人系
    b2:相性○ ムシ系・カラダのかたい
    b1:相性○ しょくぶつ・サカナ系
    b0:相性○ 亜人系
 6  クリティカル率 (00 ~ FFh、 FFhで100%)
 7  ヒット%(0~64h)
 8  攻撃力
 9  b7:付加効果 混乱
    b6:付加効果 石化
    b5:付加効果 雪だるま
    b4:付加効果 気絶
    b3:付加効果 ?
    b2:付加効果 おもり
    b1:付加効果 ?
    b0:付加効果 ?
10  b7:付加効果 死神
    b6:付加効果 火だるま
    b5:付加効果 毒
    b4:付加効果 モーグリ
    b3:付加効果 変身
    b2:付加効果 タル
    b1:付加効果 ちびっ子
    b0:付加効果 風船
11  付加効果による状態異常発生%(0~64h)

Monster Structure

The monster structure is 16 bytes long, with 128 monster spots available.

$00 - $03  Graphic
$04        Shadow Pattern
$05 - $08  Animation
$09        Initial Action (Combination of algorithm behavior, locks up)
$10        Algorithm Behavior
$11 - $15  Animation

0-3  : グラフィック
4    : 影パターン
5-8  : アニメーション
9    : 初期行動 (行動アルゴリズムとの組み合わせによっては 、固まってしまう
10   : 行動アルゴリズム
11-15: アニメーション

Monster Data

Each monster entries takes up 29 bytes, and there are 128 entries.

00       Level
01 - 02  HP
03       MP
04       Strength (0x00 - 0x64)
05       Agility (0x00 - 0x64)
06       Intelligence (0x00 - 0x64, related to Magic Attack from Sprite)
07       Wisdom (0x00 - 0x64, related to Magic Attack Power)
08       Evade Percent (0x00 - 0x64)
09 - 10  Defence (0x00 - 0x3E7)
11       Magic Evade % (0x00 - 0x64) まほうかいひ%(0~64h)
12 - 13  Defence (0x00 - 0x3E7)
14  Bit 7: Race Dragons
    Bit 6: Race Ghosts
    Bit 5: Race Evil / Dead
    Bit 4: Race Slimes / Lizards
    Bit 3: Race Animals / Birds / Beasts
    Bit 2: Race Insects
    Bit 1: Race Plants / Fish
    Bit 0: Race Sub-Human (?)
15  Bit 7: Weakness: Luna / Moon
    Bit 6: Weakness: Gnome / Tree
    Bit 5: Weakness: Shade / Dark
    Bit 4: Weakness: Lumina / Light
    Bit 3: Weakness: Undine / Water
    Bit 2: Weakness: Salamando / Fire
    Bit 1: Weakness: Dryad / Mana
    Bit 0: Weakness: Sylphid / Wind
16 - 17  Experience
18       Unknown
19       Unknown
20  Bit 7: Tolerance Confusion
    Bit 6: Tolerance Petrify
    Bit 5: Tolerance Frozen / Frostied
    Bit 4: Tolerance Stun
    Bit 3: Tolerance ?
    Bit 2: Tolerance 'Slowed Down'
    Bit 1: Tolerance ?
    Bit 0: Tolerance ?
21  Bit 7: Tolerance Death
    Bit 6: Tolerance Fire / Englufed
    Bit 5: Tolerance Poison
    Bit 4: Tolerance Moogled
    Bit 3: Tolerance Transform
    Bit 2: Tolerance Barrel
    Bit 1: Tolerance Midget / Pygmized
    Bit 0: Tolerance Balloon
22       Unknown
23       Short Range Weapon
24       Long Range Weapon
25       Death Animation
26  Bits 7-4: Magic Level (0 - 9)
    Bits 3-0: Weapon Level (0 - 9)
27 - 28  Bulk

  0: レベル
1-2: HP
3: MP
4: ちから(0~64h)
5: すばやさ(0~64h)
6: ちせい(0~64h、ポポイ用の魔法攻撃力に関係する)
7: せいしん(0~64h、プリム用の魔法攻撃力に関係する)
8: かいひ%(0~64h)
9-10: ぼうぎょ(0~3E7h)
11: まほうかいひ%(0~64h)
12-13: 魔法防御(0~3E7h)
14: b7: 種族 ドラゴン系
    b6: 種族 ゴースト系
    b5: 種族 アンデッド・アクマ系
    b4: 種族 スライム系・リザード系
    b3: 種族 どうぶつ・トリ・獣人系
    b2: 種族 ムシ系・カラダのかたい
    b1: 種族 しょくぶつ・サカナ系
    b0: 種族 亜人系
15: b7: 弱点 月
    b6: 弱点 木
    b5: 弱点 闇
    b4: 弱点 聖
    b3: 弱点 水
    b2: 弱点 火
    b1: 弱点 土
    b0: 弱点 風
16-17: 経験値
18:(未解析)
19:(未解析)
20: b7:耐性 混乱
    b6:耐性 石化
    b5:耐性 雪だるま
    b4:耐性 気絶
    b3:耐性 ?
    b2:耐性 おもり
    b1:耐性 ?
    b0:耐性 ?
21: b7:耐性 死神
    b6:耐性 火だるま
    b5:耐性 毒
    b4:耐性 モーグリ
    b3:耐性 変身
    b2:耐性 タル
    b1:耐性 ちびっ子
    b0:耐性 風船
22: (未解析)
23: 武器1
24: 武器2
25: 死亡時アニメーション
26: b7-4:魔法レベル(0~9)
    b3-0:武器レベル(0~9)
27 - 28: ルク

Magic Data

Each magic entry is 40 bytes long, and there are 42 entries. Magic at level 8 is more reliable at level 9.

Track:
  0: Direct
  1: Pursuit (Air Blast, Energy Ball)
  2: Pursuit (Sabre System)
  5: From Above (Thunderbolt)
  6: (Baguru ?) (Saint-beam)
  7: From Above (Frozen)

00       Unknown
01       Unknown
02       Graphics Set for Regular Magic 1
03       Graphics Set for Regular Magic 2
04       Graphics Set for Super Magic 1
05       Graphics Set for Super Magic 2
06       Graphics Set for Unknown Magic 1
07       Graphics Set for Unknown Magic 2
08       Level 0/1 (Unexplained)
09       Level 0/1 Track
10 - 15  Level 0/1 Effects Animation
16       Level 2/3 (Unexplained)
17       Level 2/3 Track
18 - 23  Level 2/3 Effects Animation
24       Level 4/5 (Unexplained)
25       Level 4/5 Track
26 - 31  Level 4/5 Effects Animation
32       Level 6/7 (Unexplained)
33       Level 6/7 Track
34 - 39  Level 6/7 Effects Animation
40       Super Magic (Unexplained)
41       Super Magic Track
42 - 47  Super Magic Effects Animation
48       Over Level 10 (?) (Unexplained)
49       Over Level 10 (?) Track
50 - 55  Over Level 10 (?) Effects Animation
56  Bit 7: Can Select Enemy Object
    Bit 6: Can Select Boy Equipped with the Sword
    Bit 5: Can Select Orb
    Bit 0: Double Single (0: Single Target, 1 Multiple Targets)
57  Unknown
58  Effect Size (?)
59  Unknown
60  Bit 7: Attribute: Dryad
    Bit 6: Attribute: Luna
    Bit 5: Attribute: Lumina
    Bit 4: Attribute: Shade
    Bit 3: Attribute: Salamando
    Bit 2: Attribute: Undine
    Bit 1: Attribute: Sylphid
    Bit 0: Attribtue: Gnome
61  Bit 7: Additional Effect Confusion
    Bit 6: Additional Effect Petrify
    Bit 5: Additional Effect Frozen / Frostied
    Bit 4: Additional Effect Stun
    Bit 3: Additional Effect ?
    Bit 2: Additional Effect 'Slowed Down'
    Bit 1: Additional Effect ?
    Bit 0: Additional Effect ?
62  Bit 7: Additional Effect Death
    Bit 6: Additional Effect Fire / Englufed
    Bit 5: Additional Effect Poison
    Bit 4: Additional Effect Moogled
    Bit 3: Additional Effect Transform
    Bit 2: Additional Effect Barrel
    Bit 1: Additional Effect Midget / Pygmized
    Bit 0: Additional Effect Balloon
63  MP Consumption

※超魔法はLv8で稀に、Lv9で確実に発動する魔法の強力バージョン。
※軌道 0:対象に直接
       1:追尾(エアブラスト、エナジーボール)
       2:追尾(セイバー系)
       5:上から(サンダーボルト)
       6:基本的にバグる(セイントビーム)
       7:上から(フリーズ)
 ------------------------
 0:?
 1:?
 2:通常魔法のグラフィックセット1
 3:通常魔法のグラフィックセット2
 4:超魔法のグラフィックセット1
 5:超魔法のグラフィックセット2
 6:(?のグラフィックセット1)
 7:(?のグラフィックセット2)
 8:Lv0/1 (未解明)
 9:Lv0/1 軌道
10-15:Lv0/1 エフェクトアニメーション
16:Lv2/3 (未解明)
17:Lv2/3 軌道
18-23:Lv2/3 エフェクトアニメーション
24:Lv4/5 (未解明)
25:Lv4/5 軌道
26-31:Lv4/5 エフェクトアニメーション
32:Lv6/7 (未解明)
33:Lv6/7 軌道
34-39:Lv6/7 エフェクトアニメーション
40:超魔法 (未解明)
41:超魔法 軌道
42-47:超魔法 エフェクトアニメーション
48:Lv10以上? (未解明)
49:Lv10以上? 軌道
50-55:Lv10以上? エフェクトアニメーション
56:b7:対象 敵
   b6:対象 剣を装備したランディ
   b5:対象 宝箱・クリスタルオーブも選択可
   b0:対象 単/複(0:単体のみ, 1:単複選択可能)
57:?
58:効果量?
59:?
60:b7:属性 木
  :b6:属性 月
  :b5:属性 聖
  :b4:属性 闇
  :b3:属性 火
  :b2:属性 水
  :b1:属性 風
  :b0:属性 土
61:b7:追加効果/セイバー効果 混乱
   b6:追加効果/セイバー効果 石化
   b5:追加効果/セイバー効果 雪だるま
   b4:追加効果/セイバー効果 気絶
   b3:追加効果/セイバー効果 ?
   b2:追加効果/セイバー効果 おもり
   b1:追加効果/セイバー効果 ?
   b0:追加効果/セイバー効果 ?
62:b7:追加効果/セイバー効果 死神
   b6:追加効果/セイバー効果 火だるま
   b5:追加効果/セイバー効果 毒
   b4:追加効果/セイバー効果 モーグリ
   b3:追加効果/セイバー効果 変身
   b2:追加効果/セイバー効果 タル
   b1:追加効果/セイバー効果 ちびっ子
   b0:追加効果/セイバー効果 風船
63:消費MP

Monster Treasure Chest Drop Items / モンスターが落とす宝箱

Each entry is 5 bytes long, with 128 entries.

0  Bit  7:
     0x1:    Chest Runs Away From You
     0x0:    Chest Stands Still
   Bits 6:   If set chest always appears. Overrides Probability.
   Bits 5-0: Chest Probability (0x00 - 0x64). `percentage = (value&0x1F) / 64.0;`
1  Trap information
   Type of trap is based depends on the level of the Monster.
   Bits 4-7: Agility needed to avoid trap `if( ((value&0xF0)>>1) < agility ) avoidTrap();`
   Bits 0-3: Analyze magic level needed to defuse trap
2  Money / Item & Probability for a Rare Drop
   Bit 0-2: Ignored (Unknown?)
   Bit 3-5: Probability for a rare drop. `percentage = ((value&0x38)>>3) / 64.0;`
   Bit 6:   Content of the Normal Drop
     0x0: Money
     0x1: Item
   Bit 7:   Content of the Rare Drop
     0x0: Item
     0x1: Money
3  Amount of Money / Item ID
     0x01-0x3E = Equipment
     0x40-0x50 = Items
     0x80      = Talon Orb works up to 9
     0x81      = Probably Sword Orb, but Candy always appears
     0x82      = Axe Orb up to 9
     0x83      = Lance Orb up to 9
     0x84      = Whip Orb up to 9
     0x85      = Bow Orb up to 9
     0x86      = Boomerang Orb up to 9
     0x87      = Javelin Orb up to 9
     0x88-     = Candy
4  Rare Drop Money Amount / Rare Drop Item ID
     Same as byte 0x3

**Deprecated translation, needs update**
0:b7:宝箱が逃げるか(0:逃げない,1:逃げる)
  b6-b0:宝箱出現確率(0~64h)
1:罠の確率?(罠の種類はモンスターのレベルによって変わる)
2:アイテム/ルク(宝箱の中身がアイテムかルクか、を決める。法則はよく分からず。)
3:宝箱の中身(コモン)
4:宝箱の中身(レア)

Armor Data / 防具データ

Each entry is 10 bytes long, with 62 entries.

0  Bit 4: +5 to Strength
   Bit 3: +5 to Agility
   Bit 2: +5 to Constitution
   Bit 1: +5 to Intelligence
   Bit 0: +5 to Wisdom
1  Defence
2  Evasion
3  Magic Defence
4  Magic Evasion
5  Bit 7: Boy Can Wear
   Bit 6: Girl Can Wear
   Bit 5: Sprite Can Wear
6  (?)
7  Bit 7: Resistance against Confusion
   Bit 6: Resistance against Petrify
   Bit 5: Resistance against Frozen / Frostied
   Bit 4: Resistance against Stun
   Bit 3: Resistance against ?
   Bit 2: Resistance against 'Slowed Down'
   Bit 1: Resistance against ?
   Bit 0: Resistance against ?
8  Bit 7: Resistance against Death
   Bit 6: Resistance against Fire / Englufed
   Bit 5: Resistance against Poison
   Bit 4: Resistance against Moogled
   Bit 3: Resistance against Transform
   Bit 2: Resistance against Barrel
   Bit 1: Resistance against Midget / Pygmized
   Bit 0: Resistance against Balloon
9  (?)

0: b4: ちから+5
   b3: すばやさ+5
   b2: たいりょく+5
   b1: ちせい+5
   b0: せいしん+5
1: 防御力
2: 回避率
3: 魔法防御
4: 魔法回避率
5: b7: ランディ装備可能
   b6: プリム装備可能
   b5: ポポイ装備可能
6: ?
7: b7: 耐性 混乱
   b6: 耐性 石化
   b5: 耐性 雪だるま
   b4: 耐性 気絶
   b3: 耐性 ?
   b2: 耐性 おもり
   b1: 耐性 ?
   b0: 耐性 ?
8: b7: 耐性 死神
   b6: 耐性 火だるま
   b5: 耐性 毒
   b4: 耐性 モーグリ
   b3: 耐性 変身
   b2: 耐性 タル
   b1: 耐性 ちびっ子
   b0: 耐性 風船
9: ?

Item Data / アイテムデータ

Each entry is 16 bytes long, with 12 entries.

 0: ?
 1: ?
 2: Amount to Recover
 3: ?
 4: ?
 5: ?
 6: ?
 7: Effect 1
 8: Effect 2
 9: Effect 3
10: Effect 4
11: Effect 5
12: Effect 6
13: Effect 1
14: ?
15: ?

 0: ?
 1: ?
 2: 回復量
 3: ?
 4: ?
 5: ?
 6: ?
 7: エフェクト1
 8: エフェクト2
 9: エフェクト3
10: エフェクト4
11: エフェクト5
12: エフェクト6
13: エフェクト7
14: ?
15: ?

Character Level Stats Data

Each entry is 8 bytes long, with 99 entries per character, so (8 * 99) * 3.

0-1: HP
  2: MP
  3: Strength
  4: Agility
  5: Constitution
  6: Intelligence
  7: Wisdom

0-1: HP
  2: MP
  3: ちから
  4: すばやさ
  5: たいりょく
  6: ちせい
  7: せいしん

SPC Header / SPC ヘッダ

The SPC header is 26 bytes long.

00-01 : Sequence Size                 シーケンスの大きさ
02-03 : Sequence Starting Address     シーケンス開始アドレス
04-05 : Channel 1 Starting Address    Channel 1開始アドレス
06-07 : Channel 2 Starting Address    Channel 2開始アドレス
08-09 : Channel 3 Starting Address    Channel 3開始アドレス
0A-0B : Channel 4 Starting Address    Channel 4開始アドレス
0C-0D : Channel 5 Starting Address    Channel 5開始アドレス
0E-0F : Channel 6 Starting Address    Channel 6開始アドレス
10-11 : Channel 7 Starting Address    Channel 7開始アドレス
12-13 : Channel 8 Starting Address    Channel 8開始アドレス
14-15 : Sequence Ending Address + 1   シーケンス終了アドレス + 1

SPC Sequence Commands

00-0E = Play Note: C
0F-1D = Play Note: C#
1E-2C = Play Note: D
2D-3B = Play Note: D#
3C-4A = Play Note: E
4B-59 = Play Note: F

5A-68 = Play Note: F#
69-77 = Play Note: G
78-86 = Play Note: G#
87-95 = Play Note: A
96-A4 = Play Note: A#
A5-B3 = Play Note: B
B4-C2 = Continue previous note for given length (There is no B# -- it's the same as C)
C3-D1 = Rest

Each note has 15 different values for their length.
The relative lengths for C (00-0E) are:
00 = 64
01 = 48
02 = 32
03 = 21.333
04 = 24
05 = 16
06 = 10.66
07 = 12
08 = 8
09 = 5.333
0A = 4
0B = 2.666
0C = 2
0D = 1.333
0E = 1

D2 xx       = Set instrument volume to xx
D3 xx       = ???
D4 xx       = Pan channel left or right [$00 = Right, $64 = Middle, $FF = Left] (Reverse stereo)
D7 ss tt dd = Vibrato: ss = Speed, tt = Time until vibrato, dd = Depth
E0          = Vibrato off?
E1          = ???
E2          = ???
E3          = ???
E4 xx       = Change pitch (octave) to xx
E5          = Increases the pitch (octave)
E5 xx       = Length of next note is xx
E6          = Decreases the pitch (octave)
EA xx       = Change Instrument to xx
F0 xx yy    = Starts a loop pattern and the parameter is the number of iterations it will loop for.
              They can be nested. It's used for music "compression."
F1          = End Loop
F2          = End of channel
F3 xx       = Change tempo to xx
F4          = ???
F5 xx       = Set reverb to xx
F6          = ???
F7 xx yy    = ???
F8 xx       = Set global SPC volume to xx
F9          = ??? (Looping Command)
FF          = End of Sequence (?)

Sequences & control codes should be mostly compatible with Final Fantasy 5, interchanging tracks between the two should be easy.
シーケンス、 制御コード、 共にFF5との互換性が強く、 容易に相互移植が可能だと思われる。

BRR Samples

Value Description
8247C3 ~
684EC3 ~
4453C3 ~
B856C3 ~
8E61C3 ~
DA6EC3 ~
0B7CC3 ~
C67DC3 ~
D381C3 ~
9591C3 ~
E2A0C3 ~
8EBAC3 ~
3ECAC3 ~
9BCCC3 ~
88CFC3 ~
8BE3C3 ~
3BF3C3 ~
B7F4C3 ~
CAFBC3 ~
0616C4 ~
A51EC4 ~
0C23C4 ~
0739C4 ~
9C3FC4 ~
F347C4 ~
8959C4 ~
5562C4 ~
E36CC4 ~
158EC4 ~
4C95C4 ~
DA9FC4 ~
59B0C4 ~
89BBC4 ~

SPC Songs

Value Description
3DD3C4 Into the Thick of It
430FC5 Flight Into The Unknown
3F96C5 Star of Darkness
56FCC5 Prophecy
78F0C4 Danger
E4FDC4 Far Thunder
B806C5 The Wind Never Ceases
4B0AC5 Close Your Eyelids
630BC5 Spirit of the Night
AFD7C4 The Fairy Child
BF1FC5 What the Forest Taught Me
DA22C5 Eternal Recurrence
232FC5 Oracle
CB37C5 Tell a Strange Tale
1942C5 Into the Thick of It 2
6647C5 Rose and Ghost
E14BC5 Did You See the Sea?
7A53C5 The Color of the Summer Sky
855AC5 Menu
645CC5 The Legend
FBDEC4 The Orphan of the Storm
ADE7C4 Eight Ringing Bells
F266C5 Dancing Beasts
336BC5 Victory
466CC5 Boss Defeated
FE6CC5 Cannon Travel Launch
926DC5 Cannon Travel
426FC5 Ceremony
7DA2C5 Always Together
5271C5 A Prayer and a Whisper
2A74C5 Burning Castle (?)
0375C5 Happenings on a Moonlight Night
E77AC5 A Curious Happening
4981C5 Unknown Fanfare (?)
44A1C5 Midge Mallet
0E84C5 Unknown Fanfare (?)
D181C5 A Wish
1C85C5 Monarch on the Shore
CA8DC5 Steel and Traps
3E9BC5 Pure Night
00ACC5 Flammie Coming
EA9EC5 Kind Memories
0CA8C5 The Holy Intruder
48ADC5 In the Darkness' Depths
95AEC5 Angel's Fear
EBB7C5 Grumble (?)
58B8C5 Mara's Key
29B9C5 Got an Item
03BAC5 Elemental Acquired
D0BAC5 Give Love its Rightful Time
B0C5C5 The Second Truth From the Left
5DC4C5 The Curse
B0DFC5 I Won't Forget
1BE1C5 Ally Joins
E5E1C5 To Reach Tomorrow
62E6C5 One of Them is Hope
E2E8C5 A Conclusion
F8E9C5 Meridian Dance
60F9C5 The Wings No Longer Beat
E2E8C5 A Conclusion
E2E8C5 A Conclusion
E2E8C5 A Conclusion
E2E8C5 A Conclusion
E2E8C5 A Conclusion (?)

Compression

Seiken Densetsu 2 Graphic Compression / 聖剣伝説2 タイトル系圧縮

The game uses a LZ style compression for most data types. A working reference decompressor is available here as well as an example of the input and output:
Secret_of_Mana_Decompressor.rb Secret_of_Mana_Title_Screen_Compressed.gfx Secret_of_Mana_Title_Screen_Decompressed.gfx

Data Structure / データ構造

$01-$02  Type of Compression (014C00 + X)
         #  : Type
         00 : 0x1F
         01 : 0x0F
         02 : 0x07
         03 : 0x03
         04 : 0x01
         05 : 0x00
$03-$04  Size of Uncompressed Data (Big Endian)
$05-~    First byte of Compressed Data

1-2 バイト目 : 圧縮の種類 (014C00 + X)
   [数値:圧縮の数値]
   00 : 0x1F
   01 : 0x0F
   02 : 0x07
   03 : 0x03
   04 : 0x01
   05 : 0x00
3-4 バイト目 : 解凍後の大きさ(ビッグエンディアン)
5-~ バイト目 : 圧縮部分

Compression Code List / 圧縮コード一覧

XX YY ZZ ...

XX = 0x00-0x7F (Single Byte Code XX / XX の 1 バイトコード)

The XX is the length of raw data to read starting at the next byte, (XX + 1).
その後の ROM データを (XX + 1) バイト参照する.

XX = 0x80-0xFF (2-byte Code XX YY / XX YY の 2 バイトコード)

{ (XX - 0x80) AND (Compression Type) } × 0x100 + (YY + 1) is the position of where to read from. This position is how many bytes back from the current position. To calculate the actual position from the start you would subtract this value from the current position.
[ (XX - 0x80) / (Compression Type + 1)] + 3 is the length of the data to read.
{ (XX - 0x80) AND (圧縮の数値) } × 0x100 + (YY + 1) バイト前のメモリーから
[ (XX - 0x80) / (圧縮の数値+1)] + 3 バイト分参照する

Compression Priority, Prediction / 圧縮優先度 / 予想

  1. 0x80-0xFF
  2. 0x00-0x7F

Seiken Densetsu 2 Boss Graphic Compression

The game handles boss sprites in the following way:

  1. Read pointers for compressed tiles.
  2. Write compressed data from ROM via blockmove to WRAM.
  3. Decompress and directly write them with $2118/$2119 in VRAM.

Read Boss Tile Data

$C2/260C BF 52 BC D0 LDA $D0BC52,x[$D0:BC8A] A:0038 X:0038 Y:001A P:envmxdIzc
$C2/2610 85 95       STA $95    [$00:0295]   A:00DB X:0038 Y:001A P:envmxdIzc
$C2/2612 85 9D       STA $9D    [$00:029D]   A:00DB X:0038 Y:001A P:envmxdIzc
$C2/2614 BF 54 BC D0 LDA $D0BC54,x[$D0:BC8C] A:00DB X:0038 Y:001A P:envmxdIzc
$C2/2618 85 97       STA $97    [$00:0297]   A:8E86 X:0038 Y:001A P:eNvmxdIzc
$C2/261A BF 56 BC D0 LDA $D0BC56,x[$D0:BC8E] A:8E86 X:0038 Y:001A P:eNvmxdIzc
$C2/261E 85 99       STA $99    [$00:0299]   A:6200 X:0038 Y:001A P:envmxdIzc
$C2/2620 BF 58 BC D0 LDA $D0BC58,x[$D0:BC90] A:6200 X:0038 Y:001A P:envmxdIzc
$C2/2624 85 9B       STA $9B    [$00:029B]   A:1400 X:0038 Y:001A P:envmxdIzc
$C2/2626 A0 00 60    LDY #$6000              A:1400 X:0038 Y:001A P:envmxdIzc
$C2/2629 A6 97       LDX $97    [$00:0297]   A:1400 X:0038 Y:6000 P:envmxdIzc
$C2/262B A9 7F 00    LDA #$007F              A:1400 X:8E86 Y:6000 P:eNvmxdIzc

Decompression starts at $C2/2636. Decrompression:

public class DecompBoss {

    int now, last, code, decompByte;
    int[] data;
    int[] decomp;

    public void setData(int[] data){
        this.data = data;
    }

    public void decomp(int length){
        decomp = new int[length];
        now = 0;
        last = 0;
        decompByte = 0;
        for(int dataByte=0; data.length > dataByte; dataByte++){
            code = data[dataByte];
            System.out.println("Decompress code: " + code);
            for(int counter = 0;counter < 8; counter++){
                code = code * 2;
                if(code > 255){
                    dataByte++;
                    code = code-256;
                    decomp[decompByte] = data[dataByte];
                    last = now;
                    now = data[dataByte];
                }
                else{
                    decomp[decompByte] = last;
                    last = now;
                    now = decomp[decompByte];
                }
                decompByte++;
            }
        }
    }

    public void out(){
        System.out.println(" ");
        for(int x=0; decomp.length > x; x++){
            if(x % 16 == 0){
                System.out.println(" ");
            }
            System.out.print(Integer.toHexString(decomp[x])+" ");
        }
        System.out.println(" ");
    }
}

Examples

Example: 5B (Length)

0B 01 03 01 FF 06 02 0D 04 1B 08 16 01 C2 00 00
01 FF 02 01 04 03 08 07 00 0F FF 1E 00 F3 12 86
84 26 04 8F F6 16 E4 12 E0 FF 00 00 12 0C 84 78
04 F8 03 00 FC 4B 00 0F 11 07 FF 33 0F 79 39 63
20 EF 6F C3 00 00 0E 0F F9 1F 1F 07 3F 1F 7F CA
00 00 E0 58 F7 14 A0 CA F0 D0 E6 68

Uncompressed:

00 00 00 00 01 00 03 01 06 02 0D 04 1B 08 16 01
00 00 00 00 00 00 01 00 02 01 04 03 08 07 00 0F
1E 00 F3 12 86 84 26 04 F6 04 F6 04 16 E4 12 E0
00 00 12 0C 84 78 04 F8 04 F8 04 F8 04 F8 00 FC
00 00 00 00 0F 00 11 07 33 0F 79 39 63 20 EF 6F
00 00 00 00 00 00 0E 0F 1F 1F 07 3F 1F 3F 1F 7F
00 00 00 00 E0 00 58 00 14 A0 CA F0 CA D0 E6 68
2B
(  ) E0E0           (F0) F8F8FCFC
(EF) 0F0073801FFF03 (E0) 030000
(17) 0F7F0303       (C0) 0000
(BF) FCC70419E1C6F8 (FF)E37C791E190E0906

000000000000E0E0 F8F8FCFCFCFCFCFC
0F007300801FFF03 0300000000000000
0000000F007F0303 0000000000000000
FC00C70419E1C6F8 E37C791E190E0906

---------------------------------

2C
(  ) 04F801FEC0FF (FF) 607F181F080F0007
(6F) 0080C0806040 (FE) 30209810CC0084
(8B) 00804080     (FD) 20C010E000F0F8

000004F801FEC0FF 607F181F080F0007
00008000C0806040 30209810CC008400
0000000080004080 20C010E000F000F8

---------------------------------

05
(2F) 183E182706

0000000000000000 0000000000000000
0000000000000000 0000000000000000
0000000000000000 000018003E182706

Seiken Densetsu 2 Map Compression / 聖剣伝説2 マップ圧縮

This describe the compression used on maps.

Data Structure / データ構造

$00  1st byte   = (Numbers in 1st byte / 2) + 1 = Horizontal Size
$01  2nd byte   = (Numbers in 2nd byte / 2) + 1 = Vertical Size
$02  3rd byte ~ = Compressed Data

$00  1バイト目  = [1 バイト目の数値 / 2] + 1 = "横の大きさ"
$01  2バイト目  = [2 バイト目の数値 / 2] + 1 = "縦の大きさ"
$02  3バイト目- = 圧縮部分

Compression Code List / 圧縮コード一覧

XX YY ZZ ...

XX = 0x00-0xBF (Single Byte Code XX / XX の 1 バイトコード)

Simply outputs the value of XX. XX の値をそのまま書き込む

XX = 0xC0-0xDF (Single Byte Code XX / XX の 1 バイトコード)

Bits 3-4 of XX + 1 are the number of bytes of memory before.
Bits 0-2 of XX + 1 are the byte write.
("XX の bit3-4" + 1) バイト前のメモリーの数値を
("XX の bit0-2" + 1) バイト書き込む

XX = 0xE0 (2-byte Code XX YY / XX YY の 2 バイトコード)

{ ("Bit 7 of YY" + 1 ) × 0x80 } previous bytes from memory, ("Bits 0-6 of YY" + 1) are bytes to reference.
{ ("YY の bit7" + 1 ) × 0x80 } バイト前のメモリーから, ("YY の bit0-6" + 1) バイト参照する

XX = 0xE1-0xE7 (Single Byte Code XX / XX の 1 バイトコード)

0x80 previous bytes from memory, ("Bits 0-2 of XX" + 1) are bytes to reference.
0x80 バイト前のメモリーから, ("XX の bit0-2" + 1) バイト参照する

XX = 0xE8-0xEF (2-byte Code XX YY / XX YY の 2 バイトコード)

{ ("Bits 0-2 of XX") × 2 + "Bit 7 of YY" + 1 } previous bytes from memory, ("Bits 0-6 of YY" + 1) are bytes to reference.
{ ("XX の bit0-2") × 2 + "YY の bit7" + 1 } バイト前のメモリーから, ("YY の bit0-6" + 1) バイト参照する.

XX = 0xF0 (2-byte Code XX YY / XX YY の 2 バイトコード)

This code will vary depending on the value of YY.

YY < 0x80

0x01 previous bytes of memory, incrementing by 1, ("Bits 0-6 of YY" + 1) bytes to write.
Example: [0x60] 61 62 63 64 65 66 67 68 69 ... and so on. For a length of 10, so 10 consecutive in total.
0x01 バイト前のメモリーの数値を, 1 ずつ加算しながら, ("YY の bit0-6" + 1) バイト書き込む.
(60 / 61 62 63 64 65 66 67 68 69 ...など.計10連続以上の場合)

YY ≥ 0x80

0x01 previous bytes of memory, decrementing by 1, ("Bits 0-6 of YY" + 1) bytes to write.
Example: [0x5C] 5B 5A 59 ... and so on. For a length of 3, so 3 consecutive in total.
0x01 バイト前のメモリーの数値を, 1 ずつ減算しながら, ("YY の bit0-6" + 1) バイト書き込む.
(5C / 5B 5A 59 ... など.計3連続以上の場合)

XX = 0xF1-0xF7 (Single Byte Code XX / XX の 1 バイトコード)

0x01 previous bytes of memory, incrementing by 1, ("Bits 0-2 of XX" + 1) bytes to write.
Example: [0x60] 61 62 ... and so on. 2 ~ 9 consecutive times in total.
0x01 バイト前のメモリーの数値を, 1 ずつ加算しながら, ("XX の bit0-2" + 1) バイト書き込む.
(60/61 62 ...等に使われる.計2~9連続の場合)

XX = 0xF8-0xFF

Unknown
Rarely Used? / 滅多に使われない?

Compression Priority, Prediction / 圧縮優先度 / 予想

  1. 0xC0-0xEF - The most efficient, if this isn't efficient go to 2. / のうち 最も効率がいいもの (効率がよくない場合は下へ)
  2. 0xF0-0xF7 - The most efficient, if this isn't efficient go to 3. / のうち 最も効率がいいもの (効率がよくない場合は下へ)
  3. 0x00-0xBF - Direct Write / の直値書き込み

Raw Format Parsing

This is a less systematic way of doing what the code above does.
Symbol (prevByteN) indicates the value of a byte processed in the past. For (N=1), the last byte before this command; (N=2), the byte before (N=1); and so on. These work based on the decompressed results of past commands, not the compressed commands themselves. N is a decimal value.
The first two bytes of a map specify width and height, respectively. To convert them to real values, divide each byte by two and add one.
Map data is pointed to from a table at D0200.

Compression Codes

Code Function Description / Example
B1 Indicates a "stationary door" tile. How door details (destination, tile graphic, etc) are specified is unknown.
B4 Indicates a "walking door" tile. These are seen with town entrances; you step on a tile and lose control.
As your characters automatically walk in/out of town for you. Door details, as with B1, are unknown.
C0 Fill the next byte with (prevByte1).
C1 Fill the next 2 bytes with (prevByte1).
C2 Fill the next 3 bytes with (prevByte1).
C3 Fill the next 4 bytes with (prevByte1).
C4 Fill the next 5 bytes with (prevByte1).
C5 Fill the next 6 bytes with (prevByte1).
C6 Fill the next 7 bytes with (prevByte1).
C7 Fill the next 8 bytes with (prevByte1).
C8 Fill the next byte with (prevByte2).
C9 Fill the next 2 bytes with (prevByte2).
CA Fill the next 3 bytes with (prevByte2).
CB Fill the next 4 bytes with (prevByte2).
CC Fill the next 5 bytes with (prevByte2).
CD Fill the next 6 bytes with (prevByte2).
CE Fill the next 7 bytes with (prevByte2).
CF Fill the next 8 bytes with (prevByte2).
D0 Fill the next byte with (prevByte3).
D1 Fill the next 2 bytes with (prevByte3).
D2 Fill the next 3 bytes with (prevByte3).
D3 Fill the next 4 bytes with (prevByte3).
D4 Fill the next 5 bytes with (prevByte3).
D5 Fill the next 6 bytes with (prevByte3).
D6 Fill the next 7 bytes with (prevByte3).
D7 Fill the next 8 bytes with (prevByte3).
D8 Fill the next byte with (prevByte4).
D9 Fill the next 2 bytes with (prevByte4).
DA Fill the next 3 bytes with (prevByte4).
DB Fill the next 4 bytes with (prevByte4).
DC Fill the next 5 bytes with (prevByte4).
DD Fill the next 6 bytes with (prevByte4).
DE Fill the next 7 bytes with (prevByte4).
DF Fill the next 8 bytes with (prevByte4).

For the following codes XX = 7F or XX = FF will fill 128 bytes.

Code Function
E0 XX (XX = 00-7F) Repeat (XX + 1) bytes from 1 row above the current tile (0x80 previous in RAM).
E0 XX (XX = 80-FF) Repeat (XX + 1) bytes from 2 rows above the current tile (0x100 previous in RAM).
E1 Repeat 2 bytes from the previous row (0x80 previous in RAM)
E2 Repeat 3 bytes from the previous row (0x80 previous in RAM)
E3 Repeat 4 bytes from the previous row (0x80 previous in RAM)
E4 Repeat 5 bytes from the previous row (0x80 previous in RAM)
E5 Repeat 6 bytes from the previous row (0x80 previous in RAM)
E6 Repeat 7 bytes from the previous row (0x80 previous in RAM)
E7 Repeat 8 bytes from the previous row (0x80 previous in RAM)

For the following codes:

  • XX = 7F or XX = FF will fill 128 bytes.
  • XX = 00-7F: use the lower prevByteN value (odd values)
  • XX = 80-FF: use the higher prevByteN value (even values)

Important Note: These functions can and will collide with themselves. Take, say, E8 02; it repeats prevByte1, and then hits itself. So it gets prevByte1 again, and hits itself again... this isn't an infinite loop due to the behavior of the argument - after XX + 1 (in this case, 3) bytes, it stops dead. Pretty nifty.

Code Function
E8 XX Repeat the decompressed data from (prevByte1/2) forward, filling (XX + 1) spaces.
E9 XX Repeat the decompressed data from (prevByte3/4) forward, filling (XX + 1) spaces.
EA XX Repeat the decompressed data from (prevByte5/6) forward, filling (XX + 1) spaces.
EB XX Repeat the decompressed data from (prevByte7/8) forward, filling (XX + 1) spaces.
EC XX Repeat the decompressed data from (prevByte9/10) forward, filling (XX + 1) spaces.
ED XX Repeat the decompressed data from (prevByte11/12) forward, filling (XX + 1) spaces.
EE XX Repeat the decompressed data from (prevByte13/14) forward, filling (XX + 1) spaces.
EF XX Repeat the decompressed data from (prevByte15/16) forward, filling (XX + 1) spaces.

The first value filled for all of these codes is (prevByte1 + 1).

Code Function
F0 XX Fill the next (XX + 1) bytes, the value incrementing with each byte.
F1 Fill the next 2 bytes, the value incrementing with each byte.
F2 Fill the next 3 bytes, the value incrementing with each byte.
F3 Fill the next 4 bytes, the value incrementing with each byte.
F4 Fill the next 5 bytes, the value incrementing with each byte.
F5 Fill the next 6 bytes, the value incrementing with each byte.
F6 Fill the next 7 bytes, the value incrementing with each byte.
F7 Fill the next 8 bytes, the value incrementing with each byte.

If the codes breach the width value of the map, the following tiles are placed automatically on the next line; auto-wrap, in a sense.

Errors in Decompression

These are known errors in the postulated compression scheme above (mismatches between WRAM and prediction).

Area Length Associated Tile / Tiles
2084 (0x824) 1 byte Elder's House door
2448 (0x990) 1 byte Potos northwest house door
2948 (0xB84) 1 byte Potos west exit
3076 (0xC04) 1 byte Potos west exit
3099 (0xC1B) 1 byte Potos bar door
3613 - 3615 (0xE1D - 0xE1F) 3 bytes Hole to Mantis Ant's lair (event-based map change)
3741 - 3743 (0xE9D - 0xE9F) 3 bytes Hole to Mantis Ant's lair (event-based map change)
3853 (0xF0D) 1 byte Potos item shop door
4882 (0x1312) 1 byte Potos inn door
5409 - 5410 (0x1521 - 0x1522) 2 bytes Potos south exit

Tileset 16x16 Compression

16x16 Tileset Compression Commands

  00  Copy Last Tile Entirely
  01  8-bit Increment on Tile Index Value of Last Tile
  10  8-bit Decrement on Tile Index Value of Last Tile

1111 XXXXXXXX XXXXXXXX  Specify entire tile data
 110 XXXXXXX:           Add 7-bit signed value XXXXXXX to previous tile's tile index,
                        and use that
1110 XXXX YYYYYY        Change tile flags with XXXX as follows,
                        and add 6-bit signed value YYYYYY to previous tile's tile index.

0PPP: Change Palette to PPP
1FFF: Change Flags:
        Vertical Flip
        Horizontal Flip
        Alt. BG

Icon Compression

The compression is nothing special really. The ratio of compressed to decompressed data is always 3:4. Basically each sprite tile consists of 0x18 bytes, which can be divided into 3 byte subsections. When I look at 4BPP graphics in a hex editor, to me the most intuitive way is to view each 8 pixel line as a square. Luckily the developers at Squaresoft shared my point of view so it was fairly easy to understand what they were doing. Demonstration using random hex values:

$000000: FF 7F 0F 07 FF 7F 0F 07 FF 7F 0F 07 FF 7F 0F 07
$000010: 3F 1F 03 01 3F 1F 03 01 3F 1F 03 01 3F 1F 03 01

For simplicity's sake, #$XX will refer to a literal value, whereas $XX will refer to a memory location with the given address.

The first line of the image data is determined by the values at $00, $01, $10, and $11. The next line is determined by that of $02, $03, $12, and $13. If you look at the example above you can see that each line is therefore a 2 byte by 2 byte square.

Suppose we wanted the color index of the first (top left pixel). We'll take {FF 7F, 3F 1F} and examine the left most bit (MSB) of each byte. With #$FF the left most bit has value 1. With #$7F the MSB is 0, same for #$3F and #$1F. Thus the color index for the top left pixel is 1. Why? The MSB of $00 corresponds to bit zero of the color index, the MSB of $01 corresponds to bit one of the color index, the MSB of $10 ... corresponds to bit two of the color index. We can then see that the color index for the next pixel to the right would be 1 + (1 << 1) + (0 << 2) + (0 << 3) = 3. (Note: instead of using the MSB, for the second pixel we use the next bit to the right. For the third pixel you use the next bit to the right after that, and so on.)

Now what if each line always looked like this:

XX YY
ZZ 00

Where the letters are arbitrary bits, but the fourth byte is always zero. This effectively reduces the size of the tile's colors to 3BPP (ranging from 0 to 7). But that leaves lots of redundant space, so why not compress the data into 3 byte chunks instead of 4 byte chunks? That's exactly what Squaresoft did, but they made it a little more complicated.

They store it in a 3BPP format with color indices ranging from 0 to 6. 7 corresponds to 0 before any addition is done ( that's coming up). They made it more complicated by making some of the sprites have all their indices increase by 0, 5, or A, depending on the sprite. Why would you do this? It's easy to see - Tiles of the first type use the color 0 (transparent) and colors 1 through 6. Tiles of the next type use the color 0, and colors 5 through B, the last type uses the color 0, and colors A through F. Thus you only need one palette entry (16 colors) to handle three different kinds of sprites. Very economical, b/c you can not only save space on graphics by compressing them in the rom, you can partition a palette entry as well.

Anyways, when I did my decompression routine, I ignored the possibility that the finished product might have 5 or A added to all its indices. Why? Because the relationship between all the color values would stay the same, and thus still be recognizable in the tile editor. In the rom the tiles are stored in a neutral format that doesn't really know if it has 0, 5, or A added to them later, so it doesn't really matter.

I know I'm rambling quite a bit, but here's a diagram of what happens:

Sample compressed first line of a tile: FF F0 F0.

First what happens is this gets written to the rectangular grid:

FF F0
F0 00

Then we go through each pixel, starting from left to right, and calculate the color index. The color indices going from left to right should be 7, 7, 7, 7, 1, 1, 1, 1

The decompression algorithm asks us to change 7's into zeroes. Anything else gets left alone. The result:

0F 00
00 00

Recompressing is simply changing sevens back into zeroes, then ignoring the fourth byte and packing it back into three byte segments. The LSR, ROL, ASL crap is basically an algorithm that does that. It's probably not the cleanest way to do it. If I were writing code to handle this, I think I'd probably use TSB and TRB and what not.

Deccompression / Recompression Code

// Small program designed to simply load/save icon graphics from Secret of Mana
// Psuedo C Code
unsigned char data[0x4200];
unsigned char output[0x5800];
unsigned char comp[0x80];
unsigned char uncomp[0x80];
unsigned char carry = 0;
unsigned char a_reg = 0;
unsigned char nextcarry = 0;

int counter = 0;
int offset = 0;
int tile = 0;
int loop = 0;
int sprite = 0;

void decompress(){
  for(tile = 0; sprite < 0xB0 ; sprite++){
    offset = 0x60 * sprite;

    // This for loop grabs the compressed data for the four tiles of the current sprite.
    for(counter = 0; counter < 0x80 ; counter += 2, offset += 3){
      comp[counter]        = data[offset];
      comp[counter + 1]    = data[offset + 1];
      comp[counter + 0x10] = data[offset + 2];
      comp[counter + 0x11] = 0;

      tile += 2;

      if(tile == 0x10){
        tile = 0;
        counter += 0x10;
      }
    }

    tile = 0;
                // This for loop does a number of manuevers to decompress the data.
    for(counter = 0; counter < 0x80 ; counter += 2){
      loop = 8;

      loopback:

      a_reg = 0;
      carry = 0;

      // ASL $10, X; {
      carry = (comp[counter + 0x10] & 0x80) ? 1 : 0;
      comp[counter + 0x10] <<= 1;
      //}

      // ROL A; {
      nextcarry = (a_reg & 0x80) ? 1 : 0;
      a_reg = (a_reg << 1) + carry;
      carry = nextcarry;
      //}

      // ASL $01, X; {
      carry = (comp[counter + 1] & 0x80) ? 1 : 0;
      comp[counter + 1] <<= 1;
      //}

      // ROL A; {
      nextcarry = (a_reg & 0x80) ? 1 : 0;
      a_reg = (a_reg << 1) + carry;
      carry = nextcarry;
      //}

      // ASL $00, X; {
      carry = (comp[counter] & 0x80) ? 1 : 0;
      comp[counter] <<= 1;
      //}

      // ROL A; {
      nextcarry = (a_reg & 0x80) ? 1 : 0;
      a_reg = (a_reg << 1) + carry;
      carry = nextcarry;
      //}

      if(a_reg == 0x07){
        a_reg = 0;
      }
      else{
        carry = 0;
      }

      // Now decompress the tiles into the uncomp buffer
      // LSR A; {
      carry = (a_reg & 0x01) ? 1 : 0;
      a_reg >>= 1;
      //}

      // ROL $20, X; {
      nextcarry = (uncomp[counter] & 0x80) ? 1 : 0;
      uncomp[counter] = (uncomp[counter] << 1) + carry;
      carry = nextcarry;
      //}

      // LSR A; {
      carry = (a_reg & 0x01) ? 1 : 0;
      a_reg >>= 1;
      //}

      // ROL $21, X; {
      nextcarry = (uncomp[counter + 1] & 0x80) ? 1 : 0;
      uncomp[counter + 1] = (uncomp[counter + 1] << 1) + carry;
      carry = nextcarry;
      //}

      // LSR A; {
      carry = (a_reg & 0x01) ? 1 : 0;
      a_reg >>= 1;
      //}

      // ROL $30, X; {
      nextcarry = (uncomp[counter + 0x10] & 0x80) ? 1 : 0;
      uncomp[counter + 0x10] = (uncomp[counter + 0x10] << 1) + carry;
      carry = nextcarry;
      //}

      // LSR A; {
      carry = (a_reg & 0x01) ? 1 : 0;
      a_reg >>= 1;
      //}

      // ROL $31, X; {
      nextcarry = (uncomp[counter + 0x11] & 0x80) ? 1 : 0;
      uncomp[counter + 0x11] = (uncomp[counter + 0x11] << 1) + carry;
      carry = nextcarry;
      //}

      loop--;

      if(loop > 0){
        goto loopback;
      }

      tile += 2;

      if(tile == 0x10){
        tile = 0;
        counter += 0x10;
      }
    }
    memcpy(output + (sprite * 0x80), uncomp, 0x80);
  }
  // Write output to file, 0x5800 bytes in size.
}

void recompress(){
  // Now to save import the graphics into the rom. Working in the 0x5800 buffer now.
  for(sprite = 0; sprite < 0xB0; sprite++){
    offset = (sprite * 0x80);

    memcpy(uncomp, output + offset, 0x80);

    a_reg = 0;
    carry = 0;

    for(counter = 0; counter < 0x80; counter += 2){
      loop = 8;

      loopback2:

      // LSR $31, X; {
      nextcarry = (uncomp[counter + 0x11] & 0x01) ? 1 : 0;
      uncomp[counter + 0x11] >>= 1;
      carry = nextcarry;
      //}

      // ROL A; {
      nextcarry = (a_reg & 0x80) ? 1 : 0;
      a_reg = (a_reg << 1) + carry;
      carry = nextcarry;
      //}

      // LSR $30, X; {
      nextcarry = (uncomp[counter + 0x10] & 0x01) ? 1 : 0;
      uncomp[counter + 0x10] >>= 1;
      carry = nextcarry;
      //}

      // ROL A; {
      nextcarry = (a_reg & 0x80) ? 1 : 0;
      a_reg = (a_reg << 1) + carry;
      carry = nextcarry;
      //}

      // LSR $21, X; {
      nextcarry = (uncomp[counter + 1] & 0x01) ? 1 : 0;
      uncomp[counter + 1] >>= 1;
      carry = nextcarry;
      //}

      // ROL A; {
      nextcarry = (a_reg & 0x80) ? 1 : 0;
      a_reg = (a_reg << 1) + carry;
      carry = nextcarry;
      //}

      // LSR $20, X; {
      nextcarry = (uncomp[counter] & 0x01) ? 1 : 0;
      uncomp[counter] >>= 1;
      carry = nextcarry;
      //}

      // ROL A; {
      nextcarry = (a_reg & 0x80) ? 1 : 0;
      a_reg = (a_reg << 1) + carry;
      carry = nextcarry;
      //}

      if(a_reg == 0){
        a_reg = 7;
      }

      // Now start putting things back into the "compressed" buffer.
      // LSR A; {
      carry = (a_reg & 0x01) ? 1 : 0;
      a_reg >>= 1;
      //}

      // ROR $00, X; {
      nextcarry = (comp[counter] & 0x01) ? 1 : 0;
      comp[counter] >>= 1;
      comp[counter] |= (carry << 7);
      carry = nextcarry;
      //}

      // LSR A; {
      carry = (a_reg & 0x01) ? 1 : 0;
      a_reg >>= 1;
      //}

      // ROR $01, X; {
      nextcarry = (comp[counter + 1] & 0x01) ? 1 : 0;
      comp[counter + 1] >>= 1;
      comp[counter + 1] |= (carry << 7);
      carry = nextcarry;
      //}

      // LSR A; {
      carry = (a_reg & 0x01) ? 1 : 0;
      a_reg >>= 1;
      //}

      // ROR $10, X; {
      nextcarry = (comp[counter + 0x10] & 0x01) ? 1 : 0;
      comp[counter + 0x10] >>= 1;
      comp[counter + 0x10] |= (carry << 7);
      carry = nextcarry;
      //}

      // LSR A; {
      carry = (a_reg & 0x01) ? 1 : 0;
      a_reg >>= 1;
      //}

      loop--;

      if(loop > 0){
        goto loopback2;
      }

      tile += 2;

      if(tile == 0x10){
        tile = 0;
        counter += 0x10;
      }
    }

    tile = 0;

    offset = (sprite * 0x60);

    for(counter = 0; counter < 0x80; counter += 2, offset += 3){
      data[offset]     = comp[counter];
      data[offset + 1] = comp[counter + 1];
      data[offset + 2] = comp[counter + 0x10];

      tile += 2;

      if(tile == 0x10){
        tile = 0, counter += 0x10;
      }
    }
  }
  // Write the data buffer to the ROM file at 0x128400, 0x4200 bytes overwritten.
}

Text

Script Pointers

C90000 contains the first 1024 script pointers (based from C90000) and CA0000 contains the remaining pointers, for a total of 2561. There are only 2048 scripts, the rest are texts used in status screens etc.

Script Commands

Value Type Description
00 - 4F Script Command Script Command Range
00 Script Command End
02 Script Command Return to Calling Script
03 Script Command Bring Party
04 Script Command Invisibility Toggle
05 Script Command Invisibility Toggle
06 Script Command Get Ready
08 Script Command Complete Actions
0E Script Command Sell
0F Script Command Upgrade Weapons
10-17 XX Script Command Jump to Script XX
18-1B XX Script Command Go to Room XX
1C XX Script Command Flight Command XX
1D XX Script Command Cannon Flight Command XX
1E XX Script Command Get Item XX
1F 00 Script Command Name Boy
1F 01 Script Command Name Girl
1F 02 Script Command Name Sprite
1F 03 Script Command Show Forgotten Continent
1F 04 Script Command Show Mana Fortress
1F 05 Script Command Nothing
1F 06 Script Command Save
1F 07 Script Command Reset
1F 08-0B Script Command Update Weapons (All the Same)
1F 0C Script Command Get Chest Item
1F 10 Script Command Unknown
1F 0D-0F, 11-FF Script Command End Game
20-27 XX Script Command Call Script XX
28 00 Script Command Wait for Button Press
28 xx Script Command Wait 5 * XX Frames
29 xx Script Command Increase Counter by XX
2A xx Script Command Decrease Counter by XX
2B xx Script Command Add a Character to the Party
2C xx Script Command Remove a Character to the Party
2D 00 Script Command Flash
2D 01 Script Command No Flash
2D 02 Script Command Vertical Shake
2D 03 Script Command Horizontal Shake
2D 04 Script Command No Shake
2D 05 XX XX Script Command Fade Palette
2D 06 XX XX Script Command Fade Palette (Reverse)
2D 07 Script Command Fade to Normal
2D 08 Script Command Center Main Character
2E XX Script Command Buy
2F XX Script Command Heal (All, Boy, Girl, or Sprite)
30 XX XX Script Command Set Counter
31 XX XX Script Command Action
32 XX XX Script Command Walk (Uppermost 2 bits of the 2nd byte are the direction)
33 XX XX Script Command Set Background Color
34 XX XX Script Command Loop Action
35 Script Command Update HPs
36 XX XX Script Command Add Money XX XX
37 XX XX Script Command Subtract Money XX XX
38 XX Script Command Skip 2 bytes ahead if Player XX isn't in Party
39 XX XX XX Script Command Set Character Data XX XX XX (out of the last 256)
3A XX XX XX Script Command Set Animation XX XX XX
40 XX XX XX XX Script Command Play Sound XX XX XX XX
42 AA BC Script Command Skip 2 bytes ahead if variable AA is not between B and C
49 AA BB CC Script Command Skip 2 bytes ahead if byte BB of character AA's data is less than CC
4A AA BB CC Script Command Skip 2 bytes ahead if byte BB of character AA's data is greater than or equal to CC
4B AA BB CC Script Command Skip 2 bytes ahead if byte BB of character AA's data has any of the bits specified in CC
4C AA BB CC Script Command Pointless Command
4D AA BB CC Script Command Pointless Command 2
4E AA BB CC Script Command Skip 2 bytes ahead if byte BB of character AA's data is different from CC
`4F Script Command Freeze Game
50 - 5F Text Command Text Command Range
50 Text Command Open
51 Text Command Close
52 Text Command Clear
54 XX Text Command Enemy XX Name
55 XX Text Command Weapon XX Name
56 XX Text Command Magic XX Name
57 XX Text Command Player XX Name
58 Text Command Decision
59 XX Text Command Set X Position to XX
5A XX Text Command Set Choice to XX
5B Text Command Select
5D Text Command Open Money
5E Text Command Close Money
5F Text Command Print Money
60 - 7C DTE Command DTE Range
7D Ending Text Start of ending text (in ASCII, only capital letters, break lines with 7F).
7E Ending Text End of Ending Text
7F Ending Text Line Break
80 - D2 ASCII Character ASCII Character Range
80 ASCII Character (Space)
81 - 9A ASCII Character a-z
9B - B4 ASCII Character A-Z
B5 - BE ASCII Character 0-9
BF - CD ASCII Character . , / ' \'ab \'bb : - % ! & ? ( )
CE - D2 ASCII Character Other Characters
D3 - FF DTE Command DTE Range

Translations

This is a translation of the spells, items, equipment, and locations.

Locations

Japanese Romaji English Woolsey
ポトス村 potosumuri Potos Village Potos Village
ニキータの店 nikitanotama Nikita's Place Neko's
水の神殿 mizunoshinden Water Shrine Water Palace
パンドーラ城下街 pando-rajuukamachi Castle Town Pandora Pandora
キッポ村 kippomuri Kippo Village Kippo Village
ドワーフの村 dowa-funomuri Dwarfish Village Dwarf Village
妖魔の森 youmanomori Haunted Forest Haunted Forest
魔女の城 majonoshiro Enchantress's Castle Witch's Castle
モーグリの村 mo-gurinomuri Mowgli Village Moogle Village
妖精の村 youseinomuri Faerie Village Sprite Village
風の神殿 kazenoshinden Wind Shrine Wind Palace
マタンゴ王国 mantangooukoku Matango Kingdom Matango
氷のトド村 koorinotodomuri Icicle Village Todo Todo Village
サンドシップ sandoshippu Sandship Sandship
カッカラ王国 kakkaraoukoku Kakkara Kingdom Kakkara
帝国サウスタウン teikokusausutaun Imperial Southtown Southtown
帝国ノースタウン teikokuno-sutaun Imperial Northtown Northtown
黄金の街 ougonnomachi Golden City Gold City
月の神殿 tsukinoshinden Moon Shrine Moon Palace
マンダーラ manda-ra Mandala Mandala
山道 yamamachi Mountain Path MOUNTAIN ROAD
賢者のどうくつ kenjanodoukutsu Sage's Cave Sage's Cave
タスマニカ共和国 tasumanikakyouwakoku Tasmanican Republic Tasnica
木の神殿 kinoshinden Tree Shrine Tree Palace
失われた大陸 ushinawaretatairiku Lost Continent Lost Continent
マナの聖地 mananoseichi Mana Holyland Pure Land
マナの要塞 mananoyousai Mana Fortress Mana Fortress
皇帝の城 kouteinoshiro Imperial Castle Empire Castle
氷の森 koorinomori Icicle Forest Frosty Forest
ガイアのヘソ gaianoheso Gaia's Navel Gaia's Navel

Weapons

Japanese Romaji English Woolsey
カイザーナックル kaiza-nakkuru Kaiser Knuckle Spike Knuckle
パワーグローブ pawa-guro-bu Power Glove Power Glove
モーグリのツメ mo-gurinotsume Mowgli's Claw Moogle Claws
チャクラハンド chakurahando Chakra Hand Chakra Hand
メタルグローブ metarugro-bu Metal Glove Heavy Glove
ハイパーフィスト haipa-fisuto Hyper Fist Hyper Fist
グリフォンのツメ gurifonnotsume Gryphon's Claw Griffin Claws
ドラゴンのツメ doragonnotsume Dragon's Claw Dragon Claws
オーラグローブ o-raguro-bu Aura Glove Aura Glove
さびた聖剣 sabitaseiken Rusted Holy Sword Rusty Sword
ディフェンダー difenda- Defender Broad Sword
クサナギの剣 kusanaginoken Imperial Sword Herald Sword
オリハルコンの剣 oriharukonnoken Orichalcum Sword Claymore
エクスカリバー ekusukariba- Excalibur Excalibur
マサムメ masamune Masamune Masamune
ズールトの剣 zu-rutonoken Surt's Sword Gigas Sword
ドラゴンバスター doragonbasuta- Dragon Buster Dragon Buster
マナの剣 mananoken Mana Sword Mana Sword
ドワーフのオノ dowa-funoono Dwarf's Axe Watt's Axe
バトルアックス batoruakkusu Battleaxe Lode Axe
ブローバ buro-ba Blowback Stout Axe
フランシスカ furanshisuka Francisca Battle Axe
ゴールドアックス go-rudoakkusu Gold Axe Golden Axe
ウェアバスター ueabasuta- Werebuster Were-Buster
グレートアックス gure-toakkusu Great Axe Great Axe
魔人のオノ akumajin Fiend's Axe Gigas Axe
デビルアックス debiruakksu Devil Axe Doom Axe
ブロンズランス buronzuransu Bronze Lance Spear
スチールランス suchi-ruransu Steel Lance Heavy Spear
妖魔のヤリ youmanoyari Spirit's Lance Sprite's Spear
パルティザン parutizan Partisan Partisan
ハルバード haruba-do Halberd Halberd
サンゴのヤリ sangonoyari Coral Lance Oceanid Spear
巨人のヤリ myojinnoyari Giant's Lance Gigas Lance
ドラゴンランス doragonransu Dragon Lance Dragon Lance
ダイダロスのヤリ daidarosunoyari Daedalus's Lance Daedalus Lance
革のムチ kawanomuchi Leather Whip Whip
ブラックウイップ burakkuuippu Black Whip Black Whip
はやてのムチ hayadenomuchi Swift Whip Backhand Whip
チェーンフレイル che-nfureiru Chain Flail Chain Whip
シルバーフレイル shiruba-fureiru Silver Flail Flail of Hope
モーニングスター mo-ningusuta- Morning Star Morning Star
ハンマーフレイル hanma-fureiru Hammer Flail Hammer Flail
ダイヤフレイル daiyafureiru Diamond Flail Nimbus Chain
ギガースフレイル giga-sufureiru Gigas Flail Gigas Flail
ポロンの弓矢 poronnoyumiya Poron's Bow & Arrow Chobin's Bow
鉄の弓矢 tetsunoyumiya Iron Bow & Arrow Short Bow
ロングボウ rongubou Longbow Long Bow
グレートボウ gure-tobou Greatbow Great Bow
銀の弓矢 ginnoyumiya Silver Bow & Arrow Bow of Hope
エルフの弓矢 erufunoyumiya Elf's Bow & Arrow Elfin Bow
ウイングボウ uingubou Wingbow Wing Bow
ひっさつの弓矢 hissatsunoyumiya Deadly Bow & Arrow Doom Bow
ガルーダバスター garuda-basuta- Garuda Buster Garuda Buster
ブーメラン bu-maran Boomerang Boomerang
チャクラム chakuramu Chakram Chakram
鉄のブーメラン ginnobu-maran Silver Boomerang Lode Boomerang
円月輪 engetsurin Full Moon Ring Rising Sun
チタンブーメラン chitanbu-maran Titanium Boomerang Red Cleaver
バグナグ bagunagu Bagh Nakh Cobra Shuttle
バトルフリスビー batorufurisubi- Battle Frisbee Frizbar
手裏剣 shuriken Shuriken Shuriken
風魔手裏剣 fuumashuriken Fuma Shuriken Ninja's Trump
スピア supia Spear Pole Dart
ジャベリン jaberin Javelin Javelin
サハギンのモリ sahaginnomori Sahagin's Harpoon Light Trident
トライデント toraidento Trident Lode Javelin
シルバーピラム shiruba-piramu Silver Pilum Fork of Hope
チビデビルのモリ chibidebirunomori Chibidevil's Harpoon Imp's Fork
ルーンスピア ru-nsupia Rune Spear Elf's Harpoon
ドラゴンスピア doragonsupia Dragon Spear Dragon Dart
バルキリースピア barukiri-supia Valkyrie Spear Valkyrian

Headgear

Japanese Romaji English Woolsey
バンダナ bandana Bandana Bandanna
プリティリボン puritiribon Pretty Ribbon Hair Ribbon
ラビのぼうし rabinoboushi Rabite's Cap Rabite Cap
ヘッドギア heddogia Headgear Head Gear
羽ぼうし haneboushi Wing Cap Quill Cap
鉄のカブト tetsunokabuto Iron Helmet Steel Cap
金のかみかざり kinnokamikazari Golden Hairpin Golden Tiara
アライグマハット araikumahatto Raccoon Hat Raccoon Cap
ポロビンフード poronfu-do Poron Hood Quilted Hood
タイガーキャップ taiga-kyappu Tiger Cap Tiger Cap
サークレット sa-kuretto Circlet Circlet
ルビーアーメット rubia-muretto Ruby Armet Ruby Armet
ウニコヘルム unikoherumu Unicorn Helm Unicorn Helm
ドラゴンヘルム doragonherumu Dragon Helm Dragon Helm
ダックヘルメット dakkuherumetto Duck Helmet Duck Helm
ニードルヘルム ni-doruherumu Needle Helm Needle Helm
コカトリスヘルム kokatorisuherumu Cockatrice Helm Cockatrice Cap
デビルキャップ debirukyappu Devil Cap Amulet Helm
グリフォンヘルム gurifonherumu Gryphon Helm Griffin Helm
精霊の王冠 seireinooukan Spirit's Diadem Faerie Crown

Armor

Japanese Romaji English Woolsey
革のツナギ kawanotsunagi Leather Overalls Overalls
カンフー道着 kanfu-dougi Kung Fu Dougi Kung Fu Suit
チビっ子ローブ chibikkoro-bu Midget Robe Midge Robe
くさりのチョッキ kusarinochokki Chain Vest Chain Vest
パンクスーツ pankusu-tsu Punk Suit Spiky Suit
チャイナドレス chainadoresu China Dress Kung Fu Dress
ハデなツナギ hadenatsunagi Gaudy Overalls Fancy Overalls
銀のチェスト ginnochesuto Silver Chestplate Chest Guard
黄金のベスト ougonnobesuto Golden Vest Golden Vest
ルビーの胸あて rubi-nomuneaki Ruby Chestplate Ruby Vest
トラのぬいぐるみ toranonuiguruma Tiger Costume Tiger Suit
タイガービキニ taiga-bikini Tiger Bikini Tiger Bikini
魔法のヨロイ mahounoyoroi Magic Armor Magical Armor
トータスメイル to-tasumeiru Tortoise Mail Tortoise Mail
バラのレオタード baranoreota-do Rose Leotard Flower Suit
バトルスーツ batorusu-tsu Battle Suit Battle Suit
プロテクター purotekuta- Protector Vestguard
バンパイアマント banpaiamanto Vampire Mantle Vampire Cape
プラズマスーツ purazumasu-tsu Plasma Suit Power Suit
精霊のマント seireinomanto Spirit's Mantle Faerie Cloak

Armwear

Japanese Romaji English Woolsey
精霊のうでわ seireinoudero Spirit's Bangle Faerie's Ring
エルボーパット erubo-paddo Elbow Pad Elbow Pad
パワーリスト pawa-risuto Power Wrist Power Wrist
コブラのうでわ koburanoudero Cobra's Bangle Cobra Bracelet
ウルフバンド urufubando Wolf Band Wolf's Band
銀のうでわ ginnoudero Silver Bangle Silver Band
ゴーレムリング go-remuringu Golem Ring Golem Ring
スノーマンリング suno-manringu Snowman Ring Frosty Ring
オチューリング ochu-ringu Ochu Ring Ivy Amulet
金のブレスレット kinnoburesuretto Gold Bracelet Gold Bracelet
プロテクトリング purotekutoringu Protect Ring Shield Ring
ラピスのうでわ rapisunoudero Lapis Bangle Lazuri Ring
レジストリング rejisutoringu Resist Ring Guardian Ring
ガントレット gantoretto Gauntlet Gauntlet
ニンジャのこて ninjanokote Ninja Bracer Ninja Gloves
ドラゴンリング doragonringu Dragon Ring Dragon Ring
バイルダーリング bairuda-ringu Beholder Ring Watcher Ring
チビデビルリング chibidebiruringu Chibidevil Ring Imp's Ring
デーモンリング de-monringu Demon Ring Amulet Ring
リストバンド risutobando Wristband Wristband

Items

Japanese Romaji English Woolsey
まんまるドロップ manmaridoroppu Round Drop Candy
ぱっくんチョコ pakkunchoku Chomp Chocolate Chocolate
ロイヤルゼリー roiyaruzari- Royal Jelly Royal Jam
魔法のくるみ seireinokurumi Spirit Walnut Faerie Walnut
プイプイ草 poipoikusa Poipoiwort Medical Herb
天使の聖杯 tenshinoseihai Angel's Grail Cup of Wishes
魔法のロープ mahounoro-pu Magic Rope Magic Rope
風の太鼓 kazenotaiko Wind Drum Flammie Drum
モーグリベルト mo-guriberuto Mowgli's Belt Moogle Belt
ちびっ子ハンマー chibikkohanma- Midget Hammer Midge Mallet
タル taru Barrel Barrel

Elementals

Japanese Romaji English Woolsey
ノーム no-mu Gnome Gnome
ウンディーネ undi-ne Undine Undine
サラマンダー saramanda- Salamander Salamando
ジン jin Jinn Sylphid
ルナ runa Luna Luna
ドリアード doria-do Dryad Dryad
シェイド sheido Shade Shade
ウィルオウィスプ uiruouisupu Will'o'Wisp Lumina

Spells

Japanese Romaji English Woolsey
アースクエイク a-sukueiku Earthquake Earth Slide
ダイヤミサイル daiyamisairu Diamond Missile Gem Missle
スピードダウン supi-dodaun Speed Down Speed Down
ストーンセイバー suto-nsaiba- Stone Saber Stone Saber
クイック kuikku Quick Speed Up
プロテクト purotekuto Protect Defender
フリーズ furi-zu Freeze Freeze
アヒッドストーム ahiddosuto-mu Acid Storm Acid Storm
スポイト supoito Spoit Energy Absorb
アイスセイバー aisusaiba- Ice Saber Ice Saber
リフレッシュ rifuresshu Refresh Remedy
ヒールウォーター hi-ruuo-ta- Heal Water Cure Water
ファイアボール faiabo-ru Fireball Fireball
エクスプロード ekusupuro-do Explode Exploder
ラーバウェイブ ra-baueibu Lava Wave Lava Wave
フレイムセイバー fureimusaiba- Flame Saber Flame Saber
ファイアカクテル faiakakuteru Fire Cocktail Fire Bouquet
ブレイズウォール bureizuuo-ru Blaze Wall Blaze Wall
エアブラスト eaburasto Air Blast Air Blast
サンダーボルト sanda-boruto Thunderbolt Thunderbolt
サイレンス sairensu Silence Silence
サンダーセイバー sanda-saiba- Thunder Saber Thunder Saber
バルーン baru-n Balloon Balloon
ディテクト ditekuto Detect Analyzer
ボディチェンジ bodichenji Body Change Change Form
アブソーブ abuso-bu Absorb Magic Absorb
ルナティック runatikku Lunatic Lunar Magic
ムーンセイバー mu-nsaiba- Moon Saber Moon Saber
ラッシュ rasshu Rush Lunar Boost
エナジーボール enaji-bo-ru Energy Ball Moon Energy
スリープフラワー suri-pufurawa- Sleep Flower Sleep Flower
バースト ba-suto Burst Burst
マナ mana Mana Mana Magic
リバイブ ribaibu Revive Revivifier
カウンタマジック kauntamajikku Counter Magic Wall
イビルゲート ibiruge-to Evil Gate Evil Gate
ダークフォース da-kufo-su Dark Force Dark Force
アンティマジック antimajikku Anti-Magic Dispel Magic
ホーリーセイバー ho-ri-saiba- Holy Saber Light Saber
セイントビーム saintobi-mu Saint Beam Lucent Beam
ティンクルバリア tinkurubaria Tinkle Barrier Lucid Barrier

Monsters

Japanese Romaji English Woolsey
ラビ rabi Rabite Rabite
ビービー bi-bi Bee Bee Buzz Bee
マイコニド maikonido Myconid Mushboom
ポロン poron Poron Chobin Hood
バドフラワー badofurawa- Bud Flower Lullabud
ガルフィッシュ garufisshu Galfish Iffish
ゴブリン goburin Goblin Kid Goblin
あいすぱい aisupai Eye Spy Eye Spy
グリーンスライム gurensuraimu Green Slime Green Drop
スペクター supekuta- Specter Specter
バットラー battora- Battler Blat
ゴブリンロード goburnro-do Goblin Lord Goblin
サハギン sahagin Sahagin Water Thug
マジカルチェア majikaruchea Magical Chair Polter Chair
ゴブリンガード goburinga-do Goblin Guard Ma Goblin
ダークスモッグ da-kusumokku Dark Smoke Dark Funk
クロウラー kuroura- Crawler Crawler
プチポセイドン puchiposaidon Petit Poseidon Ice Thug
ゾンビ zonbi Zombie Zombie
ガラシャ garasha Garasha Kimono Bird
ラビリオン rabirion Rabillion Silktail
ブラッドアウル buraddoauru Blood Owl Nemesis Owl
モールベア mo-rubea Molebear Pebbler
バンプキンボム banpukinbomu Bumpkin Bomb Pumpkin Bomb
デスクラブ desukurabu Death Crab Steamed Crab
ユニコーンヘッド weniko-nheddo Unicorn Head Chess Knight
ウィザードアイ uiza-doai Wizard Eye Wizard Eye
ジャッカル jakkaru Jackal Howler
ポロビンフット porobinfutto Porobin Foot Robin Foot
ガスクラウド gasukuraudo Gas Cloud LA Funk
ダークバット da-kubatto Dark Bat Grave Bat
ウェアウルフ ueaurufu Werewolf Werewolf
シャドウ X3 shadou X3 Shadow X3 Shadow X3
イビルソード ibiruso-do Evil Sword Evil Sword
ダークプリースト da-kupuri-suto Dark Priest Tomato Man
マジックブック majikkubukku Magic Book Mystic Book
デススコーピオン desusuko-pion Death Scorpion Sand Stinger
ダックソルジャー dakkusoruja- Duck Soldier Mad Mallard
タールマン ta-ruman Tallman Emberman
レッドマシュマロ reddomashumaro Red Marshmallow Red Drop
コカトリス kokatorisu Cockatrice Eggatrice
ボムビー bomubi- Bomb Bee Bomb Bee
ダースマタンゴ da-sumatango Death Matango Mushgloom
ブラッドパンジー buraddopanji- Blood Pansy Trap Flower
キラーフィッシュ kira-fisshu Killer Fish Dinofish
ミミックン mimikkun Mr. Mimic Mimic Box
シャドウ X1 shadou X1 Shadow X1 Shadow X1
ガラシャラム garasharamu Garasharam Kimono Wizard
ゴースト go-suto Ghost Ghost
メタルクロウラー metarukuroura- Metal Crawler Metal Crawler
スパイダーレッグ supaida-reggu Spider Leg Spider Legs
バイルダー bairuda- Beholder Weepy Eye
トータスナイト to-tasunaito Tortoise Knight Shellblast
ビーストゾンビ bi-sutozonbi Beast Zombie Beast Zombie
グール gu-ru Ghoul Ghoul
チビデビル chibidebiru Chibidevil Imp
ブルーババロア buru-babaroa Blue Bavarois Blue Drop
セイレーングレル saire-ngureru Siren Grell Marmablue
デーモンヘッド de-monheddo Demon Head Fierce Head
グリフォンハンド gurifonhando Gryphon Hand Griffin Hand
ニードリオン ni-dorion Needleon Needlion
メタルクラブ metarukurabu Metal Crab Metal Crab
アーマーナイト a-ma-naito Armor Knight Armored Man
シャドウ X2 shadou X2 Shadow X2 Shadow X2
カオスソーサラー kaosuso-sara- Chaos Sorcerer Eggplant Man
ダックジェネラル dakkujeneraru Duck General Captain Duck
グレネードボム gurene-dobomu Grenade Bomb Nitro Pumpkin
タートルナイト ta-torunaito Turtle Knight Turtlance
ヘルウォーター heruuo-ta- Hellwater Tsunami
バジリスク bajirisuku Basilisk Basilisk
グレムリン guremurin Gremlin Gremlin
メタルスコーピオ metarusukopio Metal Scorpio Steelpion
ニンジャ ninja Ninja Dark Ninja
メタルバイルダー metarubairuda- Metal Beholder Whimper
ヘルハウンド heruhaundo Hellhound Heck Hound
サタンヘッド satanheddo Satan Head Fiend Head
デビルマガジン debirumagajin Devil Magazine National Scar
ダークストーカー da-kusuto-ka- Dark Stalker Dark Stalker
ダークナイト da-kunaito Dark Knight Dark Knight
シェイプシフター sheipushifuta- Shapeshifter Shape Shifter
ウルフデビル urufudebiru Wolf Devil Wolf Lord
エレメントソード erementoso-do Element Sword Doom Sword
ターミネーター ta-mine-ta- Terminator Terminator
マスターニンジャ masuta-ninja Master Ninja Master Ninja
クリスタルオーブ kurisutaruo-bu Crystal Orb Crystal Orb
宝箱 takarabako Treasure Chest Treasure Chest

Bosses

Japanese Romaji English Woolsey
マンティスアント mantisuanto Mantis Ant Mantis Ant
ルームガーダー ru-maga-da- Room Gaurder Wall Face
バド bado Bud Tropicallo
ミノタウロス minotaurosu Minotauros Minotaur
タイガーキメラ taiga-kimera Tiger Chimera Spikey Tiger
ジャバウォック jabauokku Jabberwock Jabberwocky
アックスビーク akkusubi-ku Axe Beak Spring Beak
フロストギガース furosutogiga-su Frost Gigas Frost Gigas
パックンドラゴン pakkundoragon Chomp Dragon Snap Dragon
マシンライダー mashinraida- Machine Rider Mech Rider
サタンズウォール satanzuuo-ru Satan's Wall Doom's Wall
バンパイア banpaia Vampire Vampire
メタルマンティス metarumantisu Metal Mantis Metal Mantis
マシンライダー2 mashinraida- 2 Mashine Rider 2 Mech Rider
ガーディアン ga-dian Guardian Kilroy
ゴーゴンタウロス go-gontaurosu Gorgontauros Gorgon Bull
ブラッドローパー buraddoro-pa- Blood Roper Brambler
オチューフェイス ochu-feisu Ochu Face Boreal Face
グレートボア gure-toboa Great Boa Great Viper
ヒューポスライム hu-posuraimu Hyposlime Lime Slime
バイオキメラ baiokimera Biochimera Blue Spike
ガーダーズアイ ga-da-zuai Guarder's Eye Chamber's Eye
ヒドラ hidora Hydra Hydra
メガゾーン megazo-n Megazorn Aegagropilon
ラミアンナーガ ramianna-ga Lamian Naga Hexas
デスマシン desumashin Death Machine Kettle Kin
ぱっくんオタマ pakkunotamu Chomp Tadpole Tonpole
マシンライダー3 mashinraida- 3 Machine Rider 3 Mech Rider
ホワイトドラゴン howaitodoragon White Dragon Snow Dragon
ファイアギガース faiagiga-su Fire Gigas Fire Gigas
レッドドラゴン reddodoragon Red Dragon Red Dragon
ヘルフェニックス herufenikkusu Hell Phoenix Axe Beak
ブルードラゴン buru-doragon Blue Dragon Blue Dragon
バンパイアロード banpaiaro-do Vampire Lord Buffy
ダークリッチ da-kuricchi Dark Lich Dark Lich
ぱっくんトカゲ pakkuntokage Chomp Lizard Biting Lizard
ドラゴンウォーム doragonuo-mu Dragon Worm Dragon Worm
ウイスポスライム uisuposuraimu Wisp Slime Dread Slime
サンダーギガース sanda-giga-su Thunder Gigas Thunder Gigas
サタンズアイ satanzuai Satan's Eye Doom's Eye
神獣 shinjuu Godbeast Mana Beast

Event Data / イベントコード

1F 01  プリムの仲間加入時の名前を決める&武器のグローブ入手(プリム初期装備)
2B 01  プリム加入
1F 02  ポポイの仲間加入時の名前を決める&武器のブーメラン入手(ポポイ初期装備)
2B 02  ポポイ加入
24 1B  全回復
1F 06  現在地でセーブ(表示上はポトス村セーブになる)

Item Storage

Check Item Count

$D0/D9B9 4A LSR A A:0040 X:0000 Y:0000 P:envmxdIzc
$D0/D9BA 4A LSR A A:0020 X:0000 Y:0000 P:envmxdIzc
$D0/D9BB 4A LSR A A:0010 X:0000 Y:0000 P:envmxdIzc
$D0/D9BC 4A LSR A A:0008 X:0000 Y:0000 P:envmxdIzc
$D0/D9BD 4A LSR A A:0004 X:0000 Y:0000 P:envmxdIzc
$D0/D9BE 60 RTS   A:0002 X:0000 Y:0000 P:envmxdIzc

Buying Allowed (Less Than 4 Items):

$C0/6552 BF 00 CC 7E LDA $7ECC00,x[$7E:CC49] A:0000 X:0049 Y:0001 P:envMxdIZC
$C0/6556 18          CLC                     A:0060 X:0049 Y:0001 P:envMxdIzC
$C0/6557 69 20       ADC #$20                A:0060 X:0049 Y:0001 P:envMxdIzc
$C0/6559 C9 9F       CMP #$9F                A:0080 X:0049 Y:0001 P:eNVMxdIzc
$C0/655B B0 EA       BCS $EA [$6547]         A:0080 X:0049 Y:0001 P:eNVMxdIzc
$C0/655D 80 1B       BRA $1B [$657A]         A:0080 X:0049 Y:0001 P:eNVMxdIzc
$C0/657A 48          PHA                     A:0080 X:0049 Y:0001 P:eNVMxdIzc
$C0/657B AD 21 18    LDA $1821 [$00:1821]    A:0080 X:0049 Y:0001 P:eNVMxdIzc
$C0/657E 0A          ASL                     A A:0000 X:0049 Y:0001 P:enVMxdIZc
$C0/657F 0A          ASL                     A A:0000 X:0049 Y:0001 P:enVMxdIZc
$C0/6580 0A          ASL                     A A:0000 X:0049 Y:0001 P:enVMxdIZc
$C0/6581 0A          ASL                     A A:0000 X:0049 Y:0001 P:enVMxdIZc
$C0/6582 0A          ASL                     A A:0000 X:0049 Y:0001 P:enVMxdIZc
$C0/6583 0A          ASL                     A A:0000 X:0049 Y:0001 P:enVMxdIZc
$C0/6584 03 01       ORA $01,s [$00:01DF]    A:0000 X:0049 Y:0001 P:enVMxdIZc
$C0/6586 83 01       STA $01,s [$00:01DF]    A:0080 X:0049 Y:0001 P:eNVMxdIzc
$C0/6588 68          PLA                     A:0080 X:0049 Y:0001 P:eNVMxdIzc
$C0/6589 9F 00 CC 7E STA $7ECC00,x[$7E:CC49] A:0080 X:0049 Y:0001 P:eNVMxdIzc
$C0/658D A9 00       LDA #$00                A:0080 X:0049 Y:0001 P:eNVMxdIzc
$C0/658F 8F 0F CF 7E STA $7ECF0F[$7E:CF0F]   A:0000 X:0049 Y:0001 P:enVMxdIZc
$C0/6593 60          RTS                     A:0000 X:0049 Y:0001 P:enVMxdIZc

Buying Not Allowed (4 Items)

$C0/6531 BF 00 CC 7E LDA $7ECC00,x[$7E:CC49] A:0011 X:0049 Y:0001 P:eNvMxdIzc
$C0/6535 C9 FF       CMP #$FF                A:0080 X:0049 Y:0001 P:eNvMxdIzc
$C0/6537 F0 12       BEQ $12 [$654B]         A:0080 X:0049 Y:0001 P:eNvMxdIzc
$C0/6539 29 1F       AND #$1F                A:0080 X:0049 Y:0001 P:eNvMxdIzc
$C0/653B CD 20 18    CMP $1820 [$00:1820]    A:0000 X:0049 Y:0001 P:envMxdIZc
$C0/653E F0 12       BEQ $12 [$6552]         A:0000 X:0049 Y:0001 P:envMxdIZC
$C0/6552 BF 00 CC 7E LDA $7ECC00,x[$7E:CC49] A:0000 X:0049 Y:0001 P:envMxdIZC
$C0/6556 18          CLC                     A:0080 X:0049 Y:0001 P:eNvMxdIzC
$C0/6557 69 20       ADC #$20                A:0080 X:0049 Y:0001 P:eNvMxdIzc
$C0/6559 C9 9F       CMP #$9F                A:00A0 X:0049 Y:0001 P:eNvMxdIzc
$C0/655B B0 EA       BCS $EA [$6547]         A:00A0 X:0049 Y:0001 P:envMxdIzC
$C0/6547 A9 02       LDA #$02                A:00A0 X:0049 Y:0001 P:envMxdIzC
$C0/6549 80 44       BRA $44 [$658F]         A:0002 X:0049 Y:0001 P:envMxdIzC
$C0/658F 8F 0F CF 7E STA $7ECF0F[$7E:CF0F]   A:0002 X:0049 Y:0001 P:envMxdIzC
$C0/6593 60          RTS                     A:0002 X:0049 Y:0001 P:envMxdIzC

Selling

$C0/7DB1 C2 30       REP #$30                A:0006 X:FB9C Y:0001 P:envmxdIzc
$C0/7DB3 A0 0B 00    LDY #$000B              A:0006 X:FB9C Y:0001 P:envmxdIzc
$C0/7DB6 AE 3E 18    LDX $183E [$00:183E]    A:0006 X:FB9C Y:000B P:envmxdIzc
$C0/7DB9 BF 00 CC 7E LDA $7ECC00,x[$7E:CC48] A:0006 X:0048 Y:000B P:envmxdIzc
$C0/7DBD E0 48 00    CPX #$0048              A:FF40 X:0048 Y:000B P:eNvmxdIzc
$C0/7DC0 90 12       BCC $12 [$7DD4]         A:FF40 X:0048 Y:000B P:envmxdIZC
$C0/7DC2 E2 20       SEP #$20                A:FF40 X:0048 Y:000B P:envmxdIZC
$C0/7DC4 38          SEC                     A:FF40 X:0048 Y:000B P:envMxdIZC
$C0/7DC5 E9 20       SBC #$20                A:FF40 X:0048 Y:000B P:envMxdIZC
$C0/7DC7 9F 00 CC 7E STA $7ECC00,x[$7E:CC48] A:FF20 X:0048 Y:000B P:envMxdIzC
$C0/7DCB 29 F0       AND #$F0                A:FF20 X:0048 Y:000B P:envMxdIzC
$C0/7DCD D0 5B       BNE $5B [$7E2A]         A:FF20 X:0048 Y:000B P:envMxdIzC
$C0/7E2A C2 20       REP #$20                A:FF20 X:0048 Y:000B P:envMxdIzC
$C0/7E2C A9 00 00    LDA #$0000              A:FF20 X:0048 Y:000B P:envmxdIzC
$C0/7E2F 60          RTS                     A:0000 X:0048 Y:000B P:envmxdIZC

Update Limit to 9 Items

The changes to alter the limit to 9.

Check if Odd:
F0 12 29 1F
F0 12 29 0F

Increase Item & Call Check for Max Limit:
69 20 C9 9F
69 10 C9 9F

Convert Quantity:
4A 4A 4A 4A 4A 60
4A 4A 4A 4A EA 60

Decrease and Save:
E9 20 9F 00 CC 7E
E9 10 9F 00 CC 7E

Add New if First:
AD 20 18 09 20
AD 20 18 09 10

Hide Odd Values:
F0 0B 29 1F 00
F0 0B 29 0F 00

Show Item:
D0 02 29 1F
D0 02 29 0F

Use Item:
83 01 98 29 1F
83 01 98 29 0F

BF 48 CC 7E 29 1F
BF 48 CC 7E 29 0F

63 01 29 E0
63 01 29 F0

10 02 A0 E0
10 02 A0 F0

9F 48 CC 7E 29 E0
9F 48 CC 7E 29 F0

Selling:
D0 05 29 1F 00 (Show)
D0 05 29 0F 00

BF 00 CC 7E 29 1F (Sell)
BF 00 CC 7E 29 0F

Secret_of_Mana_Item_Limit_Increase.7z

Map decompression originally described by Michael1 (Alchemic) and an anonymous [ID:JJuQ5DDK] Japanese BBS source.
Title, SPC and event decompression and data described by an anonymous [ID:JJuQ5DDK] Japanese BBS source.
Tileset 16x16 compression described by Mop / Moppy.
Icon compression described by MathOnNapkins.
English Script commands described by Sephiroth3.
Drop item format described in-depth by deflaktor.
Boss graphic decompression and Item storage described by flow.