Proto:Lufia II: Rise of the Sinistrals
This page details one or more prototype versions of Lufia II: Rise of the Sinistrals.
In July 2012, ASSEMbler games forum member Jackhead purchased a Japanese Estpolis Denki II prototype PCB from famous prototype collector DreamTR. While attempting to dump the chips with a Willem EPROM programmer, at least one of the chips suffered corruption. With no way to undo the damage, Jackhead resold the prototype to Trevormacro. With some examination of the crash logs, enough of the corrupt bytes were identified to get the game up and running. After documenting a mostly complete playthrough of the game in a forum thread, Trevormacro released the prototype along with an IPS patch file on July 12, 2013.
The unmodified corrupt prototype has a size of 2,621,440 bytes / 20 megabit (same as final) with the following MD5: D8CC3BDF62E42B3EE95326DEE3E910BE
The prototype contains significant differences. A textbox displayed during the game's ending includes a date of 7/18/1994, indicating that the build is from that date or later.
- 1 Corrupt Bytes
- 2 Unused Graphics
- 3 Known Bugs
- 4 Debug Mode
- 5 Unused Debugging Features
- 6 Differences Between Prototype and Final Version
- 6.1 Audio Differences
- 6.2 Enemy Differences
- 6.3 Graphical Differences
- 6.4 Item Differences
- 6.5 Location Differences
- 6.6 Shop Differences
- 6.7 Spell Differences
- 7 Hidden Tiles
A list of known bytes damaged. See the Notes page for more details. EPROM writing clears bits; the corrupt bytes will have a lower value than their original state.
0x000000 0x00 -> 0x78 0x004000 0x02 -> 0xFA 0x004400 0x02 -> 0x03 0x006600 0x00 -> 0x51 0x016600 0x01 -> 0x69 0x077600 0x02 -> 0x1E
The corresponding locations of those seen on the first chip don't seem to be affected... More research required.
All characters have winposes after a fight, similar to the ones in the first game. They all look very rough and much different from even the used graphics in the proto, which would indicate they are leftovers from a very early build that never got updated graphics.
A list of currently known bugs. If the game crashes, it has the potential to erase the save data.
Lake Cave/Sundletan Shop
The shop referenced above sells a glitched/unfinished item "F", and simply opening this shop menu overwrites Maxim's name. If you attempt to rescue Tia in Lake Cave following this, the game crashes while attempting to process the player name:
This bug affected Jackhead's initial playthrough attempt, before the EPROM corruption occurred.
Lake Cave Entrance
If you save the game inside Lake Cave, the puzzle at the entrance is reset. Maxim is unable to leave as the water level is lowered and the wood planks are on the other side of the water. Likely caused by the puzzle solved flag being stored to a temporary address in RAM which gets cleared, instead of a more permanent address that gets saved to SRAM. You can walk through walls with the debug mode to leave.
Alunze Castle B5 Underground Waterway Barrier
When stepping on the switch pictured above after the thieves are washed away, the barrier is lowered but it still acts like a solid wall that can't be passed. One way to bypass this is to enter Pro Action Replay code 7F3F7200, step on the switch, and then disable the code. Alternately, use the "walk through walls" function of the debug mode.
Find the exact cause of the bug.
Tarantula Boss Battle
The bottom edge of the spider boss in Ruby Cave has glitched graphics while in its idle animation, and while attacking. It seems that when an enemy sprite has a y coord too close to the bottom half of the screen, it interferes with the battle GUI. This is also seen with the Gades boss battle (exists in the boss data, but not yet implemented into event data) which uses an extra large sprite. Not believed to be a corruption issue.
The final "PS" tile animation packet located at offset 0BB3A5-0BB3C6 (SNES address 97B3A5-97B3C6) used by four underwater locations is incomplete and will freeze the game a few seconds after entering the screen. This can be worked around by changing the A5B3 entries in the animation pointer table to 0000, which toggles animations off.
ID refers to the location index affected. The final column contains PAR codes to apply the fixes without having to make permanent changes in a hex editor.
|ID||Offset||Before After||Pro Action Replay|
|CD||020BCF||A5B3 -> 0000||848BCF00 + 848BD000|
|CE||020BD1||A5B3 -> 0000||848BD100 + 848BD200|
|D3||020BDB||A5B3 -> 0000||848BDB00 + 848BDC00|
|D4||020BDD||A5B3 -> 0000||848BDD00 + 848BDE00|
Talking To Enemies
In dungeons, if you run away from a battle then attempt to talk to the monster sprite you just ran from, the game crashes.
Staying At Inns
If you stay at an inn that charges money, the game doesn't check if you can afford it before subtracting the amount. If the result is less than zero, the total gold amount rolls over, giving you a ton of money.
The debug mode buried in the retail version exists in this build and is accessible without game enhancer cheats, but is in an earlier state with less features, and some other changes. It relies on the same 7E057C memory address, where the value is either $00 (off) or $FF (on).
To enable it, in a location, press Y + Start + Select and you'll hear a confirmation sound effect. To disable it, press L + R shoulder buttons (a sound effect will play for this, too).
Press Start to enter the first debug menu EV FLAGS.
- R - increase page
- L - decrease page
- A or B (in left column) - toggle flag (see Notes page for a list)
- A (in right column) - increase register
- B (in right column) - decrease register
- X - switch between EV FLAGS and TP FLAGS menus
- Y - go to debug main menu DEBUG COMMANDS
- Select - go to LOAD SAVE debug menu
Same controls as EV FLAGS apply.
- A - load previously saved data, or save the game
- B or Start - go to EV FLAGS menu
- A GO TO WMAP - Instantly teleports you to the world map.
- Y MASK OFF - Removes the masking effect in interior areas, allowing you to see the entire map, including what's "behind the black".
- X SET MASK - Re-enables the masking effect.
- B TRANS SC - Sprites that were disabled by SPR OFF reappear. Unknown if this is the sole intended purpose of this command.
- R SPR OFF - Removes all sprites from the screen; leave the screen to make them reappear. Also note that this only removes the graphic, not the coding, so it's possible to run into invisible enemies if this is used inside a dungeon.
Hex values displayed:
- 1st line - Maxim's current X coord and Y coord. RAM addresses 7E06B6, 7E06DE
- 2nd line - The X coord for the first 8 NPCs (towns) or enemies (dungeons). RAM addresses 7E06BE-7E06C5
- 3rd line - The Y coord for the first 8 NPCs (towns) or enemies (dungeons). RAM addresses 7E06E6-7E06ED
Move the cursor over SPELL or CAPSULE and press X for various bonuses:
- SPELL - Gives every character who can use magic all the spells they can carry.
- CAPSULE - Toggles whether or not the option can be selected. Capsule monsters are in a very preliminary state.
- Hold Y to dash and walk through walls.
- Press Select to enter a battle (not in locations where the tool ring can be brought up)
Add cycle sprites controls.
World Map (WMAP) Controls
- A - board airship
- Start - pause game
Prototype vs. Final Comparison
The coordinates hex values were replaced with console info and build details.
Dash/WTW was changed from Y to B and the trailing fire animation seen here was removed for the retail version:
Unused Debugging Features
Programming for this RAM/ROM monitor begins at $80C9C9, but no routine was found that calls it. Use PAR codes 80C71FC9 80C720C9 to access it in place of the debug menu load/save submenu.
- L - decrease bank
- R - increase bank
- Up - address -0x1000
- Down - address +0x1000
- Left - address -0x80
- Right - address +0x80
- Start - exit
Unknown Z0 Y1 Z1 XR YR
No programming was found related to this menu; only the text printing exists. The memory addresses for each entry are as follows (Z1 is a 16-bit value, all others are 8-bit):
- Z0 - 7E14C5
- Y1 - 7E00A0
- Z1 - 7E0051
- XR - 7E1465
- YR - 7E1485
All values are displayed in decimal format. It may be possible to determine its original purpose by the memory addresses used.
Differences Between Prototype and Final Version
Add song files to this page.
The prototype contains 4 tracks "PANICK", "SORA", "WAKARE2" and "SERENA" that were replaced in the final build with dummy ("DAMY") placeholders.
- PANICK - Song ID $0C. A "critical moment" type song. It's unused in the prototype, and unknown where it might have been used.
- SORA - Song ID $0E. The Excerion theme with a longer intro, which can also be heard on the Lufia II OST CDs. In the final, its song ID of $0E was dummied out and the replacement SORA added as song ID $39
- WAKARE2 - Song ID $30. Unused in the prototype, and unknown where it might have been used.
- SERENA - Song ID $31. The sad theme from Lufia 1, which can also be heard on the Lufia II OST CDs. "Serena" is Selan's japanese name.
Additionally, other songs contain small differences and/or are less polished than their final counterparts. In particular, Saigo Kessen ("The Final Decisive Battle") which is the background music of Doom Island, plays for only two loops in the prototype while in the final version it plays for two-and-a-half loops. The prototype also switches from a brass ensemble to a string ensemble for the second loop's intro, whereas the final version retains the brass ensemble for both loops.
PAR code 82DD3Bxx can be used to change the song that plays on the load screen.
These songs are NOT in the prototype ($39 SORA being the shorter Excerion theme):
Explain where these songs are used in the final, and what the prototype uses instead (e.g., the Mystic Stone areas use one of the tower tracks).
|37||NAZO NO HITO||3B||NAZONOFUE|
|38||KOKUUTOU DAS||3C||MUUS CYANGE|
Internal SPC Track Names
The decompressed SPCs contain a 16-byte header (see Notes for more details) which includes a short song title/description.
|05||TOU||18||BATL 1||2B||NAME IN|
|06||OPENING 2||19||BATL 2||2C||SHINDEN|
|10||PARTY||23||777 PLAY||36||ITEM GET4|
|11||WAKARE||24||777 JAC GAME|
PAR code 838071xx changes the sound effect played when debug mode is toggled (see Notes page for a list).
Rip graphics, a table of different enemies started below.
The Sinistrals all have different battle graphics.
The following enemies had their graphics and/or palettes changed:
There are seven names that were changed. Enemy $AC (a fake treasure chest monster) underwent a palette change to become a "new" enemy and match the color of the blue treasure chests found in the Ancient Cave (which wasn't added yet in the proto).
|ID||Prototype||Translation||Retail JP||Translation||Retail NA|
|09||リザード シャーマン||Lizard Shaman||リザード メイジ||Lizard Mage||Skull Lizard|
|AC||ゴールドミミック||Gold Mimic||ブルーミミック||Blue Mimic||Blue Mimic|
|BA||ネクロマンサーB||Necromancer B||しりょうつかい||Necromancer (lit. "User of the spirits of the dead")||Wizard|
|BB||ネクロマンサーC||Necromancer C||ダーク サモナー||Dark Summoner||Dark Sum'ner|
|BC||なまず||Catfish||おおなまず||Big Catfish||Big Catfish|
- Entry 09 only displays the first 8 characters in battle - リザード シャーマ Enemy names in the prototype can be up to 10 bytes, but the programming to display them only reads 8 bytes. The Japanese retail version shortens the maximum name length to 8 bytes, and required this enemy name to be changed in order to fit.
Several Japanese characters in the prototype were updated slightly in order to increase legibility in the final version.
Character $15 - The centered dot (known as an interpunct) swapped position with the three ellipses ($06EC, below). The reason for this change is the space saved when the more frequently occurring character can be represented by one byte instead of two.
1st row, 5th character (0504)
1st row, 12th character (050B)
1st row, 14th character (050D)
1st row, 15th character (050E)
1st row, 16th character (050F)
2nd row, 3rd character (0512)
2nd row, 4th character (0513)
2nd row, 5th character (0514)
2nd row, 7th character (0516)
3rd row, 11th character (052A)
4th row, 1st character (0530)
4th row, 7th character (0536)
4th row, 11th character (053A)
5th row, 3rd character (0542)
2nd row, 6th character (0615)
9th row, 2nd character (0681)
10th row, 16th character (069F)
15th row, 3rd character (06E3)
0752-077F in the prototype are placeholder blank squares, followed by a duplicate copy of 0600-067F (probably a fragment from a previous build) 0752-0778 in the retail version is a total of 39 new characters added.
6th row, 1st character (0750)
Submarine Shrine Floor Tiles
Move to Location subpage eventually.
The programmers forgot to update the reflection on the floor when the wall design used in the prototype was changed.
|Item ID P||Name||Translation||Item ID R||Name||Translation|
|Item ID P||Name||Translation||Item ID R||Name||Translation|
|0152||コイン10まい||10 Coins||018B||10まいセット||10 coin set|
|0153||コイン50まい||50 Coins||018C||50まいセット||50 coin set|
|0154||コイン100まい||100 Coins||018D||100まいセット||100 coin set|
In the prototype, keys don't have location specific names. Key 05 is found and used in two dungeons, clearly a mistake. You can use your Ruby Cave key in Gordovan West Tower to skip the immortal zombie puzzle. Keys 06 through 10 exist in the item data but weren't yet placed into treasure chests.
|Item ID||Name||Translation||Where it's found|
|015A||力ギ01||Key 01||Elcid North Cave|
|015B||力ギ02||Key 02||Alunze Northwest Cave|
|015C||力ギ03||Key 03||Tanbel Southeast Tower|
|015D||力ギ04||Key 04||Lake Cave|
|015E||力ギ05||Key 05||Ruby Cave, Gordovan West Tower|
You won't receive the effects of poison from swamps.
An item equivalent of the Soul spell (see Spell Differences section). It has a 50 Gold cost set in the item properties, but isn't found in any shops. Like the spell version, it's also unfinished - the only programming for it is to play the item used confirmation sound effect, and subtract 1 from the total quantity. Also like the spell version, this was originally an item in the first game. This item was removed in the retail version.
Item $0167 (Green tea) Description
The item name and properties for the Green tea (item $0167) weren't yet implemented. This causes the glitched "F" item in the Sundletan shop noted in the Bugs section. However, the text table of item descriptions does have an entry for it.
|Prototype||Translation||Retail JP||Translation||Retail NA|
|お茶っちゃ、あちゃちゃっちゃ||The tea is hot-hot-hot-hot-hot!||おいしいお茶です。世界中のおじいさんに愛飲されています。||Delicious tea. The usual drink of elderly men the world over.||Delicious green tea popular with people the world over.|
Elcid, Elcid South Cave, and Elcid North Cave.
Sundletan, Lake Cave, and the Shrine to Alunze Kingdom.
| Alunze part 1|
Alunze Kingdom, Foomy Woods, and Nikoru/Koniru (an unused village!).
| Alunze part 2|
| Alunze part 3|
Alunze Northwest Cave and Alunze North Shrine.
Tanbel and Tanbel Southeast Tower.
Clamento, Ruby Cave, and the Small Shrine to Parcelyte.
| Forfeit Island|
| Doom Island|
An early, unfinished map.
| Unknown shrine|
| Shrine of Daos|
The final dungeon and the ending.
| Mystic Stones|
The various Mystic Stone chambers. Early, unfinished maps using a completely different tileset.
A summary of map names that were changed. The name changes apply to all floors of a given location. For simplicity, the table below lists just the first floor (e.g., B1 for applicable dungeons)
Elcid North Cave, Elcid South Cave, Lexis Labs
|ID P/R||Prototype||Translation||Retail JP||Translation||Retail NA|
|42/40||メリクス 北の洞窟・B1||Merix North Cave B1||橋の洞窟・地下1||Cave Bridge B1||Cave Bridge B1|
|49/47||北の洞窟・B1||North Cave B1||北の迷宮・地下1||North Labyrinth B1||North Dungeon B1|
|A5/A3||まよいの山||Lost Mountain||帰れずの山||Mountain of No Return||Mountain of No Return|
|D3/CD||神の海底都市||Submarine City of the Gods||神の海底神殿||Submarine City of the Gods||Submarine Cave Shrine|
Skills shops can be found in Nikoru / Koniru, Tanbel, Parcelyte, Bound Kingdom, Narcysus, Treadool, Auralio Kingdom, Treble, Barnan and Chaed. Here, you can buy skills like Arrow and Bomb, which are normally found and used in the game's dungeons. This implementation is far different from what we got in the final version (and this prototype, where you start a new game with a full skill ring).
These shops feature a "Skill" graphic in the upper left corner and a wallpaper depicting a bow and arrow, bomb and chain links (from the Hook or Hammer).
The inventory for each Skills shop is identical no matter which village/city/kingdom you're in. There's ten total items for sale. All of the skills are available for purchase except the Fire arrow.
In these shops you can buy 2 upgraded versions of the bomb skill not seen in the retail version. However, they're identical to the original except for the name and cost.
Each character can equip certain skill tools, it seems
|0150||かまいたち||Whirlwind Sickle||3100 Gold|
Description for item $0148:
When you use this in battle, it damages all enemies.
Description for item $0150 (in prototype only, removed from final version):
After using the Whirlwind Sickle, it damages enemies.
Prevents you from receiving damage from things like poisonous swamps and lava.
This spell is not present in the retail version. It's called "Float" in Lufia 1, usage obvious, and it's a carryover from that game. The magic shop in Portravia stocks it at no cost. All party members can learn it except Guy (who can't learn any spells), and requires 2 MP to cast. It can be cast at any time from the menu, but isn't available in battle. Unfortunately, the spell is unfinished - the only programming for it is to play the confirmation sound effect that the spell was cast, and subtract the MP cost.
There are several invisible event and exit tiles located one step down from Maxim's position in the screenshots below.
Executes this event script starting at offset 0F2905 (SNES address 9EA905):
2B01 Add Selan 2B02 Add Guy 2B03 Add Artea 351A F201 (chrnum 26 in location index F2 related) 3529 F401 (chrnum 41 in location index F4 related) 16F2 6301 Warp to location index F2 Doom Island
(take a few steps down for the entrance event)
Also tacked on the script above are some commands used to instantly finish the game:
1A83 Set event flag $83 (destroyed Mystic Stone 3) 16F6 0207 Warp to location index F6 (final room) 00 end
However, there's no known way to reach this part of the script.
Either of the two tiles behind the tree executes this event script starting at offset 0F291E (SNES address 9EA91E):
2B04 Add Tia 1A0A Set event flag $0A (this is the same flag set when entering Tia's shop at the beginning of a new game, so no effect) 00 end
An entrance to an unused village!
Step on any of the top three dark blue edge tiles to warp to Doom Island location index $F2.
Unlike the Elcid hidden tile, no party members are added.
|The Lufia series|
|SNES||Lufia & The Fortress of Doom • Lufia II: Rise of the Sinistrals (Prototype)|
|Game Boy Color||Lufia: The Legend Returns|
|Game Boy Advance||Lufia: The Ruins of Lore|