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 : Yes0x00 : No |
7E1846 |
Ring Menu | Sub Ring Menu Magic Category/ Weapon being forged |
0x00 : Gnome/Talon0x01 : Undine/Sword0x02 : Salamando/Axe0x03 : Sylphid/Lance0x04 : Luna/Whip0x05 : Dryad/Bow0x06 : Shade/Boomerang0x07 : Lumina/Javelin |
7E1847 |
Ring Menu | Ring Menu Mode | 0x00 : Use/Equip0x01 : Buy0x02 : Sell0x03 : 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 / 不明、通常は800x2 : Unable to move0x4 : 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 / ティンクルバリア |
Menu Icons
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 / 圧縮優先度 / 予想
0x80
-0xFF
0x00
-0x7F
Seiken Densetsu 2 Boss Graphic Compression
The game handles boss sprites in the following way:
- Read pointers for compressed tiles.
- Write compressed data from ROM via blockmove to WRAM.
- 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 / 圧縮優先度 / 予想
0xC0
-0xEF
- The most efficient, if this isn't efficient go to 2. / のうち 最も効率がいいもの (効率がよくない場合は下へ)0xF0
-0xF7
- The most efficient, if this isn't efficient go to 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
orXX = 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.