Current Documentation: http://www.suikosource.com/games/bugs.php?game=gs2
Git repository: http://github.com/pyriell/gs2-bugfixes
The latest fixes go here first. If you want them, the easiest way is downloading a zip of the repository. It's structured similarly to the released patches, and the same instructions apply.
How to improve a classic? Make it work right.
Over the last week or so, I've worked up a series of codes that can fix the more egregious bugs in the game. However, having to constantly play with codes on, so that you can enjoy the game as the makers intended it, rather than how they implemented it, is rather dodgy. To that end, I've cobbled together all the fixes into a PPF patch file that can be applied to an ISO of the game. I'm in the process of play-testing it, but one person can't test everything. So if anyone is interested, just PM me and I'll send you a link to the PPF file. Obviously, you'll need to be playing on an emulator or modified console to use the patched image/disc.
The file was made to target an unstripped ISO of the NTSC (U)/North American version of the game, 513,907,296 bytes in size, SHA1: 123ad3a15b3f634afd2ba0144405f9d156417907, CRC32: 7FBE0579. It contains the following fixes.
Code: Select all
FILE: /CDROM/010_ARA/VA11.BIN
FILE OFFSET ORIGINAL VALUE NEW VALUE COMMENT
0x31820 B5AEA598C2A2000000 47191E1F2411252200 Minotaur monster name (Tenzan)
0x34310 841E1480B797C3A200 471117252300000000 Magus monster name (Tenzan)
0x378F8 9CB7BE000000000000 3D18191D1522110000 Chimera monster name (Tenzan)
0x28784 D4621380D4621380F0621380F06213800C6313802863138028631380446313804463138060631380
******* D46213807C631380F0621380986313800C63138028631380B4631380446313804463138060631380
******* Add Chimera formations to Encounter Table
FILE: /SLUS_009.58
FILE OFFSET ORIGINAL VALUE NEW VALUE COMMENT
0x37B7C 1000A28FE8880208211022021000A28F 1000A283E8880208211022021000A283 Fix Recruit at lv. 99 bug.
FILE: /CDROM/150_BPRG/BUFF0/BP0_AFT.BIN
FILE OFFSET ORIGINAL VALUE NEW VALUE COMMENT
0x2998 D6FF4524 D5FF4524 Fix Recipe Bugs (Recipes 1-24).
0x29E4 21805402 21807402 ibid
0x2A00 07106202 07104202 ibid
0x2A34 E1FF4524 E0FF4524 Fix Recipe Bugs (Recipes 25-40).
0x2A80 21805402 21807402 ibid
0x2A9C 07186302 07184302 ibid
FILE: /CDROM/080_ARH/VH10.BIN
FILE OFFSET ORIGINAL VALUE NEW VALUE COMMENT
0x9AC8 1766021C0608FFFE 1766021C0640FFFE Fix Lamb/Chest "Got" overlap in Unicorn Woods (Display).
0x9E58 06086500B00108FF 06406500B00108FF Fix Lamb/Chest "Got" overlap in Unicorn Woods (Treasure Available).
I'll also entertain suggestions for replacing things in game. For instance, if the Solitude Crystal works properly, I could stick it in a chest somewhere. One of the three necklaces in the Unicorn Woods could be easily replaced. You've got your castle when you reach that point, so it seems like a good time to hand you a rune that rewards the hero for going it alone. This would be mostly separate from the bug-fixes, though. Personally, I'd like to have one of the enemies in the Window area drop Prosperity Runes with maybe a 1%-2% chance, so you can farm them and earn your upgrade money by hunting, instead of cheating or playing Chinchorin. I don't think everybody would agree with that, though.
Edit:2015-01-17
Archive copy of the wiki: Suikoden Bug Fixes archive.
This contains some information that hasn't been re-hosted elsewhere, such as data compression, analysis of the G1 import script and squirrels, and a mostly correct breakdown of character encoding. If the Japanese encoding is available elsewhere, it's on some esoteric Japanese website that I've never seen.
Convenience Scripts for IDA.
If you're using IDA, this archive contains a couple of IDC scripts I wrote to make working with Suikoden II easier. The psxparse_s2.idc script will identify code, pointers, and one or two other things in GS2 BIN modules and forces IDA to analyze them automatically. Realistically, it should work on almost any PSX game that uses a similar setup for its executable modules. In my experience Konami games are a bit of an oddity, though. The script may only be useful in GS1 and GS2. The second script s2_selstring.idc allows you to select data you believe is a string, and with a button press will parse it an create a comment containing an equivalent ASCII string. This works within reason. Some values with no ASCII equivalents must be skipped or encoded in control characters. The script searches from the cursor location until it finds a terminating null character up to 255 characters.
I assign these scripts to key presses in my IDA config. Loading a module file becomes as easy as opening it with the right processor and hitting, say, CTRL+3 to force an initial analysis, rather than identifying all the code manually. Sometimes things are missed, but usually 90% or more is properly identified.
Bugs and Improvements to be Worked
Confirmed, Multiple Versions
- Gremio rubbish text and crash if you try to sail away from Banner Village with him in tow.
- Fixed in NA version (download Git repository)
- Escape Talisman in North Sparrow
- Fixed in NA version (download Git repository)
- Give Tai Ho bonuses in G1 load
- Added in NA version (download Git repository)
- Rune transfer in G1 load
- Added in NA version (download Git repository)
- Turtle Plans 4 in climbing mini-game can be won multiple times.
- Fixed in NA version (download Git repository)
- Emilia in Greenhill may refer to hero by the wrong name.
- Fixed in NA version (download Git repository)
- Inn bug fix causes you to not heal if you save and immediately quit.
- Fixed in NA version (download Git repository)
- Gregminster shop has two sets of rare finds.
- Fixed in NA version (download Git repository)
- Adlai recruitment doesn't destroy items if they're equipped (wooden shield, jizo, wind crystal).
- Random gibberish text.
- Game-ending triggered during Greenhill events (may not be able to repro).
- Sacrificial Jizos may cause crash (two broken by counters in Luca battle?). May not be able to repro.
- Another possibility that is quick to test for the Jizo: the last Jizo to break was one I used to recruit Adlai with. There's a bug mentioned elsewhere that if you use items that are currently equipped when you recruit Adlai, it doesn't actually consume the item. If that was the Jizo that broke, it may have to do with some messed up item flags that result from that bug. I will try to test this out during my next playthrough.
- Invisible third option causes crash during Valeria/Kasumi recruitment in German version.
- Fixed (download Git repository)
- While defending Two River, you have to fight against some Highland soldiers. Then you get to make a choice between going to the Kobolds or to fight against more Highland soldiers. The game seems to crash after the last of these fights.
- Fixed (download Git repository)
- Scroll shop fix may cause crashes.