Shin Megami Tensei: Nocturne(c) Atlus, 2003 Save State Hacking Guide Copyright 2018 Carlos Eugenio ****************************************************************************** This guide is licensed under the Creative Commons Attribution-Sharealike, avaiable here http://creativecommons.org/licenses/by-sa/2.0/legalcode Simplifying the legalese, that means that you are free to copy, print, distribute, and otherwise use this guide any way you want as long as you don't violate the license i.e. give credit where it is due! Derivative works of this guide are allowed provided that you credit me for the original work *AND* release it under this same license or another free, copyleft license compatible with Creative Commons Attribution-Sharealike. If you indeed produce a derivate, kindly inform me after it's done so I can enjoy it too and maybe even improve this guide (you will be credited for it too of course!) ****************************************************************************** Version History ------------------------------------ 2018 June 7: v. 0.1 -Initial version of this guide. There's still plenty of work ahead but I believe this is a good beginning :) ------------------------------------ This is a save state hacking guide for Shin Megami Tensei: Nocturne, a classic PS2 J-RPG by Atlus. Why I bothered writing this stuff? Well... . So I did fiddle a little with a hexeditor, a diff tool, some save states and now I want to share it with you, my dear lazy classic RPG gamer. Enjoy :) PS: This guide won't teach you hex editing. There are plenty of other guides out there who'll teach you better than I could. PS2: I used PCSX2. State hacking with PCSX2 is a bit tricky but I'll explain it in detail on section 1.0. PS3: Use this guide with moderation! You can ruin your fun if you go overboard and max out everything. In fact, I recommend that you beat the game first without cheating, and in subsequent replays hexedit away. Well, on to the guide... Index 1.0 Save state? 1.1 Main char offsets 1.2 Inventory 1.2.1 Normal items 1.2.2 Gems 1.2.3 SP items 1.3 Other Interesting offsets 1.4 Skill list 1.5 Thanks & contact info 1.0 Save state? Save state is a file with a snapshot of the game progress on a given instant. More specifically, its the CPU & Memory data on a given instant. This guide was made and tested on PCSX2 for Linux, as stated above. I guess that the files structure are the same on Linux and Windows but I cannot be certain, since I can't and won't install Windows just to test that. As I said earlier it takes some effort to hack the states. First thing, PCSX2 save states are compressed using zip, so before you edit anything at all you must decompress it (I used the zip utility on the command line, but I guess 7-Zip, WinRAR, etc should do the trick on Windows). Then you load a specific file on your hexeditor (more on that later), edit whatever you want, recompress the file, and now you can load the doctored save state on the emulator. A PCSX2 save state file is a zip archive which has the following structure: SLUS-20911\ \(E8FCF8EC\).01.p2s >> eeHwRegs.bin >> eeMemory.bin >> iopHwRegs.bin >> iopMemory.bin >> PCSX2 Internal Structures.dat >> PCSX2 Savestate Version.id >> Plugin GS.dat >> Plugin SPU2.dat >> Scratchpad.bin >> vu0Memory.bin >> vu0MicroMem.bin >> vu1Memory.bin >> vu1MicroMem.bin The file you want to edit is called 'eeMemory.bin', and it contains the emulated PS2 main memory (I guess). Again: unzip the file, open 'eeMemory.bin' on a hexeditor, edit whatever you want, zip the save again with your altered file, then load the save state on PCSX2. *BACKUP YOUR FILES* before you edit them to save yourself a lot of grief in case something goes wrong! Saving in two (or more) slots and editing only one of them does the trick neatly. Here's how I did it myself: $ cd ~/.config/PCSX2/sstates #goes to save states folder $ cp SLUS-20911\ \(E8FCF8EC\).01.p2s tmp.zip #copy sstate to temporary file $ unzip -j tmp.zip eeMemory.bin -d . #extract eeMemory.bin file $ ghex eeMemory.bin #hack eeMemory.bin on hexeditor $ zip -r tmp.zip eeMemory.bin #update save state file $ mv tmp.zip SLUS-20911\ \(E8FCF8EC\).01.p2s #move temp file to sstate name, #now you can reload it in PCSX2 1.1 Main char offsets Max HP/MP resets to a calculated value on level up so I wouldn't bother editing those. As a curiosity, lowering your level nets you stats points to distribute again when you eventually level up! As a side note, the value you're editing includes bonuses from your currently equipped Magatama, so have this in mind when setting the value... 0x1248F5A/0x1248F5B -- Current HP 0x1248F5C/0x1248F5D -- Max HP 0x1248F5E/0x1248F5F -- Current MP 0x1248F60/0x1248F61 -- Max MP 0x1248F64/0x1248F66 -- Experience 0x1248F68 -- Current level 0x1248F6A -- Current strength 0x1248F6C -- Current magic 0x1248F6D -- Current vitality 0x1248F6E -- Current agility 0x1248F6F -- Current luck 0x1248F8C -- # of skills learned 0x1248F8E/0x1248F8F -- 1st skill 0x1248F9C/0x1248F9D -- 8th skill 1.2 Inventory The inventory on Nocturne works this way: you select the item you want and you go to its offset and set how many of it you want there. For example, let's say you want 99 Tetraja Rocks. You go to its offset (0x1249E4D) and fill it 0x63. Easy, right? :) Same goes for gems. SP items are different, you can edit their values but they won't show up until you get them normally on the game (I guess, since I haven't tested this deeply yet). 1.2.1 Normal items 0x1249E2A Medicine 0x1249E2B Life Stone 0x1249E2C Bead 0x1249E2D Bead Chain 0x1249E2E Chakra Drop 0x1249E2F Chakra Pot 0x1249E30 Great Chakra 0x1249E31 Soma Droplet 0x1249E32 Soma 0x1249E33 Bead of Life 0x1249E34 Chakra Elixir 0x1249E35 Revival Bead 0x1249E36 Balm of Rising 0x1249E37 Sacred Water 0x1249E38 Dis-Poison 0x1249E39 Dis-Stun 0x1249E3A Dis-Charm 0x1249E3B Dis-Mute 0x1249E3B Dis-Stone 0x1249E3B Maragi Rock 0x1249E3B Mabufu Rock 0x1249E3B Mazio Rock 0x1249E40 Mazan Rock 0x1249E41 Mahama Rock 0x1249E42 Mamudo Rock 0x1249E43 Medigo Rock 0x1249E44 Megidola Rock 0x1249E45 Poison Arrow 0x1249E46 Wagtail Plume 0x1249E47 Makajam Rock 0x1249E48 Pot of Death[2] 0x1249E49 Reserve [1] 0x1249E4A Magic Mirror 0x1249E4B Attack Mirror 0x1249E4C Dekaja Rock 0x1249E4D Tetraja Rock 0x1249E4E St Incense 0x1249E4F Reserve [1] 0x1249E50 Ma Incense 0x1249E51 Vi Incense 0x1249E52 Ag Incense 0x1249E53 Lu Incense 0x1249E54 Blessed Fan 0x1249E55 Soul-Return 0x1249E56 Spyglass 0x1249E57 Reserve [1] 0x1249E58 Reserve [1] 0x1249E59 Reserve [1] 0x1249E5A Reserve [1] 0x1249E5B Reserve [1] 0x1249E5C Repulse Bell 0x1249E5D Attract Pipe 0x1249E5E Float Ball 0x1249E5F Light Ball 0x1249E60 Smoke Ball 0x1249E61 Reserve [1] 0x1249E62 DiviningWater[1 0x1249E63 Reserve [1] 0x1249E64 Reserve [1] 0x1249E65 Lucky Ticket 0x1249E66 Reserve [3] 0x1249E67 Reserve [3] 0x1249E68 Marogareh [4] 0x1249E69 Wadatsumi [4] 0x1249E6A Ankh [4] 0x1249E6B Iyomante [4] 0x1249E6C Shiranui [4] 0x1249E6D Hifumi [4] 0x1249E6E Kamudo [4] 0x1249E6F Narukami [4] 0x1249E70 Anathema [4] 0x1249E71 Miasma [4] 0x1249E72 Nirvana [4] 0x1249E73 Murakumo [3] 0x1249E74 Geis [3] 0x1249E75 Djed [3] 0x1249E76 Muspell [3] 0x1249E77 Gehena [4] 0x1249E78 Kamurogi [4] 0x1249E79 Satan [3] 0x1249E7A Adama [3] 0x1249E7B Vimana [4] 0x1249E7C Gundari [3] 0x1249E7D Sophia [4] 0x1249E7E Gaea [3] 0x1249E7F Kailash [4] 0x1249E80 Masakados [3] 0x1249E81 Reserve [3] 0x1249E82 Reserve [3] 0x1249E83 Reserve [3] 0x1249E84 Reserve [3] 0x1249E85 Reserve [3] 0x1249E86 Reserve [3] 0x1249E87 Reserve [3] 1.2.1 Gems 0x1249E88 Diamond 0x1249E89 Pearl 0x1249E8A Sapphire 0x1249E8B Emerald 0x1249E8C Ruby 0x1249E8D Jade 0x1249E8E Opal 0x1249E8F Amethist 0x1249E90 Agate 0x1249E91 Turquoise 0x1249E92 Garnet 0x1249E93 Reserve [1] 0x1249E94 Onyx 0x1249E95 Reserve [1] 0x1249E96 Coral 0x1249E97 Aquamarine 1.2.3 SP items 0x1249E98 Id Card [1] Dummy item, has a ingame description but can't be used in the field or during battle AFAIK [2] Shows on battle list of items but can't be used AFAIK [3] "You cheater!" (yes, that's the description!) There are some you can't drop after getting them so only mess with those if you're curious... [4] Magatama, does nothing special in your inventory. Even if you set a quantity above zero, they don't show up on the Magatama screen 1.3 Other Interesting offsets 0x1248F48/0x1248F4A -- Money 0x1248F41 -- Appears to be the current Kagutsuchi phase but changing it glitches the game 0x4F1A00 -- Looks like it's the Demonic Compendium but I'm not sure yet 0x1249E24 -- number of party members? (multiplies yourself if you are alone and set a value higher than 1, very fun to playaround) 0x0124A1FA/0x0124A1FB -- Equipped magatama, doesn't show on magatama menu unless both offsets are set at the same value. I haven't figured out yet how to make them all avaiable, stay tuned for upgrades to this guide ;) 1.4 Skill list Lots and lots of work to be done on this section yet... 0x0100 Agi 0x0200 Agilao 0x0300 Agidyne 0x0400 Maragi 0x0500 Maragion 0x0600 Maragidyne 0x0700 Bufu 0x0800 Bufula 0x0101 Fire of Sinai 1.5 Thanks & contact info -Thanks to Atlus, for this wonderful game, I enjoy it to this day! -Thanks to the free & open source software people! -Thanks to the GameFAQs people! You can reach me on demonsword at gmail dot com. Please, if you want to mail me, write in proper English so I can understand you. Offensive mails and spam will just be deleted without any reply. And please, I'm a busy man, so if I don't reply to you the same day/month/year/century don't be mad at me ok? :) ---EOF